evenisse 2004/10/14 08:01:44 Modified: changelog/src/main/org/apache/maven/perforcelib PerforceChangeLogFactory.java PerforceChangeLogParser.java changelog/src/test/org/apache/maven/perforcelib PerforceChangeLogParserTest.java changelog/xdocs changes.xml Log: MPCHANGELOG-45. Perforce Repository URL should include project. Revision Changes Path 1.3 +11 -7 maven-plugins/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogFactory.java Index: PerforceChangeLogFactory.java =================================================================== RCS file: /home/cvs/maven-plugins/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- PerforceChangeLogFactory.java 2 Mar 2004 15:00:18 -0000 1.2 +++ PerforceChangeLogFactory.java 14 Oct 2004 15:01:44 -0000 1.3 @@ -28,23 +28,27 @@ * It expects the repository connection element in the POM to be of * this form: <b><code>scm:perforce[:P4PORT]:FILESPEC</code></b>. If * the P4PORT is omitted, the corresponding environment variable will - * be used. The FILESPEC should use the appropriate Perforce - * wildcards to represent all of the project's files. For example, + * be used. The FILESPEC should use "depot syntax" with the + * appropriate Perforce wildcards to represent all of the project's + * files, i.e. '...' * + * The repository URL element should refer to a <a + * href="http://www.perforce.com/perforce/products/p4web.html">p4web</a> + * instance. The portion of the URL following the host:port should + * match the FILESPEC in the repository connection element, sans the + * '...'. It must end with a '/'. + * + * For example, * <pre> * <repository> * <connection> * scm:perforce:some.host.com:1666://depot/projects/maven/... * </connection> * <url> - * http://public.perforce.com:8080 + * http://public.perforce.com:8080//depot/projects/maven/ * </url> * </repository> * </pre> - * - * The repository url element should reference the root context of a <a - * href="http://www.perforce.com/perforce/products/p4web.html">p4web</a> - * instance. * * @author <a href="mailto:[EMAIL PROTECTED]">Jim Crossley</a> * @version $Id: 1.5 +7 -3 maven-plugins/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java Index: PerforceChangeLogParser.java =================================================================== RCS file: /home/cvs/maven-plugins/changelog/src/main/org/apache/maven/perforcelib/PerforceChangeLogParser.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PerforceChangeLogParser.java 8 Jul 2004 08:36:51 -0000 1.4 +++ PerforceChangeLogParser.java 14 Oct 2004 15:01:44 -0000 1.5 @@ -91,6 +91,9 @@ /** the before date */ private Date beforeDate; + /** The depot filespec will be stripped from each filename */ + private int prefixLength; + private static final String pattern = "^\\.\\.\\. #(\\d+) " + // revision number "change (\\d+) .* " + // changelist number @@ -119,6 +122,9 @@ { this.changeLog = changeLog; setDateRange(); + String conn = changeLog.getRepositoryConnection(); + String filespec = conn.substring(conn.lastIndexOf(':')+1); + this.prefixLength = 1 + filespec.lastIndexOf ('/'); } /** @@ -171,8 +177,6 @@ */ private void addEntry(ChangeLogEntry entry, ChangeLogFile file) { - System.out.println(); - System.out.println(entry.toXML()); if (beforeDate != null) { if (entry.getDate().before(beforeDate)) { return; @@ -197,7 +201,7 @@ private void processGetRevision(String line) { if (line.startsWith(FILE_BEGIN_TOKEN)) { - currentFile = line; + currentFile = line.substring (this.prefixLength); return; } 1.3 +9 -5 maven-plugins/changelog/src/test/org/apache/maven/perforcelib/PerforceChangeLogParserTest.java Index: PerforceChangeLogParserTest.java =================================================================== RCS file: /home/cvs/maven-plugins/changelog/src/test/org/apache/maven/perforcelib/PerforceChangeLogParserTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- PerforceChangeLogParserTest.java 2 Mar 2004 15:00:19 -0000 1.2 +++ PerforceChangeLogParserTest.java 14 Oct 2004 15:01:44 -0000 1.3 @@ -23,6 +23,7 @@ import junit.framework.TestCase; import org.apache.maven.changelog.ChangeLogEntry; +import org.apache.maven.changelog.ChangeLog; /** * Test cases for [EMAIL PROTECTED] PerforceChangeLogParser} @@ -58,6 +59,9 @@ assertNotNull("The system property basedir was not defined.", baseDir); testFile = baseDir + "/src/test-resources/perforcelib/perforcelog.txt"; parser = new PerforceChangeLogParser(); + ChangeLog changeLog = new ChangeLog(); + changeLog.setRepositoryConnection ("scm:perforce://depot/test/..."); + parser.init (changeLog); } /** @@ -79,7 +83,7 @@ "\t\t<time>13:38:40</time>\n" + "\t\t<author><![CDATA[jim]]></author>\n" + "\t\t<file>\n" + - "\t\t\t<name>//depot/test/junk/linefeed.txt</name>\n" + + "\t\t\t<name>junk/linefeed.txt</name>\n" + "\t\t\t<revision>3</revision>\n" + "\t\t</file>\n" + "\t\t<msg><![CDATA[ Where's my change #\n" + @@ -94,7 +98,7 @@ "\t\t<time>16:24:20</time>\n" + "\t\t<author><![CDATA[jim]]></author>\n" + "\t\t<file>\n" + - "\t\t\t<name>//depot/test/demo/demo.c</name>\n" + + "\t\t\t<name>demo/demo.c</name>\n" + "\t\t\t<revision>4</revision>\n" + "\t\t</file>\n" + "\t\t<msg><![CDATA[ Backing out my test changes\n" + @@ -111,15 +115,15 @@ "\t\t<time>17:21:57</time>\n" + "\t\t<author><![CDATA[mcronin]]></author>\n" + "\t\t<file>\n" + - "\t\t\t<name>//depot/test/demo/demo.c</name>\n" + + "\t\t\t<name>demo/demo.c</name>\n" + "\t\t\t<revision>1</revision>\n" + "\t\t</file>\n" + "\t\t<file>\n" + - "\t\t\t<name>//depot/test/demo/dictcalls.txt</name>\n" + + "\t\t\t<name>demo/dictcalls.txt</name>\n" + "\t\t\t<revision>1</revision>\n" + "\t\t</file>\n" + "\t\t<file>\n" + - "\t\t\t<name>//depot/test/demo/dictwords.txt</name>\n" + + "\t\t\t<name>demo/dictwords.txt</name>\n" + "\t\t\t<revision>1</revision>\n" + "\t\t</file>\n" + "\t\t<msg><![CDATA[ demonstration of Perforce on Windows, Unix and VMS.\n" + 1.44 +1 -0 maven-plugins/changelog/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/maven-plugins/changelog/xdocs/changes.xml,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- changes.xml 1 Oct 2004 08:10:29 -0000 1.43 +++ changes.xml 14 Oct 2004 15:01:44 -0000 1.44 @@ -26,6 +26,7 @@ </properties> <body> <release version="1.8-SNAPSHOT" date="in CVS"> + <action dev="evenisse" type="fix" issue="MPCHANGELOG-45" due-to="Jim Crossley">Perforce Repository URL should include project.</action> <action dev="dion" type="fix" issue="MPCHANGELOG-46" due-to="Juha Komulainen">Handle ViewCVS URLs with ? in them.</action> <action dev="brett" type="update">Upgrade to Maven 1.1 libraries.</action> </release>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]