Make DependencyResolutionContext empty by default

It's more useful as a building block for other tools that way,
and it's easy to add the spring boot dependencies using public
methods.
pull/6613/head
Dave Syer 8 years ago
parent 6b3eede59f
commit f62abade90

@ -42,6 +42,7 @@ import org.codehaus.groovy.control.customizers.ImportCustomizer;
import org.codehaus.groovy.transform.ASTTransformation; import org.codehaus.groovy.transform.ASTTransformation;
import org.codehaus.groovy.transform.ASTTransformationVisitor; 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.AetherGrapeEngine;
import org.springframework.boot.cli.compiler.grape.AetherGrapeEngineFactory; import org.springframework.boot.cli.compiler.grape.AetherGrapeEngineFactory;
import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext; import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext;
@ -90,6 +91,8 @@ public class GroovyCompiler {
this.loader = createLoader(configuration); this.loader = createLoader(configuration);
DependencyResolutionContext resolutionContext = new DependencyResolutionContext(); DependencyResolutionContext resolutionContext = new DependencyResolutionContext();
resolutionContext.addDependencyManagement(
new SpringBootDependenciesDependencyManagement());
AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(this.loader, AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(this.loader,
configuration.getRepositoryConfiguration(), resolutionContext); configuration.getRepositoryConfiguration(), resolutionContext);

@ -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.CompositeDependencyManagement;
import org.springframework.boot.cli.compiler.dependencies.DependencyManagement; import org.springframework.boot.cli.compiler.dependencies.DependencyManagement;
import org.springframework.boot.cli.compiler.dependencies.DependencyManagementArtifactCoordinatesResolver; import org.springframework.boot.cli.compiler.dependencies.DependencyManagementArtifactCoordinatesResolver;
import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement;
/** /**
* Context used when resolving dependencies. * Context used when resolving dependencies.
@ -49,10 +48,6 @@ public class DependencyResolutionContext {
private ArtifactCoordinatesResolver artifactCoordinatesResolver; private ArtifactCoordinatesResolver artifactCoordinatesResolver;
public DependencyResolutionContext() {
addDependencyManagement(new SpringBootDependenciesDependencyManagement());
}
private String getIdentifier(Dependency dependency) { private String getIdentifier(Dependency dependency) {
return getIdentifier(dependency.getArtifact().getGroupId(), return getIdentifier(dependency.getArtifact().getGroupId(),
dependency.getArtifact().getArtifactId()); dependency.getArtifact().getArtifactId());

@ -43,6 +43,7 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.cli.compiler.dependencies.ArtifactCoordinatesResolver; 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 org.springframework.boot.cli.compiler.grape.DependencyResolutionContext;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@ -68,6 +69,10 @@ public final class ResolveDependencyCoordinatesTransformationTests {
private final DependencyResolutionContext resolutionContext = new DependencyResolutionContext() { private final DependencyResolutionContext resolutionContext = new DependencyResolutionContext() {
{
addDependencyManagement(new SpringBootDependenciesDependencyManagement());
}
@Override @Override
public ArtifactCoordinatesResolver getArtifactCoordinatesResolver() { public ArtifactCoordinatesResolver getArtifactCoordinatesResolver() {
return ResolveDependencyCoordinatesTransformationTests.this.coordinatesResolver; return ResolveDependencyCoordinatesTransformationTests.this.coordinatesResolver;

@ -32,6 +32,7 @@ import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.RemoteRepository;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.cli.compiler.dependencies.SpringBootDependenciesDependencyManagement;
import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@ -54,8 +55,11 @@ public class AetherGrapeEngineTests {
repositoryConfigurations.add(new RepositoryConfiguration("central", repositoryConfigurations.add(new RepositoryConfiguration("central",
URI.create("http://repo1.maven.org/maven2"), false)); URI.create("http://repo1.maven.org/maven2"), false));
repositoryConfigurations.addAll(Arrays.asList(additionalRepositories)); repositoryConfigurations.addAll(Arrays.asList(additionalRepositories));
DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext();
dependencyResolutionContext.addDependencyManagement(
new SpringBootDependenciesDependencyManagement());
return AetherGrapeEngineFactory.create(this.groovyClassLoader, return AetherGrapeEngineFactory.create(this.groovyClassLoader,
repositoryConfigurations, new DependencyResolutionContext()); repositoryConfigurations, dependencyResolutionContext);
} }
@Test @Test

@ -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();
}
}
Loading…
Cancel
Save