X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FRepackage.java;h=89522c03c1c61e56c705dffc514542bb4d75dad0;hb=d0a93e4a21a3c71a47f4bd0511d7862093731e2e;hp=9e2c14fd409f36e62ec13e03845d16ee64b52a02;hpb=0781993c22325589369f52809574f152715b3d6d;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index 9e2c14f..89522c0 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -1164,17 +1164,20 @@ public class Repackage { if (orIndex >= 0) spdxLicenceId = spdxLicenceId.substring(0, orIndex).trim(); - // set licenses of some well-known components - // even if we say otherwise (typically because coming from an Eclipse archive) - if (bundleDir.getFileName().startsWith("org.apache.")) + String bundleDirName = bundleDir.getFileName().toString(); + // force licenses of some well-known components + // even if we say otherwise (typically because from an Eclipse archive) + if (bundleDirName.startsWith("org.apache.")) spdxLicenceId = "Apache-2.0"; - if (bundleDir.getFileName().startsWith("com.sun.jna.")) + if (bundleDirName.startsWith("com.sun.jna.")) spdxLicenceId = "Apache-2.0"; - if (bundleDir.getFileName().startsWith("com.ibm.icu.")) + if (bundleDirName.startsWith("com.ibm.icu.")) spdxLicenceId = "ICU"; - if (bundleDir.getFileName().startsWith("javax.annotation.")) + if (bundleDirName.startsWith("javax.annotation.")) spdxLicenceId = "GPL-2.0-only WITH Classpath-exception-2.0"; - if (bundleDir.getFileName().startsWith("javax.inject.")) + if (bundleDirName.startsWith("javax.inject.")) + spdxLicenceId = "Apache-2.0"; + if (bundleDirName.startsWith("org.osgi.")) spdxLicenceId = "Apache-2.0"; manifest.getMainAttributes().putValue(SPDX_LICENSE_IDENTIFIER.toString(), spdxLicenceId); @@ -1374,6 +1377,10 @@ public class Repackage { deleteDirectory(sourceDir); } + /** + * Generate a readme clarifying and prominently notifying of the repackaging and + * modifications. + */ void createReadMe(Path jarDir, Manifest manifest) throws IOException { // write repackaged README try (BufferedWriter writer = Files.newBufferedWriter(jarDir.resolve(README_REPACKAGED))) { @@ -1405,26 +1412,28 @@ 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 Maven coordinates " + originDesc - + (m2Repo != null ? " in 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("A detailed list of changes is available under " + CHANGES + ".\n"); + writer.append("\nA detailed list of changes is available under " + CHANGES + ".\n"); if (!jarDir.getFileName().endsWith(".src")) {// binary archive if (sourceBundles) writer.append("Corresponding sources are available in the related archive named "