From 5231a0e57216ca77d8ac88430b0c2e02bce92412 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 9 Jan 2020 14:16:15 +0100 Subject: [PATCH] #135 - Update release train definition for Neumann. --- .../data/release/build/BuildExecutor.java | 6 ++++++ .../springframework/data/release/model/Projects.java | 5 +++-- .../data/release/model/ReleaseTrains.java | 10 ++++++++-- .../org/springframework/data/release/model/Train.java | 5 +++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/release-tools/src/main/java/org/springframework/data/release/build/BuildExecutor.java b/release-tools/src/main/java/org/springframework/data/release/build/BuildExecutor.java index 4b5e01a..5bcbd82 100644 --- a/release-tools/src/main/java/org/springframework/data/release/build/BuildExecutor.java +++ b/release-tools/src/main/java/org/springframework/data/release/build/BuildExecutor.java @@ -132,6 +132,12 @@ class BuildExecutor { CompletableFuture 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()); } diff --git a/release-tools/src/main/java/org/springframework/data/release/model/Projects.java b/release-tools/src/main/java/org/springframework/data/release/model/Projects.java index aa9d978..6ebd0e0 100644 --- a/release-tools/src/main/java/org/springframework/data/release/model/Projects.java +++ b/release-tools/src/main/java/org/springframework/data/release/model/Projects.java @@ -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 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")); diff --git a/release-tools/src/main/java/org/springframework/data/release/model/ReleaseTrains.java b/release-tools/src/main/java/org/springframework/data/release/model/ReleaseTrains.java index 2f0fd35..29257ff 100644 --- a/release-tools/src/main/java/org/springframework/data/release/model/ReleaseTrains.java +++ b/release-tools/src/main/java/org/springframework/data/release/model/ReleaseTrains.java @@ -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 diff --git a/release-tools/src/main/java/org/springframework/data/release/model/Train.java b/release-tools/src/main/java/org/springframework/data/release/model/Train.java index f5120fe..55ffe8f 100644 --- a/release-tools/src/main/java/org/springframework/data/release/model/Train.java +++ b/release-tools/src/main/java/org/springframework/data/release/model/Train.java @@ -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 { return new Train(name, collect); } + public Train filter(Predicate filterPredicate) { + return new Train(name, getModules().stream().filter(filterPredicate).collect(Collectors.toList())); + } + /** * Returns the {@link ModuleIteration} for the given {@link Project} and {@link Iteration}. *