
com.github.danielflower.mavenplugins.release.Reactor Maven / Gradle / Ivy
package com.github.danielflower.mavenplugins.release;
import org.apache.maven.project.MavenProject;
import java.util.ArrayList;
import java.util.List;
import static java.util.Arrays.asList;
public class Reactor {
private final List modulesInBuildOrder;
public Reactor(List modulesInBuildOrder) {
this.modulesInBuildOrder = modulesInBuildOrder;
}
public List getModulesInBuildOrder() {
return modulesInBuildOrder;
}
public static Reactor fromProjects(List projects, String releaseVersion) throws ValidationException {
List modules = new ArrayList();
for (MavenProject project : projects) {
modules.add(new ReleasableModule(project, releaseVersion));
}
return new Reactor(modules);
}
public ReleasableModule find(String searchingFrom, String groupId, String artifactId) throws ValidationException {
for (ReleasableModule module : modulesInBuildOrder) {
if (module.getGroupId().equals(groupId) && module.getArtifactId().equals(artifactId)) {
return module;
}
}
String summary = "The artifact " + groupId + ":" + artifactId + " referenced from " + searchingFrom +
" is a SNAPSHOT in your project however it was not found";
throw new ValidationException(summary, asList(summary));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy