From 7a96f451f5b24d26d157b35b37145c295f037fd2 Mon Sep 17 00:00:00 2001 From: ltheussl Date: Wed, 20 Dec 2006 00:11:48 +0000 Subject: [PATCH] PR: MPXDOC-202 Plugin fails with anonymous access and empty password in scm url. git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@488862 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/org/apache/maven/xdoc/util/ScmUtil.java | 14 ++++++++++++-- .../org/apache/maven/xdoc/util/ScmUtilTest.java | 9 +++++++++ xdoc/xdocs/changes.xml | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java b/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java index b2a50fcc..93b46353 100644 --- a/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java +++ b/xdoc/src/main/org/apache/maven/xdoc/util/ScmUtil.java @@ -566,9 +566,19 @@ public final class ScmUtil throw new IllegalArgumentException( "cvs local repository connection string doesn't contain five tokens" ); } - } + }else if ( ( tokens.length == 7 ) && tokens[2].equals( "pserver" ) && tokens[4].startsWith("@")) + { + String[] newTokens = new String[6]; - if ( tokens.length != 6 ) + newTokens[0] = tokens[0]; + newTokens[1] = tokens[1]; + newTokens[2] = tokens[2]; + newTokens[3] = tokens[3] + tokens[4]; + newTokens[4] = tokens[5]; + newTokens[5] = tokens[6]; + tokens = newTokens; + } + else if ( tokens.length != 6 ) { throw new IllegalArgumentException( "cvs repository connection string doesn't contain six tokens" ); diff --git a/xdoc/src/test/org/apache/maven/xdoc/util/ScmUtilTest.java b/xdoc/src/test/org/apache/maven/xdoc/util/ScmUtilTest.java index 8807322b..d2ea5a5a 100644 --- a/xdoc/src/test/org/apache/maven/xdoc/util/ScmUtilTest.java +++ b/xdoc/src/test/org/apache/maven/xdoc/util/ScmUtilTest.java @@ -31,6 +31,8 @@ public class ScmUtilTest extends TestCase "scm:cvs|pserver|username@localhost|C:/repositories|module_name"; private final String cvs2 = "scm:cvs:ext:username@cvs.apache.org:/cvs/root:module"; + private final String cvs3 = + "scm:cvs:pserver:anoncvs:@cvs.apache.org:/cvs/root:module"; private final String svn = "scm:svn:http://svn.apache.org/svn/root/module"; private final String perforce1 = "scm:perforce:john_doe@somehost:21:path_to_repository"; @@ -47,6 +49,7 @@ public class ScmUtilTest extends TestCase { assertEquals( scmUtil.getSCMConnectionSeparator( cvs1 ), "|" ); assertEquals( scmUtil.getSCMConnectionSeparator( cvs2 ), ":" ); + assertEquals( scmUtil.getSCMConnectionSeparator( cvs3 ), ":" ); assertEquals( scmUtil.getSCMConnectionSeparator( svn ), ":" ); } @@ -54,6 +57,7 @@ public class ScmUtilTest extends TestCase { assertEquals( scmUtil.getScmType( cvs1 ), "cvs" ); assertEquals( scmUtil.getScmType( cvs2 ), "cvs" ); + assertEquals( scmUtil.getScmType( cvs3 ), "cvs" ); assertEquals( scmUtil.getScmType( svn ), "svn" ); assertNull( scmUtil.getScmType( invalid ) ); } @@ -62,6 +66,7 @@ public class ScmUtilTest extends TestCase { assertEquals( scmUtil.getCvsModule( cvs1 ), "module_name" ); assertEquals( scmUtil.getCvsModule( cvs2 ), "module" ); + assertEquals( scmUtil.getCvsModule( cvs3 ), "module" ); assertNull( scmUtil.getCvsModule( invalid ) ); } @@ -75,6 +80,10 @@ public class ScmUtilTest extends TestCase "scm:cvs:ext:username:@cvs.apache.org:/cvs/root:module" ); assertEquals( scmUtil.getCvsConnection( cvs2, "john_doe" ), "scm:cvs:ext:john_doe@cvs.apache.org:/cvs/root:module" ); + assertEquals( scmUtil.getCvsConnection( cvs3, "" ), + "scm:cvs:pserver:anoncvs:@cvs.apache.org:/cvs/root:module" ); + assertEquals( scmUtil.getCvsConnection( cvs3, "john_doe" ), + "scm:cvs:pserver:john_doe@cvs.apache.org:/cvs/root:module" ); assertEquals( scmUtil.getCvsConnection( svn, "" ), "" ); } diff --git a/xdoc/xdocs/changes.xml b/xdoc/xdocs/changes.xml index a277f4b7..e618070f 100644 --- a/xdoc/xdocs/changes.xml +++ b/xdoc/xdocs/changes.xml @@ -27,6 +27,7 @@ + Plugin fails with anonymous access and empty password in scm url. Change margin between menu items in stylus.css. Plugin fails if there is an index.xml in the filesystem root directory. Improve stylus.css.