Skip to content

Commit cf4ee0f

Browse files
committed
Workaround Maven's broken snapshot download
1 parent ec85bb2 commit cf4ee0f

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

start-site/src/test/java/io/spring/start/site/ProjectGenerationIntegrationTests.java

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@
7373
@Execution(ExecutionMode.CONCURRENT)
7474
class ProjectGenerationIntegrationTests {
7575

76+
private static final boolean FORCE_REFRESH_DEPENDENCIES = false;
77+
7678
private final ProjectGenerationInvoker<ProjectRequest> invoker;
7779

7880
private final InitializrMetadata metadata;
@@ -160,18 +162,30 @@ private ProcessBuilder createProcessBuilder(Path directory, BuildSystem buildSys
160162
}
161163

162164
private ProcessBuilder createGradleProcessBuilder(Path directory, Path home) {
163-
String command = (isWindows()) ? "gradlew.bat" : "gradlew";
164-
ProcessBuilder processBuilder = new ProcessBuilder(directory.resolve(command).toAbsolutePath().toString(),
165-
"--no-daemon", "build");
165+
String executable = (isWindows()) ? "gradlew.bat" : "gradlew";
166+
List<String> command = new ArrayList<>();
167+
command.add(directory.resolve(executable).toAbsolutePath().toString());
168+
command.add("--no-daemon");
169+
if (FORCE_REFRESH_DEPENDENCIES) {
170+
command.add("--refresh-dependencies");
171+
}
172+
command.add("build");
173+
ProcessBuilder processBuilder = new ProcessBuilder(command);
166174
processBuilder.environment().put("GRADLE_USER_HOME", home.toAbsolutePath().toString());
167175
processBuilder.directory(directory.toFile());
168176
return processBuilder;
169177
}
170178

171179
private ProcessBuilder createMavenProcessBuilder(Path directory, Path home) {
172-
String command = (isWindows()) ? "mvnw.cmd" : "mvnw";
173-
ProcessBuilder processBuilder = new ProcessBuilder(directory.resolve(command).toAbsolutePath().toString(),
174-
"-Dmaven.repo.local=" + home.resolve("repository").toAbsolutePath(), "package");
180+
String executable = (isWindows()) ? "mvnw.cmd" : "mvnw";
181+
List<String> command = new ArrayList<>();
182+
command.add(directory.resolve(executable).toAbsolutePath().toString());
183+
command.add("-Dmaven.repo.local=" + home.resolve("repository").toAbsolutePath());
184+
if (FORCE_REFRESH_DEPENDENCIES) {
185+
command.add("--update-snapshots");
186+
}
187+
command.add("package");
188+
ProcessBuilder processBuilder = new ProcessBuilder(command);
175189
processBuilder.environment().put("MAVEN_USER_HOME", home.toAbsolutePath().toString());
176190
processBuilder.directory(directory.toFile());
177191
return processBuilder;

0 commit comments

Comments
 (0)