Repository: maven Updated Branches: refs/heads/master 425c66358 -> fddade227
MNG-5638: Whitespaces matter in <mirrorOf> configuration can cause the incorrect repo to be selected Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fddade22 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fddade22 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fddade22 Branch: refs/heads/master Commit: fddade227d17f2cb9fe7e71c14cf5591cfa96851 Parents: 425c663 Author: Jason van Zyl <[email protected]> Authored: Wed Jun 11 22:26:18 2014 -0400 Committer: Jason van Zyl <[email protected]> Committed: Wed Jun 11 22:26:18 2014 -0400 ---------------------------------------------------------------------- .../maven/repository/DefaultMirrorSelector.java | 1 + .../maven/repository/DefaultMirrorSelectorTest.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/fddade22/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java ---------------------------------------------------------------------- diff --git a/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java b/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java index 37fe3ab..53e7bd4 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java @@ -89,6 +89,7 @@ public class DefaultMirrorSelector String[] repos = pattern.split( "," ); for ( String repo : repos ) { + repo = repo.trim(); // see if this is a negative match if ( repo.length() > 1 && repo.startsWith( "!" ) ) { http://git-wip-us.apache.org/repos/asf/maven/blob/fddade22/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java ---------------------------------------------------------------------- diff --git a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java new file mode 100644 index 0000000..52a871d --- /dev/null +++ b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java @@ -0,0 +1,16 @@ +package org.apache.maven.repository; + +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.DefaultArtifactRepository; +import org.codehaus.plexus.PlexusTestCase; + +public class DefaultMirrorSelectorTest extends PlexusTestCase { + + public void testMirrorWithMirroOfPatternContainingANegationIsNotSelected() { + ArtifactRepository repository = new DefaultArtifactRepository("snapshots.repo", "http://whatever", null); + String pattern = "external:*, !snapshots.repo"; + boolean matches = DefaultMirrorSelector.matchPattern(repository, pattern); + System.out.println(matches); + assertFalse(matches); + } +}
