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]