From 94d436d6c2e64ec4fde95c39ceb1cbafa20f5cdf Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 25 Feb 2013 19:13:50 +0400 Subject: [PATCH] Better work with libraries names --- .../jet/utils/KotlinPathsFromHomeDir.java | 2 +- .../src/org/jetbrains/jet/utils/PathUtil.java | 1 + .../plugin/framework/FrameworkDetector.java | 23 ++++++++++++++++--- .../framework/JSLibraryDescription.java | 3 ++- .../JavaRuntimeLibraryDescription.java | 5 ++-- .../JavaRuntimePresentationProvider.java | 4 ++-- .../versions/KotlinRuntimeLibraryUtil.java | 2 -- 7 files changed, 28 insertions(+), 12 deletions(-) diff --git a/compiler/util/src/org/jetbrains/jet/utils/KotlinPathsFromHomeDir.java b/compiler/util/src/org/jetbrains/jet/utils/KotlinPathsFromHomeDir.java index 9d55256436a..40a324e8a7f 100644 --- a/compiler/util/src/org/jetbrains/jet/utils/KotlinPathsFromHomeDir.java +++ b/compiler/util/src/org/jetbrains/jet/utils/KotlinPathsFromHomeDir.java @@ -43,7 +43,7 @@ public class KotlinPathsFromHomeDir implements KotlinPaths { @Override @NotNull public File getRuntimePath() { - return getLibraryFile("kotlin-runtime.jar"); + return getLibraryFile(PathUtil.KOTLIN_JAVA_RUNTIME_JAR); } @Override diff --git a/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java b/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java index ac6a6aae443..7e2af59607f 100644 --- a/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java +++ b/compiler/util/src/org/jetbrains/jet/utils/PathUtil.java @@ -30,6 +30,7 @@ public class PathUtil { public static final String JS_LIB_JAR_NAME = "kotlin-jslib.jar"; public static final String JS_LIB_JS_NAME = "kotlinEcma3.js"; public static final String JDK_ANNOTATIONS_JAR = "kotlin-jdk-annotations.jar"; + public static final String KOTLIN_JAVA_RUNTIME_JAR = "kotlin-runtime.jar"; private static final File NO_PATH = new File(""); diff --git a/idea/src/org/jetbrains/jet/plugin/framework/FrameworkDetector.java b/idea/src/org/jetbrains/jet/plugin/framework/FrameworkDetector.java index 4055103a5b9..c0eb422f7db 100644 --- a/idea/src/org/jetbrains/jet/plugin/framework/FrameworkDetector.java +++ b/idea/src/org/jetbrains/jet/plugin/framework/FrameworkDetector.java @@ -1,3 +1,19 @@ +/* + * Copyright 2010-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.jetbrains.jet.plugin.framework; import com.google.common.collect.Lists; @@ -107,9 +123,10 @@ public class FrameworkDetector { @Override public Library compute() { for (Library library : getJavaScriptHeadersLibraries(module)) { - String libraryName = library.getName(); - if (libraryName != null && libraryName.contains(PathUtil.JS_LIB_JAR_NAME)) { - return library; + for (VirtualFile file : library.getFiles(OrderRootType.SOURCES)) { + if (file.getName().equals(PathUtil.JS_LIB_JAR_NAME)) { + return library; + } } } return null; diff --git a/idea/src/org/jetbrains/jet/plugin/framework/JSLibraryDescription.java b/idea/src/org/jetbrains/jet/plugin/framework/JSLibraryDescription.java index 972c32cf2e2..0c3611f070c 100644 --- a/idea/src/org/jetbrains/jet/plugin/framework/JSLibraryDescription.java +++ b/idea/src/org/jetbrains/jet/plugin/framework/JSLibraryDescription.java @@ -38,6 +38,7 @@ import java.util.Set; public class JSLibraryDescription extends CustomLibraryDescription { public static final LibraryKind KOTLIN_JAVASCRIPT_KIND = LibraryKind.create("kotlin-js-stdlib"); + public static final String LIBRARY_NAME = "KotlinJavaScript"; private static final String JAVA_SCRIPT_LIBRARY_CREATION = "JavaScript Library Creation"; @@ -78,7 +79,7 @@ public class JSLibraryDescription extends CustomLibraryDescription { return null; } - return new NewLibraryConfiguration(PathUtil.JS_LIB_JAR_NAME, getDownloadableLibraryType(), new LibraryVersionProperties()) { + return new NewLibraryConfiguration(LIBRARY_NAME, getDownloadableLibraryType(), new LibraryVersionProperties()) { @Override public void addRoots(@NotNull LibraryEditor editor) { editor.addRoot(VfsUtil.getUrlForLibraryRoot(targetFile), OrderRootType.SOURCES); diff --git a/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimeLibraryDescription.java b/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimeLibraryDescription.java index 5bc917a2c9e..6d6a12f5797 100644 --- a/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimeLibraryDescription.java +++ b/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimeLibraryDescription.java @@ -29,7 +29,6 @@ import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.plugin.framework.ui.FileUIUtils; -import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil; import org.jetbrains.jet.utils.PathUtil; import javax.swing.*; @@ -39,6 +38,7 @@ import java.util.Set; public class JavaRuntimeLibraryDescription extends CustomLibraryDescription { public static final LibraryKind KOTLIN_JAVA_RUNTIME_KIND = LibraryKind.create("kotlin-java-runtime"); + public static final String LIBRARY_NAME = "KotlinJavaRuntime"; private static final String JAVA_RUNTIME_LIBRARY_CREATION = "Java Runtime Library Creation"; @@ -79,8 +79,7 @@ public class JavaRuntimeLibraryDescription extends CustomLibraryDescription { return null; } - return new NewLibraryConfiguration( - KotlinRuntimeLibraryUtil.LIBRARY_NAME, getDownloadableLibraryType(), new LibraryVersionProperties()) { + return new NewLibraryConfiguration(LIBRARY_NAME, getDownloadableLibraryType(), new LibraryVersionProperties()) { @Override public void addRoots(@NotNull LibraryEditor editor) { editor.addRoot(VfsUtil.getUrlForLibraryRoot(targetFile), OrderRootType.CLASSES); diff --git a/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimePresentationProvider.java b/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimePresentationProvider.java index 41db0d3121e..ccd815764ab 100644 --- a/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimePresentationProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/framework/JavaRuntimePresentationProvider.java @@ -22,7 +22,7 @@ import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.plugin.JetIcons; -import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil; +import org.jetbrains.jet.utils.PathUtil; import javax.swing.*; import java.util.List; @@ -46,7 +46,7 @@ public class JavaRuntimePresentationProvider extends LibraryPresentationProvider @Override public LibraryVersionProperties detect(@NotNull List classesRoots) { for (VirtualFile root : classesRoots) { - if (root.getName().equals(KotlinRuntimeLibraryUtil.KOTLIN_RUNTIME_JAR)) { + if (root.getName().equals(PathUtil.KOTLIN_JAVA_RUNTIME_JAR)) { // TODO: Detect library version return new LibraryVersionProperties("Unknown"); } diff --git a/idea/src/org/jetbrains/jet/plugin/versions/KotlinRuntimeLibraryUtil.java b/idea/src/org/jetbrains/jet/plugin/versions/KotlinRuntimeLibraryUtil.java index b0b70131a1b..b6641a0390a 100644 --- a/idea/src/org/jetbrains/jet/plugin/versions/KotlinRuntimeLibraryUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/versions/KotlinRuntimeLibraryUtil.java @@ -58,8 +58,6 @@ import java.util.jar.Attributes; import java.util.jar.JarFile; public class KotlinRuntimeLibraryUtil { - public static final String LIBRARY_NAME = "KotlinRuntime"; - public static final String KOTLIN_RUNTIME_JAR = "kotlin-runtime.jar"; public static final String UNKNOWN_VERSION = "UNKNOWN"; private KotlinRuntimeLibraryUtil() {}