diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java index 5c0f197e14..4ed234dbac 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java @@ -42,6 +42,7 @@ import org.codehaus.groovy.control.customizers.ImportCustomizer; import org.codehaus.groovy.transform.ASTTransformation; import org.codehaus.groovy.transform.ASTTransformationVisitor; +import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; import org.springframework.boot.cli.compiler.grape.AetherGrapeEngine; import org.springframework.boot.cli.compiler.grape.AetherGrapeEngineFactory; import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext; @@ -90,6 +91,8 @@ public class GroovyCompiler { this.loader = createLoader(configuration); DependencyResolutionContext resolutionContext = new DependencyResolutionContext(); + resolutionContext.addDependencyManagement( + new SpringBootDependenciesDependencyManagement()); AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(this.loader, configuration.getRepositoryConfiguration(), resolutionContext); diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContext.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContext.java index 4095830acd..20f2c5ba4b 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContext.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContext.java @@ -31,7 +31,6 @@ import org.springframework.boot.cli.compiler.dependencies.ArtifactCoordinatesRes import org.springframework.boot.cli.compiler.dependencies.CompositeDependencyManagement; import org.springframework.boot.cli.compiler.dependencies.DependencyManagement; import org.springframework.boot.cli.compiler.dependencies.DependencyManagementArtifactCoordinatesResolver; -import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; /** * Context used when resolving dependencies. @@ -49,10 +48,6 @@ public class DependencyResolutionContext { private ArtifactCoordinatesResolver artifactCoordinatesResolver; - public DependencyResolutionContext() { - addDependencyManagement(new SpringBootDependenciesDependencyManagement()); - } - private String getIdentifier(Dependency dependency) { return getIdentifier(dependency.getArtifact().getGroupId(), dependency.getArtifact().getArtifactId()); diff --git a/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/ResolveDependencyCoordinatesTransformationTests.java b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/ResolveDependencyCoordinatesTransformationTests.java index 9e08165610..84fdd776ca 100644 --- a/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/ResolveDependencyCoordinatesTransformationTests.java +++ b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/ResolveDependencyCoordinatesTransformationTests.java @@ -43,6 +43,7 @@ import org.junit.Before; import org.junit.Test; import org.springframework.boot.cli.compiler.dependencies.ArtifactCoordinatesResolver; +import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext; import static org.assertj.core.api.Assertions.assertThat; @@ -68,6 +69,10 @@ public final class ResolveDependencyCoordinatesTransformationTests { private final DependencyResolutionContext resolutionContext = new DependencyResolutionContext() { + { + addDependencyManagement(new SpringBootDependenciesDependencyManagement()); + } + @Override public ArtifactCoordinatesResolver getArtifactCoordinatesResolver() { return ResolveDependencyCoordinatesTransformationTests.this.coordinatesResolver; diff --git a/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java index de40b02aa1..fb8dafb44c 100644 --- a/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java +++ b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/AetherGrapeEngineTests.java @@ -32,6 +32,7 @@ import org.eclipse.aether.repository.Authentication; import org.eclipse.aether.repository.RemoteRepository; import org.junit.Test; +import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; @@ -54,8 +55,11 @@ public class AetherGrapeEngineTests { repositoryConfigurations.add(new RepositoryConfiguration("central", URI.create("http://repo1.maven.org/maven2"), false)); repositoryConfigurations.addAll(Arrays.asList(additionalRepositories)); + DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext(); + dependencyResolutionContext.addDependencyManagement( + new SpringBootDependenciesDependencyManagement()); return AetherGrapeEngineFactory.create(this.groovyClassLoader, - repositoryConfigurations, new DependencyResolutionContext()); + repositoryConfigurations, dependencyResolutionContext); } @Test diff --git a/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContextTests.java b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContextTests.java new file mode 100644 index 0000000000..725437d6de --- /dev/null +++ b/spring-boot-cli/src/test/java/org/springframework/boot/cli/compiler/grape/DependencyResolutionContextTests.java @@ -0,0 +1,43 @@ +/* + * Copyright 2012-2015 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.boot.cli.compiler.grape; + +import org.junit.Test; + +import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Dave Syer + * + */ +public class DependencyResolutionContextTests { + + @Test + public void defaultDependenciesEmpty() { + assertThat(new DependencyResolutionContext().getManagedDependencies()).isEmpty(); + } + + @Test + public void canAddSpringBootDependencies() { + DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext(); + dependencyResolutionContext.addDependencyManagement(new SpringBootDependenciesDependencyManagement()); + assertThat(dependencyResolutionContext.getManagedDependencies()).isNotEmpty(); + } + +}