The attached patch and files remove the strict dependency the ChangeLog
executor had on CVS.  The change log input is now generated by an
implementor of the org.apache.maven.changelog.ChangeLogGenerator
interface, and parsed by an implementor of the 
org.apache.maven.changelog.ChangeLogParser interface.

The executor and its principle support classes and interfaces have been 
moved to the org.apache.maven.changelog package.  The output generated by 
the ChangeLog executor has not changed, nor have the ChangeLogEntry or 
ChangeLogFile classes.

The default implementation for maven falls back on CVS, which is 
implemented by the org.apache.maven.cvslib.CvsChangeLogGenerator and 
org.apache.maven.cvslib.CvsChangeLogParser.

Because CVS doesn't create diffs for moved files, a number of complete 
files have been attached.

Glenn McAllister
SOMA Networks, Inc.

Attachment: clpatch.tar.gz
Description: Tarball of moved and modified files

Index: src/templates/build/build-docs.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/templates/build/build-docs.xml,v
retrieving revision 1.58
diff -u -r1.58 build-docs.xml
--- src/templates/build/build-docs.xml  27 Apr 2002 14:10:47 -0000      1.58
+++ src/templates/build/build-docs.xml  29 Apr 2002 13:29:20 -0000
@@ -118,15 +118,18 @@
 
     <taskdef
       name="change-log"
-      classname="org.apache.maven.ChangeLog">
+      classname="org.apache.maven.changelog.ChangeLog">
       <classpath refid="maven-classpath"/>
+      <classpath refid="classpath"/>
     </taskdef>
 
     <change-log
       projectDescriptor="project.xml"
       baseDir="."
       output="${gen.docs}/changelog.xml"
-      days="${changelog.days}"
+      range="${changelog.days}"
+      generator="${changelog.generator}"
+      parser="${changelog.parser}"
     />
 
   </target>
Index: src/templates/build/default.properties
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/templates/build/default.properties,v
retrieving revision 1.26
diff -u -r1.26 default.properties
--- src/templates/build/default.properties      27 Apr 2002 14:10:47 -0000      1.26
+++ src/templates/build/default.properties      29 Apr 2002 13:29:20 -0000
@@ -145,6 +145,8 @@
 # properties for changelog
 ##
 changelog.days = 5
+changelog.generator = org.apache.maven.cvslib.CvsChangeLogGenerator
+changelog.parser = org.apache.maven.cvslib.CvsChangeLogParser
 
 # -------------------------------------------------------------------
 # M A V E N  U P D A T E  S I T E  A N D  S E L F  U P D A T I N G
Index: xdocs/properties.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/properties.xml,v
retrieving revision 1.11
diff -u -r1.11 properties.xml
--- xdocs/properties.xml        27 Apr 2002 14:10:47 -0000      1.11
+++ xdocs/properties.xml        29 Apr 2002 13:29:21 -0000
@@ -1079,8 +1079,42 @@
             Specifies the number of days to use when generating the
             change log.  This is used by the <a
               href="build-file.html#maven:cvs-change-log">maven:cvs-change-log</a>
-            task.
+            target.
             The default value is <code>5</code> days.
+          </td>
+        </tr>
+        <tr>
+          <td>changelog.generator</td>
+          <td>Yes</td>
+          <td>
+            Specifies a fully qualified class name implementing
+            <code>org.apache.maven.changelog.ChangeLogGenerator</code>.  This
+            class creates an <code>InputStream</code> that is parsed by the
+            class specified by the <code>changelog.parser</code> property to create
+            a collection of <code>ChangeLogEntry</code> objects.  This is used
+            by the <a
+            href="build-file.html#maven:cvs-change-log">maven:cvs-change-log</a>
+            target.  The default value is
+            <a
+            href="apidocs/org/apache/maven/cvslib/CvsChangeLogGenerator.html">
+            org.apache.maven.cvslib.CvsChangeLogGenerator</a>.
+          </td>
+        </tr>
+        <tr>
+          <td>changelog.parser</td>
+          <td>Yes</td>
+          <td>
+            Specifies a fully qualified class name implementing
+            <code>org.apache.maven.changelog.ChangeLogParser</code>.  This
+            class parses the <code>InputStream</code> created by the class
+            specified by the <code>changelog.generator</code> property to
+            create a collection of <code>ChnageLogEntry</code> objects.
+            This is used by the <a
+            href="build-file.html#maven:cvs-change-log">maven:cvs-change-log</a>
+            target. The default value is
+            <a
+            href="apidocs/org/apache/maven/cvslib/CvsChangeLogParser.html">
+            org.apache.maven.cvslib.CvsChangeLogParser</a>.
           </td>
         </tr>
         <tr>

Reply via email to