Hello, 2011/12/9 <bimargul...@apache.org>: > Author: bimargulies > Date: Fri Dec 9 18:30:26 2011 > New Revision: 1212564 > > URL: http://svn.apache.org/viewvc?rev=1212564&view=rev > Log: > MNG-5214: Dependency resolution substitutes g:a:v:jar for > j:a:v:something-else when something-else isn't in the reacto > > o When Aether asks the ReactorReader for a file for an artifact, remember to > match type and classifier. And if all else > fails, do not return target/classes if the desired artifact is not of type > 'jar'. Arguably, if type or classifier > are non-default, then we should never return those default paths at all. > o Add 'dir' format to make it quicker to run a quick test. If everyone hates > this I'll revert it. > > Modified: > maven/maven-3/trunk/apache-maven/src/main/assembly/bin.xml > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java > > Modified: maven/maven-3/trunk/apache-maven/src/main/assembly/bin.xml > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/apache-maven/src/main/assembly/bin.xml?rev=1212564&r1=1212563&r2=1212564&view=diff > ============================================================================== > --- maven/maven-3/trunk/apache-maven/src/main/assembly/bin.xml (original) > +++ maven/maven-3/trunk/apache-maven/src/main/assembly/bin.xml Fri Dec 9 > 18:30:26 2011 > @@ -20,6 +20,7 @@ under the License. > <assembly> > <id>bin</id> > <formats> > + <format>dir</format>
Why ? I wonder if you could add a core it test for this use case ? The use case is the cxf build you pointed ? > <format>zip</format> > <format>tar.gz</format> > </formats> > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java?rev=1212564&r1=1212563&r2=1212564&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorReader.java > Fri Dec 9 18:30:26 2011 > @@ -85,9 +85,10 @@ class ReactorReader > { > return projectArtifact.getFile(); > } > - else if ( !hasBeenPackaged( project ) ) > + else if ( !hasBeenPackaged( project ) ) > { > // fallback to loose class files only if artifacts haven't been > packaged yet > + // and only for plain old jars. Not war files, not ear files, > not anything else. > > if ( isTestArtifact( artifact ) ) > { > @@ -98,7 +99,7 @@ class ReactorReader > } > else > { > - if ( project.hasLifecyclePhase( "compile" ) ) > + if ( project.hasLifecyclePhase( "compile" ) && > artifact.getProperty( "type", "").equals( "jar" ) ) /* also reject non-"" > classifier? */ > { > return new File( project.getBuild().getOutputDirectory() > ); > } > @@ -143,7 +144,9 @@ class ReactorReader > { > for ( org.apache.maven.artifact.Artifact attachedArtifact : > attachedArtifacts ) > { > - if ( requestedRepositoryConflictId.equals( getConflictId( > attachedArtifact ) ) ) > + if ( requestedArtifact.getProperty ( "type", "" ).equals( > attachedArtifact.getType() ) > + && classifierComparison ( > requestedArtifact.getClassifier(), attachedArtifact.getClassifier() ) > + && requestedRepositoryConflictId.equals( getConflictId( > attachedArtifact ) ) ) > { > return attachedArtifact; > } > @@ -152,6 +155,12 @@ class ReactorReader > > return null; > } > + > + private boolean classifierComparison ( String c1, String c2 ) > + { > + return c1 == null && c2 == null > + || ((c1 != null) && c1.equals(c2)); > + } > > /** > * Gets the repository conflict id of the specified artifact. Unlike the > dependency conflict id, the repository > > -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org