X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FRepackage.java;h=c3fbcaf8850278db4fb2e67e1b2e100cf76770c5;hb=02cad44ed0bd3929ef5d6deb175b1673f5096e3f;hp=538c4eedfbc6e1ab7843a20947896eecd9e9f5eb;hpb=73a406a81fdf14a93367c94ca915a72fed8945b8;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index 538c4ee..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()) { @@ -1478,24 +1479,23 @@ public class Repackage { logger.log(ERROR, "No licence URL for " + jarDir); } } - writer.write("\n"); // origin - String m2Repo = ARGEO_ORIGIN_M2_REPO.get(mapping); - String originDesc = ARGEO_ORIGIN_M2.get(mapping); + String originDesc = ARGEO_ORIGIN_URI.get(mapping); if (originDesc != null) - writer.append("The original component has M2 coordinates:\n" + originDesc.replace(',', '\n') + "\n" - + (m2Repo != null ? "\nin M2 repository " + m2Repo + "\n" : "")); + writer.append("\nThe original component comes from " + originDesc + ".\n"); else { - originDesc = ARGEO_ORIGIN_URI.get(mapping); + String m2Repo = ARGEO_ORIGIN_M2_REPO.get(mapping); + originDesc = ARGEO_ORIGIN_M2.get(mapping); if (originDesc != null) - writer.append("The original component comes from " + originDesc + ".\n"); + writer.append("\nThe original component has M2 coordinates:\n" + originDesc.replace(',', '\n') + + "\n" + (m2Repo != null ? "\nin M2 repository " + m2Repo + "\n" : "")); else logger.log(ERROR, "Cannot find origin information in " + jarDir); } String originSources = ARGEO_ORIGIN_SOURCES_URI.get(mapping); if (originSources != null) - writer.append("The original sources come from " + originSources + ".\n"); + writer.append("\nThe original sources come from " + originSources + ".\n"); if (Files.exists(jarDir.resolve(CHANGES))) writer.append("\nA detailed list of changes is available under " + CHANGES + ".\n"); @@ -1508,7 +1508,6 @@ public class Repackage { writer.append("Corresponding sources are available under OSGI-OPT/src.\n"); } } - } /**