Skip to content

Commit

Permalink
SHRINKWRAP-322 Updated Aether dependencies
Browse files Browse the repository at this point in the history
* Updated Aether to 1.12
* Flatten dependencies
* Fixed local repository types according to 1.12
* Replaced Aether 1.12 deprecated method with equivalents
  • Loading branch information
kpiwko authored and ALRubinger committed Oct 12, 2011
1 parent e80a0b8 commit c20418f
Show file tree
Hide file tree
Showing 7 changed files with 205 additions and 169 deletions.
190 changes: 158 additions & 32 deletions impl-maven/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,27 @@
<properties>

<!-- Versioning -->
<version.org.sonatype.aether>1.8</version.org.sonatype.aether>
<version.org.apache.maven>3.0.1</version.org.apache.maven>
<version.org.apache.maven.wagon>1.0-beta-7</version.org.apache.maven.wagon>
<appended.jar.for.test>${basedir}/src/test/resources/artifacts/test-pom-in.jar</appended.jar.for.test>
<version.org.apache.maven>3.0.3</version.org.apache.maven>
<version.org.apache.maven.wagon>1.0</version.org.apache.maven.wagon>

<version.org.codehaus.plexus.classworlds>2.4</version.org.codehaus.plexus.classworlds>
<version.org.codehaus.plexus.component.annotations>1.5.5</version.org.codehaus.plexus.component.annotations>
<version.org.codehaus.plexus.interpolation>1.14</version.org.codehaus.plexus.interpolation>
<version.org.codehaus.plexus.utils>2.0.7</version.org.codehaus.plexus.utils>

<version.org.jsoup>1.6.1</version.org.jsoup>

<version.org.sonatype.aether>1.12</version.org.sonatype.aether>

<version.org.sonatype.plexus.cipher>1.4</version.org.sonatype.plexus.cipher>
<version.org.sonatype.plexus.sec.dispatcher>1.3</version.org.sonatype.plexus.sec.dispatcher>

<version.org.sonatype.sisu.inject.plexus>2.2.2</version.org.sonatype.sisu.inject.plexus>
<version.org.sonatype.sisu.inject.bean>2.2.2</version.org.sonatype.sisu.inject.bean>
<version.org.sonatype.sisu.guice>3.0.2</version.org.sonatype.sisu.guice>

<version.commons.io>2.0.1</version.commons.io>
<appended.jar.for.test>${basedir}/src/test/resources/artifacts/test-pom-in.jar</appended.jar.for.test>
</properties>

<!-- Dependencies -->
Expand All @@ -50,31 +66,25 @@
<artifactId>shrinkwrap-resolver-api-maven</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap</groupId>
<artifactId>shrinkwrap-impl-base</artifactId>
<scope>test</scope>
</dependency>

<!--
External Projects
-->

<!-- org.sonatype.aether -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-api</artifactId>
<version>${version.org.sonatype.aether}</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.16</version>
<scope>test</scope>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>${version.org.sonatype.aether}</version>
</dependency>

<!-- org.sonatype.aether -->
<dependency>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-api</artifactId>
<artifactId>aether-spi</artifactId>
<version>${version.org.sonatype.aether}</version>
</dependency>
<dependency>
Expand All @@ -93,20 +103,101 @@
</exclusion>
</exclusions>
</dependency>

<!-- org.codehaus.plexus -->
<dependency>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>${version.org.sonatype.aether}</version>
<scope>test</scope>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>${version.org.codehaus.plexus.classworlds}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>${version.org.codehaus.plexus.utils}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>${version.org.codehaus.plexus.interpolation}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>${version.org.codehaus.plexus.component.annotations}</version>
</dependency>

<!-- org.sonatype.plexus -->
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>${version.org.sonatype.plexus.sec.dispatcher}</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>${version.org.sonatype.plexus.cipher}</version>
</dependency>

<!-- org.sonatype.sisu -->
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-inject-plexus</artifactId>
<version>${version.org.sonatype.sisu.inject.plexus}</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-inject-bean</artifactId>
<version>${version.org.sonatype.sisu.inject.bean}</version>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-guice</artifactId>
<version>${version.org.sonatype.sisu.guice}</version>
<classifier>no_aop</classifier>
<exclusions>
<exclusion>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
<exclusion>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
</exclusion>
</exclusions>
</dependency>


<!-- org.apache.maven -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-aether-provider</artifactId>
<version>${version.org.apache.maven}</version>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>${version.org.apache.maven}</version>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-builder</artifactId>
<version>${version.org.apache.maven}</version>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-repository-metadata</artifactId>
<version>${version.org.apache.maven}</version>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>${version.org.apache.maven}</version>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
Expand All @@ -128,18 +219,56 @@
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
<version>${version.org.apache.maven.wagon}</version>
</dependency>

