X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FRepackage.java;h=c3fbcaf8850278db4fb2e67e1b2e100cf76770c5;hb=02cad44ed0bd3929ef5d6deb175b1673f5096e3f;hp=b4b95c1d33fe7c5b5f253edc34bfbc3e23285266;hpb=355e405d5613237930d044d7194707b19c0b258f;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index b4b95c1..c3fbcaf 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -584,6 +584,10 @@ public class Repackage { } else if (entry.getName().startsWith("org/apache/batik/")) { logger.log(TRACE, "Skip " + entry.getName()); continue entries; + } else if (entry.getName().startsWith("META-INF/NOTICE")) { + logger.log(WARNING, "Skip " + entry.getName() + " from " + artifact); + // TODO merge them? + continue entries; } else { throw new IllegalStateException("File " + target + " from " + artifact + " already exists"); } @@ -683,8 +687,7 @@ public class Repackage { } if (!fileProps.containsKey(EXPORT_PACKAGE.toString())) { - fileProps.put(EXPORT_PACKAGE.toString(), - "*;version=\"" + fileProps.getProperty(BUNDLE_VERSION.toString()) + "\""); + fileProps.put(EXPORT_PACKAGE.toString(), "*"); } // BND analysis @@ -752,8 +755,6 @@ public class Repackage { URL sourcesUrl = alternateUri != null ? new URL(alternateUri) : M2ConventionsUtils.mavenRepoUrl(repoStr, sourcesArtifact); Path sourcesDownloaded = downloadMaven(sourcesUrl, sourcesArtifact); - if (!props.containsKey(ARGEO_ORIGIN_SOURCES_URI.toString())) - ARGEO_ORIGIN_SOURCES_URI.put(props, sourcesUrl.toString()); processM2SourceJar(sourcesDownloaded, targetBundleDir, merging ? artifact : null, unmodified); logger.log(TRACE, () -> "Processed source " + sourcesDownloaded); } catch (Exception e) { @@ -1027,7 +1028,14 @@ public class Repackage { nameVersion.setName(ourSymbolicName); } } + + // create bundle dir bundleDir = targetBase.resolve(nameVersion.getName() + "." + nameVersion.getBranch()); + if (Files.exists(bundleDir)) { + logger.log(WARNING, "Bundle dir " + bundleDir + + " already exists, probably from a previous failed build, deleting it..."); + deleteDirectory(bundleDir); + } // copy original MANIFEST if (sourceManifest != null) { @@ -1052,7 +1060,6 @@ public class Repackage { arch = libRelativePath.getName(1).toString(); } -// if (!embed) { // copy entries JarEntry entry; entries: while ((entry = jarIn.getNextJarEntry()) != null) { @@ -1119,7 +1126,6 @@ public class Repackage { origin.deleted.add(bundleDir.relativize(target).toString()); } logger.log(TRACE, () -> "Copied " + target); -// } } } @@ -1132,11 +1138,6 @@ public class Repackage { entries.get(BUNDLE_SYMBOLICNAME.toString()) + ";singleton:=true"); } -// if (embed) {// copy embedded jar -// Files.copy(file, bundleDir.resolve(file.getFileName())); -// entries.put(ManifestHeader.BUNDLE_CLASSPATH.toString(), file.getFileName().toString()); -// } - // Final MANIFEST decisions // We also check the original OSGi metadata and compare with our changes for (String key : entries.keySet()) {