diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/archive/MetaArchive.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/archive/MetaArchive.kt index 29f05a43..fc121231 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/archive/MetaArchive.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/archive/MetaArchive.kt @@ -64,7 +64,7 @@ class MetaArchive(private val outputFile: File, val manifest: Manifest?) : Close } private val DEFAULT_JAR_EXCLUDES = - Glob("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA") + Glob("META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", "META-INF/MANIFEST.MF") private val seen = hashSetOf() diff --git a/src/main/kotlin/com/beust/kobalt/plugin/osgi/OsgiPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/osgi/OsgiPlugin.kt index 8a2a06b8..83ae5228 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/osgi/OsgiPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/osgi/OsgiPlugin.kt @@ -90,7 +90,10 @@ class OsgiPlugin @Inject constructor(val configActor: ConfigActor, v val fileSystem = FileSystems.newFileSystem(toFile, null) fileSystem.use { fs -> JarFile(jarFile).use { jf -> - val mf = jf.getEntry(MetaArchive.MANIFEST_MF) ?: Files.createDirectories(fs.getPath("META-INF/")) + val mf = jf.getEntry(MetaArchive.MANIFEST_MF) + if (mf == null) { + Files.createDirectories(fs.getPath("META-INF/")) + } val jarManifest = fs.getPath(MetaArchive.MANIFEST_MF) Files.write(jarManifest, listOf(lines2), if (mf != null) StandardOpenOption.APPEND else StandardOpenOption.CREATE)