You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benson Margulies (JIRA)" <ji...@codehaus.org> on 2011/12/09 18:24:39 UTC

[jira] Commented: (MNG-5214) Dependency resolution substitutes g:a:v:jar for j:a:v:something-else when something-else isn't in the reactor

    [ https://jira.codehaus.org/browse/MNG-5214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285353#comment-285353 ] 

Benson Margulies commented on MNG-5214:
---------------------------------------

Here's a backtrace of the artifact being resolved inappropriately.

DefaultArtifact.setFile(File) line: 202	
RepositoryUtils.toArtifact(Artifact) line: 96	
RepositoryUtils.toArtifact(Dependency) line: 69	
RepositoryUtils.toArtifacts(Collection<Artifact>, Collection<DependencyNode>, List<String>, DependencyFilter) line: 112	
LifecycleDependencyResolver.getDependencies(MavenProject, Collection<String>, Collection<String>, MavenSession, boolean, Set<Artifact>) line: 219	
LifecycleDependencyResolver.resolveProjectDependencies(MavenProject, Collection<String>, Collection<String>, MavenSession, boolean, Set<Artifact>) line: 117	
MojoExecutor.ensureDependenciesAreResolved(MojoDescriptor, MavenSession, DependencyContext) line: 258	
MojoExecutor.execute(MavenSession, MojoExecution, ProjectIndex, DependencyContext) line: 201	
MojoExecutor.execute(MavenSession, MojoExecution, ProjectIndex, DependencyContext, PhaseRecorder) line: 153	
MojoExecutor.execute(MavenSession, List<MojoExecution>, ProjectIndex) line: 145	
MojoExecutor.executeForkedExecutions(MojoExecution, MavenSession, ProjectIndex) line: 365	
DefaultLifecycleExecutor.executeForkedExecutions(MojoExecution, MavenSession) line: 173	
DefaultMavenReportExecutor.buildReportPlugin(MavenReportExecutorRequest, ReportPlugin, List<String>, List<MavenReportExecution>) line: 282	
DefaultMavenReportExecutor.buildMavenReports(MavenReportExecutorRequest) line: 148

> Dependency resolution substitutes g:a:v:jar for j:a:v:something-else when something-else isn't in the reactor
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5214
>                 URL: https://jira.codehaus.org/browse/MNG-5214
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0
>            Reporter: Benson Margulies
>
> Start with:
>  https://svn.apache.org/repos/asf/cxf/trunk
> Put some pergem space into MAVEN_OPTS (http://cxf.apache.org/building.html)
> run mvn -Pfastinstall
> Now, cd to systests/wsdl_maven
> Run mvn site:site
> Here's what's happening under the covers. The first child module has an execution of the CXF java2ws plugin in 'process-classes'. The second module has an execution of the CXF codegen plugin in 'generate-sources'.
> The first module creates, and attaches, an artifact: org.apache.cxf.systests.wsdl_maven:cxf-systests-java2ws:(v):wsdl.
> The second module declares it as a dependency.
> In a multi-module project, one module has a plugin execution in phase 'process-classes' that produces an attached artifact (with type 'wsdl').
> The site lifecycle does not, by default, include process-classes. So the wsdl isn't in the reactor, but it's cousin the 'jar' is. 
> When the codegen plugin calls the artifact resolver, it expects to get an error, or, better yet, a copy of that wsdl from the local repo or the apache snapshot repo. Instead, the resolver 'resolves' the artifact to the corresponding 'jar' in the reactor. Calling getFile() returns the target/classes directory.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira