#135 - Update release train definition for Neumann.

This commit is contained in:
Mark Paluch
2020-01-09 14:16:15 +01:00
parent 730f13afd8
commit 5231a0e572
4 changed files with 22 additions and 4 deletions

View File

@@ -132,6 +132,12 @@ class BuildExecutor {
CompletableFuture<T> futureResult = results.get(dependency);
if (futureResult == null) {
if (!iteration.stream().map(ProjectAware::getProject).anyMatch(project -> project.equals(dependency))) {
throw new IllegalStateException(moduleIteration.getProject().getName() + " requires "
+ dependency.getName() + " which is not part of the Iteration. Please fix Projects/Iterations setup");
}
throw new IllegalStateException("No future result for " + dependency.getName() + ", required by "
+ moduleIteration.getProject().getName());
}

View File

@@ -38,7 +38,7 @@ import org.jgrapht.traverse.TopologicalOrderIterator;
public class Projects {
public static final Project COMMONS, BUILD, REST, JDBC, JPA, MONGO_DB, NEO4J, SOLR, COUCHBASE, CASSANDRA,
ELASTICSEARCH, REDIS, GEMFIRE, KEY_VALUE, ENVERS, LDAP, GEODE, R2DBC;
ELASTICSEARCH, R2DBC, REDIS, GEMFIRE, KEY_VALUE, ENVERS, LDAP, GEODE;
public static final List<Project> PROJECTS;
static {
@@ -88,11 +88,12 @@ public class Projects {
GEODE = new Project("DATAGEODE", "Geode") //
.withDependencies(COMMONS) //
.withAdditionalArtifacts(ArtifactCoordinates.SPRING_DATA.artifacts("spring-data-gemfire"))
.withFullName("Spring Data for Apache Geode") //
.withSkipTests(true);
REST = new Project("DATAREST", "REST") //
.withDependencies(JPA, MONGO_DB, NEO4J, GEMFIRE, SOLR, CASSANDRA, KEY_VALUE) //
.withDependencies(JPA, MONGO_DB, NEO4J, GEODE, SOLR, CASSANDRA, KEY_VALUE) //
.withAdditionalArtifacts(ArtifactCoordinates.SPRING_DATA //
.artifacts("spring-data-rest-core", "spring-data-rest-core", "spring-data-rest-hal-browser",
"spring-data-rest-hal-explorer"));

View File

@@ -55,8 +55,14 @@ public class ReleaseTrains {
MOORE = LOVELACE.next("Moore", Transition.MINOR);
NEUMANN = MOORE.next("Neumann", Transition.MINOR, new Module(COUCHBASE, "4.0"), new Module(ELASTICSEARCH, "4.0"),
new Module(JDBC, "2.0")).withIterations(new Train.Iterations(M1, M2, RC1, GA));
NEUMANN = MOORE.next("Neumann", Transition.MINOR, //
new Module(COUCHBASE, "4.0"), //
new Module(CASSANDRA, "3.0"), //
new Module(ELASTICSEARCH, "4.0"), //
new Module(MONGO_DB, "3.0"), //
new Module(JDBC, "2.0"), //
new Module(R2DBC, "1.1")) //
.filter(module -> !module.getProject().equals(GEMFIRE)).withIterations(new Train.Iterations(M1, M2, M3, RC1, GA));
// Trains

View File

@@ -30,6 +30,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -114,6 +115,10 @@ public class Train implements Streamable<Module> {
return new Train(name, collect);
}
public Train filter(Predicate<Module> filterPredicate) {
return new Train(name, getModules().stream().filter(filterPredicate).collect(Collectors.toList()));
}
/**
* Returns the {@link ModuleIteration} for the given {@link Project} and {@link Iteration}.
*