This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0f710ff1707ef24cda34dc789c655a107a46c342
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Dec 1 13:41:20 2022 +0100

    camel-parent/pom.xml - Sync
---
 .../maven/packaging/PrepareComponentMojo.java      | 51 ++++++++++------------
 1 file changed, 23 insertions(+), 28 deletions(-)

diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
index 7ca6eafde2e..4bb0eaa55c0 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
@@ -219,30 +219,26 @@ public class PrepareComponentMojo extends 
AbstractGeneratorMojo {
             final String between = pomText.substring(before.length(), 
pomText.length() - after.length());
 
             Pattern pattern = Pattern.compile(
-                    
"<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>\\s*<version>(?<version>.*)</version>\\s*</dependency>");
+                    
"<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>\\s*<version>(?<version>.*)</version>");
             Matcher matcher = pattern.matcher(between);
-            TreeSet<String> dependencies = new TreeSet<>();
-            while (matcher.find()) {
-                dependencies.add(matcher.group());
-            }
 
-            String d = "<dependency>\n"
-                       + "                <groupId>" + project.getGroupId() + 
"</groupId>\n"
-                       + "                <artifactId>" + 
project.getArtifactId() + "</artifactId>\n"
-                       + "                
<version>${project.version}</version>\n";
-            String type = project.getArtifact().getType();
-            String pack = project.getPackaging();
-            if (type != null && !"jar".equals(type) && 
!"maven-plugin".equals(pack)) {
-                d += "                <type>" + type + "</type>\n";
+            TreeSet<MavenGav> dependencies = new TreeSet<>();
+            while (matcher.find()) {
+                String v = matcher.groupCount() > 2 ? matcher.group(3) : 
project.getVersion();
+                MavenGav gav = new MavenGav(matcher.group(1), 
matcher.group(2), v, null);
+                dependencies.add(gav);
             }
-            d += "            </dependency>";
-            dependencies.add(d);
+            // add ourselves
+            dependencies.add(new MavenGav(
+                    project.getGroupId(), project.getArtifactId(), 
"${project.version}", project.getArtifact().getType()));
 
+            // generate string output of all dependencies
+            String s = dependencies.stream()
+                    .map(g -> g.asString("            "))
+                    .collect(Collectors.joining("\n"));
             final String updatedPom = before + startDependenciesMarker
-                                      + "\n            "
-                                      + String.join("\n            ", 
dependencies)
-                                      + "\n            "
-                                      + endDependenciesMarker + after;
+                                      + "\n" + s + "\n"
+                                      + "        " + endDependenciesMarker + 
after;
 
             updateResource(buildContext, pomFile, updatedPom);
         } catch (IOException e) {
@@ -285,7 +281,7 @@ public class PrepareComponentMojo extends 
AbstractGeneratorMojo {
             String s = dependencies.stream()
                     // skip maven plugins
                     .filter(g -> !g.artifactId.contains("-maven-plugin"))
-                    .map(MavenGav::toString)
+                    .map(g -> g.asString("        "))
                     .collect(Collectors.joining("\n"));
             final String updatedPom = before + startDependenciesMarker
                                       + "\n" + s + "\n"
@@ -341,17 +337,16 @@ public class PrepareComponentMojo extends 
AbstractGeneratorMojo {
             return result;
         }
 
-        @Override
-        public String toString() {
+        public String asString(String pad) {
             StringBuilder sb = new StringBuilder();
-            sb.append("        <dependency>\n");
-            sb.append("            
<groupId>").append(groupId).append("</groupId>\n");
-            sb.append("            
<artifactId>").append(artifactId).append("</artifactId>\n");
-            sb.append("            
<version>").append(version).append("</version>\n");
+            sb.append(pad).append("<dependency>\n");
+            sb.append(pad).append("    
<groupId>").append(groupId).append("</groupId>\n");
+            sb.append(pad).append("    
<artifactId>").append(artifactId).append("</artifactId>\n");
+            sb.append(pad).append("    
<version>").append(version).append("</version>\n");
             if (type != null) {
-                sb.append("            
<type>").append(type).append("</type>\n");
+                sb.append(pad).append("    
<type>").append(type).append("</type>\n");
             }
-            sb.append("        </dependency>");
+            sb.append(pad).append("</dependency>");
             return sb.toString();
         }
 

Reply via email to