JS backend: add Specification-Title to manifest and LibraryUtils.isKotlinJavascriptLibrary
This commit is contained in:
@@ -33,9 +33,11 @@ public class LibraryUtils {
|
|||||||
|
|
||||||
public static final String TITLE_KOTLIN_JVM_RUNTIME_AND_STDLIB;
|
public static final String TITLE_KOTLIN_JVM_RUNTIME_AND_STDLIB;
|
||||||
public static final String TITLE_KOTLIN_JAVASCRIPT_STDLIB;
|
public static final String TITLE_KOTLIN_JAVASCRIPT_STDLIB;
|
||||||
|
public static final String TITLE_KOTLIN_JAVASCRIPT_LIB;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
String jsStdLib = "";
|
String jsStdLib = "";
|
||||||
|
String jsLib = "";
|
||||||
String jvmStdLib = "";
|
String jvmStdLib = "";
|
||||||
|
|
||||||
InputStream manifestProperties = LibraryUtils.class.getResourceAsStream("/manifest.properties");
|
InputStream manifestProperties = LibraryUtils.class.getResourceAsStream("/manifest.properties");
|
||||||
@@ -45,6 +47,7 @@ public class LibraryUtils {
|
|||||||
properties.load(manifestProperties);
|
properties.load(manifestProperties);
|
||||||
jvmStdLib = properties.getProperty("manifest.impl.title.kotlin.jvm.runtime");
|
jvmStdLib = properties.getProperty("manifest.impl.title.kotlin.jvm.runtime");
|
||||||
jsStdLib = properties.getProperty("manifest.impl.title.kotlin.javascript.stdlib");
|
jsStdLib = properties.getProperty("manifest.impl.title.kotlin.javascript.stdlib");
|
||||||
|
jsLib = properties.getProperty("manifest.spec.title.kotlin.javascript.lib");
|
||||||
}
|
}
|
||||||
catch (IOException e) {
|
catch (IOException e) {
|
||||||
LOG.error(e);
|
LOG.error(e);
|
||||||
@@ -56,6 +59,7 @@ public class LibraryUtils {
|
|||||||
|
|
||||||
TITLE_KOTLIN_JVM_RUNTIME_AND_STDLIB = jvmStdLib;
|
TITLE_KOTLIN_JVM_RUNTIME_AND_STDLIB = jvmStdLib;
|
||||||
TITLE_KOTLIN_JAVASCRIPT_STDLIB = jsStdLib;
|
TITLE_KOTLIN_JAVASCRIPT_STDLIB = jsStdLib;
|
||||||
|
TITLE_KOTLIN_JAVASCRIPT_LIB = jsLib;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LibraryUtils() {}
|
private LibraryUtils() {}
|
||||||
@@ -92,6 +96,18 @@ public class LibraryUtils {
|
|||||||
return title != null && title.equals(expected);
|
return title != null && title.equals(expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean checkSpecTitle(@NotNull File library, String expected) {
|
||||||
|
Attributes attributes = getManifestMainAttributesFromJar(library);
|
||||||
|
if (attributes == null) return false;
|
||||||
|
|
||||||
|
String title = attributes.getValue(Attributes.Name.SPECIFICATION_TITLE);
|
||||||
|
return title != null && title.equals(expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isKotlinJavascriptLibrary(@NotNull File library) {
|
||||||
|
return checkSpecTitle(library, TITLE_KOTLIN_JAVASCRIPT_LIB);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isJsRuntimeLibrary(@NotNull File library) {
|
public static boolean isJsRuntimeLibrary(@NotNull File library) {
|
||||||
return checkImplTitle(library, TITLE_KOTLIN_JAVASCRIPT_STDLIB);
|
return checkImplTitle(library, TITLE_KOTLIN_JAVASCRIPT_STDLIB);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user