diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-11-15 09:32:24 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-11-15 09:33:24 +0100 |
commit | 1d090a4db78d683a31df3cd7a2998b49fb2000ef (patch) | |
tree | 25bd3c200d088ca6af396b4de1a52a1e730fd833 /vespa-enforcer-extensions/src/main | |
parent | 79cebfaac6e5fb89a943a7579ab8c5974cee6b3d (diff) |
Use `getAllProjects()` + improve write-spec command in error message
Diffstat (limited to 'vespa-enforcer-extensions/src/main')
-rw-r--r-- | vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesAllProjects.java | 29 |
1 files changed, 13 insertions, 16 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(); |