Yes, I can. Can you tell me where some similar tests live?

On Fri, Dec 9, 2011 at 2:43 PM, Olivier Lamy <ol...@apache.org> wrote:
> 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
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to