<!-- org.apache.maven.wagon.http.lightweight dependencies -->
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-shared</artifactId>
<version>${version.org.apache.maven.wagon}</version>
<exclusions>
<exclusion>
<groupId>nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>nekohtml</groupId>
<artifactId>xercesMinimal</artifactId>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${version.commons.io}</version>
</dependency>

<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${version.org.jsoup}</version>
</dependency>


<!-- Test dependencies -->
<dependency>
<groupId>org.jboss.shrinkwrap</groupId>
<artifactId>shrinkwrap-impl-base</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.16</version>
<scope>test</scope>
</dependency>

</dependencies>

Expand Down Expand Up @@ -191,7 +320,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<id>default-testResources</id>
Expand Down Expand Up @@ -268,11 +396,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.1</version>
<version>2.9</version>
<configuration>
<systemPropertyVariables>
<java.util.logging.config.file>logging.properties</java.util.logging.config.file>
</systemPropertyVariables>
<argLine>-Djava.util.logging.config.file=${project.build.testOutputDirectory}/logging.properties</argLine>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
import org.sonatype.aether.collection.DependencyCollectionException;
import org.sonatype.aether.resolution.ArtifactResolutionException;
import org.sonatype.aether.resolution.ArtifactResult;
import org.sonatype.aether.resolution.DependencyResolutionException;

/**
* A default implementation of dependency builder based on Maven.
Expand Down Expand Up @@ -326,20 +327,27 @@ public File[] resolveAsFiles() throws ResolutionException {
public File[] resolveAsFiles(MavenResolutionFilter filter) throws ResolutionException {
Validate.notEmpty(dependencies, "No dependencies were set for resolution");

CollectRequest request = new CollectRequest(MavenConverter.asDependencies(dependencies), null,
CollectRequest request = new CollectRequest(MavenConverter.asDependencies(dependencies),
MavenConverter.asDependencies(new ArrayList<MavenDependency>(versionManagement)),
settings.getRemoteRepositories());

// configure filter
filter.configure(Collections.unmodifiableList(dependencies));

// wrap artifact files to archives
Collection<ArtifactResult> artifacts;
Collection<ArtifactResult> artifacts = null;
try {
artifacts = system.resolveDependencies(session, request, filter);
} catch (DependencyCollectionException e) {
throw new ResolutionException("Unable to collect dependeny tree for a resolution", e);
} catch (ArtifactResolutionException e) {
throw new ResolutionException("Unable to resolve an artifact", e);
} catch (DependencyResolutionException e) {
Throwable cause = e.getCause();
if (cause != null) {
if (cause instanceof ArtifactResolutionException) {
throw new ResolutionException("Unable to get artifact from the repository", cause);
} else if (cause instanceof DependencyCollectionException) {
throw new ResolutionException("Unable to collect dependency tree for given dependencies", cause);
}
throw new ResolutionException("Unable to collect/resolve dependency tree for a resulution", e);
}
}

Collection<File> files = new ArrayList<File>(artifacts.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,7 @@ public class MavenManagerBuilder {
private RepositorySystem system;

private static enum LocalRepositoryType {
// does not allow connection to a remote repository
SIMPLE("simple"),

// connects to a remote repository if required
ENHANCED("enhanced");
SIMPLE("simple"), ENHANCED("default");

private final String type;

Expand Down Expand Up @@ -137,5 +133,4 @@ public ProxySelector proxySelector() {

return dps;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@
import org.sonatype.aether.resolution.ArtifactRequest;
import org.sonatype.aether.resolution.ArtifactResolutionException;
import org.sonatype.aether.resolution.ArtifactResult;
import org.sonatype.aether.resolution.DependencyRequest;
import org.sonatype.aether.resolution.DependencyResolutionException;
import org.sonatype.aether.resolution.DependencyResult;

/**
* Abstraction of the repository system for purposes of dependency resolution used by Maven
Expand Down Expand Up @@ -172,8 +175,12 @@ public void loadSettings(File file, MavenDependencyResolverSettings settings) {
* @throws ArtifactResolutionException If an artifact could not be fetched
*/
public Collection<ArtifactResult> resolveDependencies(RepositorySystemSession session, CollectRequest request,
MavenResolutionFilter filter) throws DependencyCollectionException, ArtifactResolutionException {
return system.resolveDependencies(session, request, new MavenResolutionFilterWrap(filter));
MavenResolutionFilter filter) throws DependencyResolutionException {

DependencyRequest depRequest = new DependencyRequest(request, new MavenResolutionFilterWrap(filter));
DependencyResult result = system.resolveDependencies(session, depRequest);
return result.getArtifactResults();

}

/**
Expand Down

0 comments on commit c20418f

Please sign in to comment.