X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FRepackage.java;h=6cfd3d48aedc0ce469b21b1c9f1e85dca2943b98;hb=6c0e011bdddc156221a8dfc3bba979446e08deea;hp=c10f961002f58778af6c44b5ff741f16fa13a772;hpb=1e6a643761f57c646cf50e9fcf5b444b3fb27580;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index c10f961..6cfd3d4 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -193,9 +193,9 @@ public class Repackage { * Subdirectory of the jar file where origin informations (changes, legal * notices etc. are stored) */ - final static String A2_ORIGIN = "A2-ORIGIN"; + final static String ARGEO_ORIGIN = "ARGEO-ORIGIN"; /** File detailing modifications to the original component. */ - final static String CHANGES = A2_ORIGIN + "/changes"; + final static String CHANGES = ARGEO_ORIGIN + "/changes"; /** * Name of the file at the root of the repackaged jar, which prominently * notifies that the component has be repackaged. @@ -453,13 +453,20 @@ public class Repackage { Path targetCategoryBase = a2Base.resolve(category); Properties mergeProps = new Properties(); + // first, load common properties + Path commonBnd = duDir.resolve(COMMON_BND); + if (Files.exists(commonBnd)) + try (InputStream in = Files.newInputStream(commonBnd)) { + mergeProps.load(in); + } + // then, the merge properties themselves try (InputStream in = Files.newInputStream(mergeBnd)) { mergeProps.load(in); } String m2Version = mergeProps.getProperty(ARGEO_ORIGIN_M2.toString()); if (m2Version == null) { - logger.log(WARNING, "Ignoring " + duDir + " as it is not an M2-based distribution unit"); + logger.log(WARNING, "Ignoring merging in " + duDir + " as it is not an M2-based distribution unit"); return;// ignore, this is probably an Eclipse archive } if (!m2Version.startsWith(":")) { @@ -527,7 +534,7 @@ public class Repackage { continue entries; } if (entry.getName().equals("META-INF/MANIFEST.MF")) { - Path originalManifest = bundleDir.resolve(A2_ORIGIN).resolve(artifact.getGroupId()) + Path originalManifest = bundleDir.resolve(ARGEO_ORIGIN).resolve(artifact.getGroupId()) .resolve(artifact.getArtifactId()).resolve("MANIFEST.MF"); Files.createDirectories(originalManifest.getParent()); try (OutputStream out = Files.newOutputStream(originalManifest)) { @@ -542,7 +549,7 @@ public class Repackage { || entry.getName().endsWith("LICENSE") || entry.getName().endsWith("LICENSE.md") || entry.getName().endsWith("LICENSE-notice.md") || entry.getName().endsWith("COPYING") || entry.getName().endsWith("COPYING.LESSER")) { - Path artifactOriginDir = bundleDir.resolve(A2_ORIGIN).resolve(artifact.getGroupId()) + Path artifactOriginDir = bundleDir.resolve(ARGEO_ORIGIN).resolve(artifact.getGroupId()) .resolve(artifact.getArtifactId()); Path target = artifactOriginDir.resolve(entry.getName()); Files.createDirectories(target.getParent()); @@ -977,7 +984,7 @@ public class Repackage { // copy original MANIFEST if (sourceManifest != null) { - Path originalManifest = bundleDir.resolve(A2_ORIGIN).resolve("MANIFEST.MF"); + Path originalManifest = bundleDir.resolve(ARGEO_ORIGIN).resolve("MANIFEST.MF"); Files.createDirectories(originalManifest.getParent()); try (OutputStream out = Files.newOutputStream(originalManifest)) { sourceManifest.write(out); @@ -1412,24 +1419,26 @@ public class Repackage { } else { String url = manifest.getMainAttributes().getValue(BUNDLE_LICENSE.toString()); if (url != null) { - writer.write("which is avaliabel here: " + url + "\n"); + writer.write("which is available here: " + url + "\n"); } else { logger.log(ERROR, "No licne URL for " + jarDir); } } writer.write("\n"); + // origin String m2Repo = manifest.getMainAttributes().getValue(ARGEO_ORIGIN_M2_REPO.toString()); String originDesc = manifest.getMainAttributes().getValue(ARGEO_ORIGIN_M2.toString()); if (originDesc != null) - writer.append("The original component has M2 coordinates " + originDesc.replace(',', '\n') + "\n" - + (m2Repo != null ? "\nin M2 repository" + m2Repo : "") + ".\n"); - else + writer.append("The original component has M2 coordinates:\n" + originDesc.replace(',', '\n') + "\n" + + (m2Repo != null ? "\nin M2 repository " + m2Repo + "\n" : "")); + else { originDesc = manifest.getMainAttributes().getValue(ARGEO_ORIGIN_URI.toString()); - if (originDesc != null) - writer.append("The original component comes from " + originDesc + ".\n"); - else - logger.log(ERROR, "Cannot find origin information in " + jarDir); + if (originDesc != null) + writer.append("The original component comes from " + originDesc + ".\n"); + else + logger.log(ERROR, "Cannot find origin information in " + jarDir); + } writer.append("\nA detailed list of changes is available under " + CHANGES + ".\n"); if (!jarDir.getFileName().endsWith(".src")) {// binary archive