Skip to content

Commit 557ba1d

Browse files
committed
advance MavenPlugin trait to also be limitable on groupd and artifact id
1 parent 9b6806a commit 557ba1d

3 files changed

Lines changed: 616 additions & 175 deletions

File tree

rewrite-maven/src/main/java/org/openrewrite/maven/AddAnnotationProcessor.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,7 @@ class AddAnnotationProcessorPath extends MavenIsoVisitor<ExecutionContext> {
9292
@Override
9393
public Xml.Tag visitTag(Xml.Tag tag, ExecutionContext ctx) {
9494
Xml.Tag plugins = super.visitTag(tag, ctx);
95-
plugins = (Xml.Tag) new MavenPlugin.Matcher(addToManaged).asVisitor(plugin -> {
96-
if (!MAVEN_COMPILER_PLUGIN_GROUP_ID.equals(plugin.getGroupId()) || !MAVEN_COMPILER_PLUGIN_ARTIFACT_ID.equals(plugin.getArtifactId())) {
97-
return plugin.getTree();
98-
}
95+
plugins = (Xml.Tag) new MavenPlugin.Matcher(addToManaged,MAVEN_COMPILER_PLUGIN_GROUP_ID, MAVEN_COMPILER_PLUGIN_ARTIFACT_ID).asVisitor(plugin -> {
9996

10097
MavenResolutionResult mrr = getResolutionResult();
10198
AtomicReference<TreeVisitor<?, ExecutionContext>> afterVisitor = new AtomicReference<>();

rewrite-maven/src/main/java/org/openrewrite/maven/trait/MavenPlugin.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,19 @@ public static class Matcher extends MavenTraitMatcher<MavenPlugin> {
4242

4343
@Nullable
4444
Boolean isManaged;
45+
@Nullable
46+
String groupId;
47+
@Nullable
48+
String artifactId;
4549

4650
public Matcher() {
47-
this(null);
51+
this(null, null, null);
4852
}
4953

50-
public Matcher(@Nullable Boolean isManaged) {
54+
public Matcher(@Nullable Boolean isManaged, @Nullable String groupId, @Nullable String artifactId) {
5155
this.isManaged = isManaged;
56+
this.groupId = groupId;
57+
this.artifactId = artifactId;
5258
}
5359

5460
@Override
@@ -65,11 +71,17 @@ public Matcher(@Nullable Boolean isManaged) {
6571
return null;
6672
}
6773

68-
return new MavenPlugin(
69-
cursor,
70-
getProperty(cursor, "groupId").orElse("org.apache.maven.plugins"),
71-
getProperty(cursor, "artifactId").orElse(null)
72-
);
74+
String currentGroupId = getProperty(cursor, "groupId").orElse("org.apache.maven.plugins");
75+
if (groupId != null && !groupId.equals(currentGroupId)) {
76+
return null;
77+
}
78+
79+
String currentArtifactId = getProperty(cursor, "artifactId").orElse(null);
80+
if (artifactId != null && currentArtifactId != null && !artifactId.equals(currentArtifactId)) {
81+
return null;
82+
}
83+
84+
return new MavenPlugin(cursor, currentGroupId, currentArtifactId);
7385
}
7486
return null;
7587
}

0 commit comments

Comments
 (0)