From bf332624861b9b1a125306a6fd45cf0677c3adfc Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 18 Dec 2015 05:01:22 +0400 Subject: [PATCH] Renamed to kobalt-core-plugin.xml to avoid shadowing. --- .../kotlin/com/beust/kobalt/internal/KobaltPluginXml.kt | 9 ++++++++- .../{kobalt-plugin.xml => kobalt-core-plugin.xml} | 0 2 files changed, 8 insertions(+), 1 deletion(-) rename src/main/resources/META-INF/{kobalt-plugin.xml => kobalt-core-plugin.xml} (100%) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/KobaltPluginXml.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/KobaltPluginXml.kt index 56e88b17..3f99ca4f 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/KobaltPluginXml.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/KobaltPluginXml.kt @@ -78,7 +78,12 @@ class PluginInfo(val xml: KobaltPluginXml, val classLoader: ClassLoader?) { val mavenIdInterceptors = arrayListOf() companion object { - val PLUGIN_XML = "META-INF/kobalt-plugin.xml" // Plugins.PLUGIN_XML) + /** + * The name needs to be different from kobalt-plugin.xml because classloaders + * can put a plug-in's jar file in front of Kobalt's, which means we'll read + * that one instead of the core one. + */ + val PLUGIN_XML = "META-INF/kobalt-core-plugin.xml" // Plugins.PLUGIN_XML) /** * Read Kobalt's own kobalt-plugin.xml. @@ -86,6 +91,7 @@ class PluginInfo(val xml: KobaltPluginXml, val classLoader: ClassLoader?) { fun readKobaltPluginXml(): PluginInfo { // Note: use forward slash here since we're looking up this file in a .jar file val url = Kobalt::class.java.classLoader.getResource(PLUGIN_XML) + log(2, "URL for core kobalt-plugin.xml: $url") if (url != null) { return readPluginXml(url.openConnection().inputStream) } else { @@ -100,6 +106,7 @@ class PluginInfo(val xml: KobaltPluginXml, val classLoader: ClassLoader?) { val jaxbContext = JAXBContext.newInstance(KobaltPluginXml::class.java) val kotlinPlugin: KobaltPluginXml = jaxbContext.createUnmarshaller().unmarshal(ins) as KobaltPluginXml + log(2, "Parsed plugin-info.xml, found: " + kotlinPlugin.name) return PluginInfo(kotlinPlugin, classLoader) } diff --git a/src/main/resources/META-INF/kobalt-plugin.xml b/src/main/resources/META-INF/kobalt-core-plugin.xml similarity index 100% rename from src/main/resources/META-INF/kobalt-plugin.xml rename to src/main/resources/META-INF/kobalt-core-plugin.xml