Restore dependency-tools API compatibility

Refactor dependency-tools to restore API compatibility with Spring
Boot 1.0. This should reduce reflection hacks that tools such as Gretty
would otherwise have to make.

See gh-1035
This commit is contained in:
Phillip Webb
2014-06-08 12:11:20 -07:00
parent f1d216a33b
commit 9b982dabdb
18 changed files with 357 additions and 218 deletions

View File

@@ -39,9 +39,9 @@ import org.codehaus.groovy.control.messages.SyntaxErrorMessage;
import org.codehaus.groovy.syntax.SyntaxException;
import org.codehaus.groovy.transform.ASTTransformation;
import org.springframework.boot.cli.compiler.grape.DependencyResolutionContext;
import org.springframework.boot.dependency.tools.Dependencies;
import org.springframework.boot.dependency.tools.ManagedDependencies;
import org.springframework.boot.dependency.tools.PropertiesFileManagedDependencies;
import org.springframework.boot.dependency.tools.VersionManagedDependencies;
import org.springframework.boot.dependency.tools.PropertiesFileDependencies;
import org.springframework.boot.groovy.GrabMetadata;
/**
@@ -151,11 +151,10 @@ public class GrabMetadataTransformation extends AnnotatedNodeASTTransformation {
List<Map<String, String>> metadataDependencies) {
URI[] uris = Grape.getInstance().resolve(null,
metadataDependencies.toArray(new Map[metadataDependencies.size()]));
List<ManagedDependencies> managedDependencies = new ArrayList<ManagedDependencies>(
uris.length);
List<Dependencies> managedDependencies = new ArrayList<Dependencies>(uris.length);
for (URI uri : uris) {
try {
managedDependencies.add(new PropertiesFileManagedDependencies(uri.toURL()
managedDependencies.add(new PropertiesFileDependencies(uri.toURL()
.openStream()));
}
catch (IOException ex) {
@@ -164,8 +163,8 @@ public class GrabMetadataTransformation extends AnnotatedNodeASTTransformation {
}
}
this.resolutionContext.setManagedDependencies(new VersionManagedDependencies(
managedDependencies));
this.resolutionContext.setManagedDependencies(ManagedDependencies
.get(managedDependencies));
}
private void handleDuplicateGrabMetadataAnnotation(AnnotationNode annotationNode) {

View File

@@ -16,13 +16,13 @@
package org.springframework.boot.cli.compiler.dependencies;
import org.springframework.boot.dependency.tools.Dependencies;
import org.springframework.boot.dependency.tools.Dependency;
import org.springframework.boot.dependency.tools.ManagedDependencies;
import org.springframework.boot.dependency.tools.VersionManagedDependencies;
import org.springframework.util.StringUtils;
/**
* {@link ArtifactCoordinatesResolver} backed by {@link ManagedDependencies}.
* {@link ArtifactCoordinatesResolver} backed by {@link Dependencies}.
*
* @author Phillip Webb
*/
@@ -32,7 +32,7 @@ public class ManagedDependenciesArtifactCoordinatesResolver implements
private final ManagedDependencies dependencies;
public ManagedDependenciesArtifactCoordinatesResolver() {
this(new VersionManagedDependencies());
this(ManagedDependencies.get());
}
public ManagedDependenciesArtifactCoordinatesResolver(ManagedDependencies dependencies) {

View File

@@ -24,12 +24,11 @@ import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.util.artifact.JavaScopes;
import org.springframework.boot.dependency.tools.ManagedDependencies;
import org.springframework.boot.dependency.tools.PomManagedDependencies;
import org.springframework.boot.dependency.tools.VersionManagedDependencies;
import org.springframework.boot.dependency.tools.PomDependencies;
/**
* Factory to create Maven {@link Dependency} objects from Boot
* {@link PomManagedDependencies}.
* {@link PomDependencies}.
*
* @author Phillip Webb
*/
@@ -38,7 +37,7 @@ public class ManagedDependenciesFactory {
private final ManagedDependencies dependencies;
ManagedDependenciesFactory() {
this(new VersionManagedDependencies());
this(ManagedDependencies.get());
}
public ManagedDependenciesFactory(ManagedDependencies dependencies) {