summaryrefslogtreecommitdiffstats
path: root/vespa-enforcer-extensions
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2022-11-15 09:32:24 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2022-11-15 09:33:24 +0100
commit1d090a4db78d683a31df3cd7a2998b49fb2000ef (patch)
tree25bd3c200d088ca6af396b4de1a52a1e730fd833 /vespa-enforcer-extensions
parent79cebfaac6e5fb89a943a7579ab8c5974cee6b3d (diff)
Use `getAllProjects()` + improve write-spec command in error message
Diffstat (limited to 'vespa-enforcer-extensions')
-rw-r--r--vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java29
-rw-r--r--vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjectsTest.java4
2 files changed, 15 insertions, 18 deletions
diff --git a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java
index 480fa04f389..f569ce6550f 100644
--- a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java
+++ b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java
@@ -113,7 +113,7 @@ public class EnforceDependenciesAllProjects implements EnforcerRule {
throw new EnforcerRuleException(
errorMsg.append("Maven dependency validation failed. ")
.append("If this change was intentional, update the dependency spec by running:\n")
- .append("$ mvn validate -D").append(WRITE_SPEC_PROP).append(" -pl ").append(moduleName)
+ .append("$ mvn validate -D").append(WRITE_SPEC_PROP).append(" -pl :").append(moduleName)
.append(" -f ").append(aggregatorPomRoot).append("\n").toString());
}
}
@@ -151,10 +151,6 @@ public class EnforceDependenciesAllProjects implements EnforcerRule {
MavenSession session = mavenSession(helper);
var graphBuilder = helper.getComponent(DependencyGraphBuilder.class);
List<MavenProject> projects = getAllProjects(session, rootProjectId);
- if (projects.size() == 1) {
- throw new EnforcerRuleException(
- "Only a single Maven module detected. Enforcer must be executed from root of aggregator pom.");
- }
for (MavenProject project : projects) {
var req = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());
req.setProject(project);
@@ -177,14 +173,18 @@ public class EnforceDependenciesAllProjects implements EnforcerRule {
private static List<MavenProject> getAllProjects(MavenSession session, String rootProjectId) throws EnforcerRuleException {
if (rootProjectId == null) throw new EnforcerRuleException("Missing required <rootProjectId> in <enforceDependencies> in pom.xml");
- MavenProject rootProject = session.getProjects()
- .stream()
- .filter(project -> rootProjectId.equals(projectIdOf(project)))
- .findAny()
- .orElseThrow(() -> new EnforcerRuleException("Root project not found: " + rootProjectId));
+ List<MavenProject> allProjects = session.getAllProjects();
+ if (allProjects.size() == 1) {
+ throw new EnforcerRuleException(
+ "Only a single Maven module detected. Enforcer must be executed from root of aggregator pom.");
+ }
+ MavenProject rootProject = allProjects
+ .stream()
+ .filter(project -> rootProjectId.equals(projectIdOf(project)))
+ .findAny()
+ .orElseThrow(() -> new EnforcerRuleException("Root project not found: " + rootProjectId));
- Map<Path, MavenProject> projectsByBaseDir = session
- .getProjects()
+ Map<Path, MavenProject> projectsByBaseDir = allProjects
.stream()
.collect(Collectors.toMap(project -> project.getBasedir().toPath().normalize(), project -> project));
@@ -234,10 +234,7 @@ public class EnforceDependenciesAllProjects implements EnforcerRule {
return Paths.get(mavenProject(helper).getBasedir() + File.separator + specFile).normalize();
}
- private static String projectName(EnforcerRuleHelper helper) {
- MavenProject p = mavenProject(helper);
- return p.getModules().isEmpty() ? p.getName() : ".";
- }
+ private static String projectName(EnforcerRuleHelper helper) { return mavenProject(helper).getArtifactId(); }
private static Path aggregatorPomRoot(EnforcerRuleHelper helper) {
return mavenSession(helper).getRequest().getPom().toPath();
diff --git a/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjectsTest.java b/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjectsTest.java
index 6e47aad0d06..59062cbd61c 100644
--- a/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjectsTest.java
+++ b/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjectsTest.java
@@ -60,7 +60,7 @@ class EnforceDependenciesAllProjectsTest {
Forbidden non-test dependencies:
- com.example:foobar:3.4.5
Maven dependency validation failed. If this change was intentional, update the dependency spec by running:
- $ mvn validate -DdependencyEnforcer.writeSpec -pl my-dep-enforcer -f /vespa-src/pom.xml
+ $ mvn validate -DdependencyEnforcer.writeSpec -pl :my-dep-enforcer -f /vespa-src/pom.xml
""";
assertEquals(expectedErrorMessage, exception.getMessage());
}
@@ -83,7 +83,7 @@ class EnforceDependenciesAllProjectsTest {
Removed test-only dependencies:
- com.example:testbar:2.3.4
Maven dependency validation failed. If this change was intentional, update the dependency spec by running:
- $ mvn validate -DdependencyEnforcer.writeSpec -pl my-dep-enforcer -f /vespa-src/pom.xml
+ $ mvn validate -DdependencyEnforcer.writeSpec -pl :my-dep-enforcer -f /vespa-src/pom.xml
""";
assertEquals(expectedErrorMessage, exception.getMessage());
}