diff --git a/spring-boot-cli-grape/src/main/java/org/springframework/boot/cli/compiler/AetherGrapeEngine.java b/spring-boot-cli-grape/src/main/java/org/springframework/boot/cli/compiler/AetherGrapeEngine.java index 9b985ec5340..f03a956a7a5 100644 --- a/spring-boot-cli-grape/src/main/java/org/springframework/boot/cli/compiler/AetherGrapeEngine.java +++ b/spring-boot-cli-grape/src/main/java/org/springframework/boot/cli/compiler/AetherGrapeEngine.java @@ -148,12 +148,18 @@ public class AetherGrapeEngine implements GrapeEngine { this.repositorySystemSession = repositorySystemSession; - this.repositories = Arrays.asList(new RemoteRepository.Builder("central", - "default", "http://repo1.maven.org/maven2/").build(), - new RemoteRepository.Builder("spring-snapshot", "default", - "http://repo.spring.io/snapshot").build(), - new RemoteRepository.Builder("spring-milestone", "default", - "http://repo.spring.io/milestone").build()); + List repositories = new ArrayList(); + repositories.add(new RemoteRepository.Builder("central", "default", + "http://repo1.maven.org/maven2/").build()); + + if (!Boolean.getBoolean("disableSpringSnapshotRepos")) { + repositories.add(new RemoteRepository.Builder("spring-snapshot", "default", + "http://repo.spring.io/snapshot").build()); + repositories.add(new RemoteRepository.Builder("spring-milestone", "default", + "http://repo.spring.io/milestone").build()); + } + + this.repositories = repositories; this.artifactDescriptorReader = mavenServiceLocator .getService(ArtifactDescriptorReader.class); diff --git a/spring-boot-cli-grape/src/test/java/org/springframework/boot/cli/compiler/AetherGrapeEngineTests.java b/spring-boot-cli-grape/src/test/java/org/springframework/boot/cli/compiler/AetherGrapeEngineTests.java index c27b9486f28..a4654ad37fa 100644 --- a/spring-boot-cli-grape/src/test/java/org/springframework/boot/cli/compiler/AetherGrapeEngineTests.java +++ b/spring-boot-cli-grape/src/test/java/org/springframework/boot/cli/compiler/AetherGrapeEngineTests.java @@ -70,6 +70,19 @@ public class AetherGrapeEngineTests { assertEquals(6, customClassLoader.getURLs().length); } + @Test(expected = DependencyResolutionFailedException.class) + public void resolutionWithSnapshotRepositoriesDisabled() { + Map args = new HashMap(); + System.setProperty("disableSpringSnapshotRepos", "true"); + try { + new AetherGrapeEngine(this.groovyClassLoader, null, null, null).grab(args, + createDependency("org.springframework", "spring-jdbc", "3.2.0.M1")); + } + finally { + System.clearProperty("disableSpringSnapshotRepos"); + } + } + private Map createDependency(String group, String module, String version) { Map dependency = new HashMap(); diff --git a/spring-boot-cli/src/test/java/org/springframework/boot/cli/SampleIntegrationTests.java b/spring-boot-cli/src/test/java/org/springframework/boot/cli/SampleIntegrationTests.java index 0ec653588aa..0c6a74216a2 100644 --- a/spring-boot-cli/src/test/java/org/springframework/boot/cli/SampleIntegrationTests.java +++ b/spring-boot-cli/src/test/java/org/springframework/boot/cli/SampleIntegrationTests.java @@ -49,7 +49,6 @@ public class SampleIntegrationTests { @BeforeClass public static void cleanGrapes() throws Exception { GrapesCleaner.cleanIfNecessary(); - // System.setProperty("ivy.message.logger.level", "3"); } @Rule