diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/AddDependencyVisitor.java b/rewrite-maven/src/main/java/org/openrewrite/maven/AddDependencyVisitor.java index 58b782b27bc..6137b9c8b32 100644 --- a/rewrite-maven/src/main/java/org/openrewrite/maven/AddDependencyVisitor.java +++ b/rewrite-maven/src/main/java/org/openrewrite/maven/AddDependencyVisitor.java @@ -169,6 +169,8 @@ public Xml visitTag(Xml.Tag tag, ExecutionContext ctx) { "" + versionToUse + "\n") + (classifier == null ? "" : "" + classifier + "\n") + + (type == null || "jar".equals(type) ? "" : + "" + type + "\n") + (scope == null || "compile".equals(scope) ? "" : "" + scope + "\n") + (Boolean.TRUE.equals(optional) ? "true\n" : "") + diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java index 88ce237f8c5..59fb2fd49cf 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java @@ -122,6 +122,43 @@ void systemScope() { ); } + @Test + void pomType() { + rewriteRun( + spec -> spec + .recipe(new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, null, null, "pom", null, null, null, null)), + mavenProject("project", + srcMainJava( + java(usingGuavaIntMath) + ), + pomXml( + """ + + com.mycompany.app + my-app + 1 + + """, + """ + + com.mycompany.app + my-app + 1 + + + com.google.guava + guava + 29.0-jre + pom + + + + """ + ) + ) + ); + } + @ParameterizedTest @ValueSource(strings = {"com.google.common.math.*", "com.google.common.math.IntMath"}) void onlyIfUsingTestScope(String onlyIfUsing) {