]> git.argeo.org Git - cc0/argeo-build.git/blobdiff - src/org/argeo/build/Repackage.java
Fix external sources packaging
[cc0/argeo-build.git] / src / org / argeo / build / Repackage.java
index 3c03a10cee78dffee8b01b09b2678667dbcd6af9..b4b95c1d33fe7c5b5f253edc34bfbc3e23285266 100644 (file)
@@ -752,6 +752,8 @@ 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) {
@@ -1473,30 +1475,31 @@ public class Repackage {
                                if (url != null) {
                                        writer.write("which is available here: " + url + "\n");
                                } else {
-                                       logger.log(ERROR, "No licne URL for " + jarDir);
+                                       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 " + originDesc + ".\n");
+                               writer.append("\nThe original sources come from " + originSources + ".\n");
 
-                       if (!jarDir.getFileName().endsWith(".src")) {// binary archive
+                       if (Files.exists(jarDir.resolve(CHANGES)))
                                writer.append("\nA detailed list of changes is available under " + CHANGES + ".\n");
+
+                       if (!jarDir.getFileName().toString().endsWith(".src")) {// binary archive
                                if (separateSources)
                                        writer.append("Corresponding sources are available in the related archive named "
                                                        + jarDir.toString() + ".src.jar.\n");
@@ -1504,7 +1507,6 @@ public class Repackage {
                                        writer.append("Corresponding sources are available under OSGI-OPT/src.\n");
                        }
                }
-
        }
 
        /**
@@ -1523,6 +1525,8 @@ public class Repackage {
 
                /** Append changes to the A2-ORIGIN/changes file. */
                void appendChanges(Path baseDirectory) throws IOException {
+                       if (modified.isEmpty() && deleted.isEmpty() && added.isEmpty() && moved.isEmpty())
+                               return; // no changes
                        Path changesFile = baseDirectory.resolve(CHANGES);
                        Files.createDirectories(changesFile.getParent());
                        try (BufferedWriter writer = Files.newBufferedWriter(changesFile, APPEND, CREATE)) {