Hi Robert, thank you for the pointer.
> This should be the information you were looking for, Alas, the information doesn't quite solve my problems -- but maybe I'm just being obtuse. Let's say I want to built (and resolve) the test-scoped classpath of org.apache.maven.shared:maven-artifact-transfer:0.9.1. All I have is this coordinate. What I do: DefaultDependableCoordinate coord = new DefaultDependableCoordinate(); coord.setGroupId("org.apache.maven.shared"); coord.setGroupId("maven-artifact-transfer"); coord.setVersion("0.9.1"); dependencyResolver.resolveDependencies( session.getProjectBuildingRequest(), coord, null); This gives the following list of artifacts (sorted, to allow for better comparison): > commons-codec:commons-codec:jar:1.6 > commons-io:commons-io:jar:2.5 > org.apache.maven.shared:maven-artifact-transfer:jar:0.9.1 > org.apache.maven.shared:maven-common-artifact-filters:jar:3.0.1 > org.apache.maven.shared:maven-shared-utils:jar:3.1.0 > org.apache.maven:maven-aether-provider:jar:3.0 > org.apache.maven:maven-artifact:jar:3.0 > org.apache.maven:maven-core:jar:3.0 > org.apache.maven:maven-model-builder:jar:3.0 > org.apache.maven:maven-model:jar:3.0 > org.apache.maven:maven-plugin-api:jar:3.0 > org.apache.maven:maven-repository-metadata:jar:3.0 > org.apache.maven:maven-settings-builder:jar:3.0 > org.apache.maven:maven-settings:jar:3.0 > org.codehaus.plexus:plexus-classworlds:jar:2.2.3 > org.codehaus.plexus:plexus-component-annotations:jar:1.7.1 > org.codehaus.plexus:plexus-interpolation:jar:1.14 > org.codehaus.plexus:plexus-utils:jar:3.0.24 > org.slf4j:slf4j-api:jar:1.7.5 > org.sonatype.aether:aether-api:jar:1.7 > org.sonatype.aether:aether-impl:jar:1.7 > org.sonatype.aether:aether-spi:jar:1.7 > org.sonatype.aether:aether-util:jar:1.7 > org.sonatype.plexus:plexus-cipher:jar:1.4 > org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3 > org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7 > org.sonatype.sisu:sisu-inject-bean:jar:1.4.2 > org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2 This differs quite a bit from what "mvn dependency:list" outputs when run on a SVN checkout of the maven-artifact-transfer project: > commons-codec:commons-codec:jar:1.6:compile > commons-io:commons-io:jar:2.5:compile > junit:junit:jar:4.11:test > org.apache.maven.shared:maven-common-artifact-filters:jar:3.0.1:compile > org.apache.maven.shared:maven-shared-utils:jar:3.1.0:compile > org.apache.maven:maven-aether-provider:jar:3.0:runtime > org.apache.maven:maven-artifact:jar:3.0:compile > org.apache.maven:maven-core:jar:3.0:compile > org.apache.maven:maven-model-builder:jar:3.0:compile > org.apache.maven:maven-model:jar:3.0:compile > org.apache.maven:maven-plugin-api:jar:3.0:compile > org.apache.maven:maven-repository-metadata:jar:3.0:compile > org.apache.maven:maven-settings-builder:jar:3.0:compile > org.apache.maven:maven-settings:jar:3.0:compile > org.codehaus.plexus:plexus-classworlds:jar:2.2.3:compile > org.codehaus.plexus:plexus-component-annotations:jar:1.7.1:compile > org.codehaus.plexus:plexus-interpolation:jar:1.14:compile > org.codehaus.plexus:plexus-utils:jar:3.0.24:compile > org.eclipse.aether:aether-api:jar:0.9.0.M2:provided > org.eclipse.aether:aether-impl:jar:0.9.0.M2:provided > org.eclipse.aether:aether-spi:jar:0.9.0.M2:provided > org.eclipse.aether:aether-util:jar:0.9.0.M2:compile > org.hamcrest:hamcrest-core:jar:1.3:test > org.slf4j:slf4j-api:jar:1.7.5:compile > org.sonatype.aether:aether-api:jar:1.7:provided > org.sonatype.aether:aether-impl:jar:1.7:test > org.sonatype.aether:aether-spi:jar:1.7:test > org.sonatype.aether:aether-util:jar:1.7:provided > org.sonatype.plexus:plexus-cipher:jar:1.4:compile > org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile > org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7:compile > org.sonatype.sisu:sisu-inject-bean:jar:1.4.2:compile > org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2:compile The list returned by resolveDependencies contains maven-artifact-transfer (fine), but lacks *some* test-scoped dependencies (like junit:junit:4.11), while others like org.sonatype.aether:aether-impl:1.7 are included. However, a lot of provided-scoped dependency (org.eclipse.aether) are missing, but some are present (org.sonatype.aether). Can you explain to me what's going on here? I feel like I am missing an important conceptual bit. In a similar vein, can you enlighten me what the "type" of a DependableCoordinate is? In particular, how does it differ from the extension or packaging? Best wishes, Andreas
signature.asc
Description: OpenPGP digital signature