You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/10/26 21:35:31 UTC
svn commit: r1766741 - in /maven/shared/trunk/maven-common-artifact-filters:
./ src/main/java/org/apache/maven/shared/artifact/filter/
src/test/java/org/apache/maven/shared/artifact/filter/
Author: rfscholte
Date: Wed Oct 26 21:35:31 2016
New Revision: 1766741
URL: http://svn.apache.org/viewvc?rev=1766741&view=rev
Log:
[MSHARED-386] Wildcard does not work with null classifier
Modified:
maven/shared/trunk/maven-common-artifact-filters/pom.xml
maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java
maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/AbstractPatternArtifactFilterTest.java
Modified: maven/shared/trunk/maven-common-artifact-filters/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/pom.xml?rev=1766741&r1=1766740&r2=1766741&view=diff
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/pom.xml (original)
+++ maven/shared/trunk/maven-common-artifact-filters/pom.xml Wed Oct 26 21:35:31 2016
@@ -109,7 +109,7 @@
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
- <version>3.0.0</version>
+ <version>3.1.0</version>
</dependency>
<dependency>
Modified: maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java?rev=1766741&r1=1766740&r2=1766741&view=diff
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/main/java/org/apache/maven/shared/artifact/filter/PatternIncludesArtifactFilter.java Wed Oct 26 21:35:31 2016
@@ -191,7 +191,18 @@ public class PatternIncludesArtifactFilt
final String[] tokens = value.split( ":" );
for ( String pattern : patterns )
{
- final String[] patternTokens = pattern.split( ":" );
+ String[] patternTokens = pattern.split( ":" );
+
+ if ( patternTokens.length == 5 && tokens.length < 5 )
+ {
+ // 4th element is the classifier
+ if ( !"*".equals( patternTokens[3] ) )
+ {
+ // classifier required, cannot be a match
+ return false;
+ }
+ patternTokens = new String[] { patternTokens[0], patternTokens[1], patternTokens[2], patternTokens[4] };
+ }
// fail immediately if pattern tokens outnumber tokens to match
boolean matched = patternTokens.length <= tokens.length;
Modified: maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/AbstractPatternArtifactFilterTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/AbstractPatternArtifactFilterTest.java?rev=1766741&r1=1766740&r2=1766741&view=diff
==============================================================================
--- maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/AbstractPatternArtifactFilterTest.java (original)
+++ maven/shared/trunk/maven-common-artifact-filters/src/test/java/org/apache/maven/shared/artifact/filter/AbstractPatternArtifactFilterTest.java Wed Oct 26 21:35:31 2016
@@ -463,6 +463,33 @@ public abstract class AbstractPatternArt
verify( mac.getMock(), otherMac.getMock() );
}
+
+ public void testShouldIncludeJarsWithAndWithoutClassifier()
+ {
+ final String groupId = "com.mycompany.myproject";
+ final String artifactId = "some-artifact-id";
+
+ final ArtifactMockAndControl mac = new ArtifactMockAndControl( groupId, artifactId );
+
+ replay( mac.getMock() );
+
+ final List<String> patterns = new ArrayList<String>();
+
+ patterns.add( "com.mycompany.*:*:jar:*:*" );
+
+ final ArtifactFilter filter = createFilter( patterns );
+
+ if ( !isInclusionExpected() )
+ {
+ assertFalse( filter.include( mac.artifact ) );
+ }
+ else
+ {
+ assertTrue( filter.include( mac.artifact ) );
+ }
+
+ verify( mac.getMock() );
+ }
// FIXME: Not sure what this is even trying to test.
// public void testShouldIncludeDirectDependencyWhenInvertedWildcardMatchesButDoesntMatchTransitiveChild(