diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java index e53c4486af..91f5c33a40 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java @@ -306,7 +306,7 @@ public MavenProjectBuildingResult buildProjectWithDependencies( File pomFile, Pr Artifact pomArtifact = repositorySystem.createProjectArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion() ); pomArtifact.setFile( pomFile ); - ArtifactResolutionRequest request = new ArtifactResolutionRequest().setArtifact( pomArtifact ).setArtifactDependencies( project.getDependencyArtifacts() ) + ArtifactResolutionRequest request = new ArtifactResolutionRequest().setArtifact( pomArtifact ).setResolveTransitively( true ).setArtifactDependencies( project.getDependencyArtifacts() ) .setLocalRepository( configuration.getLocalRepository() ).setRemoteRepostories( project.getRemoteArtifactRepositories() ).setManagedVersionMap( project.getManagedVersionMap() ); ArtifactResolutionResult result = repositorySystem.resolve( request ); diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java index e8f0912891..011b70f180 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java @@ -65,6 +65,11 @@ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepo { Artifact pomArtifact = repositorySystem.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() ); + if ( "pom".equals( artifact.getType() ) ) + { + pomArtifact.setFile( artifact.getFile() ); + } + Set artifacts = Collections.emptySet(); ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration(); @@ -79,7 +84,15 @@ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepo if ( !artifact.getArtifactHandler().isIncludesDependencies() ) { - ArtifactFilter filter = new ScopeArtifactFilter( artifact.getScope() ); + ArtifactFilter filter; + if ( artifact.getScope() == null ) + { + filter = null; + } + else + { + filter = new ScopeArtifactFilter( artifact.getScope() ); + } artifacts = project.createArtifacts( filter );