ChangeLogTask (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.taskdefs.cvslib

## Class ChangeLogTask

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.AbstractCvsTask
      - - org.apache.tools.ant.taskdefs.cvslib.ChangeLogTask

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ChangeLogTask
      extends AbstractCvsTask

  Examines the output of cvs log and group related changes together. It produces an XML output representing the list of changes.

       <!-- Root element -->
       <!ELEMENT changelog (entry+)>
       <!-- CVS Entry -->
       <!ELEMENT entry (date,author,file+,msg)>
       <!-- Date of cvs entry -->
       <!ELEMENT date (#PCDATA)>
       <!-- Author of change -->
       <!ELEMENT author (#PCDATA)>
       <!-- List of files affected -->
       <!ELEMENT msg (#PCDATA)>
       <!-- File changed -->
       <!ELEMENT file (name,revision,prevrevision?)>
       <!-- Name of the file -->
       <!ELEMENT name (#PCDATA)>
       <!-- Revision number -->
       <!ELEMENT revision (#PCDATA)>
       <!-- Previous revision number -->
       <!ELEMENT prevrevision (#PCDATA)>

  Since:
    Ant 1.5

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.AbstractCvsTask

      `AbstractCvsTask.Module`

  - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.AbstractCvsTask

      `DEFAULT_COMPRESSION_LEVEL`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ChangeLogTask()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFileset(FileSet fileSet)` Adds a set of files about which cvs logs will be generated.
    `void` | `addUser(CvsUser user)` Add a user to list changelog knows about.
    `void` | `execute()` Execute task
    `void` | `setDaysinpast(int days)` Set the number of days worth of log entries to process.
    `void` | `setDestfile(java.io.File destFile)` Set the output file for the log.
    `void` | `setDir(java.io.File inputDir)` Set the base dir for cvs.
    `void` | `setEnd(java.util.Date endDate)` Set the date at which the changelog should stop.
    `void` | `setEndTag(java.lang.String end)` Set the tag at which the changelog should stop.
    `void` | `setRemote(boolean remote)` Whether to use rlog against a remote repository instead of log in a working copy's directory.
    `void` | `setStart(java.util.Date start)` Set the date at which the changelog should start.
    `void` | `setStartTag(java.lang.String start)` Set the tag at which the changelog should start.
    `void` | `setUsersfile(java.io.File usersFile)` Set a lookup list of user names & addresses

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.AbstractCvsTask

      `addCommandArgument, addCommandArgument, addConfiguredCommandline, addConfiguredCommandline, addModule, configureCommandline, getCommand, getCvsRoot, getCvsRsh, getDest, getErrorStream, getExecuteStreamHandler, getModules, getOutputStream, getPackage, getPassFile, getPort, getTag, removeCommandline, runCommand, setAppend, setCommand, setCompression, setCompressionLevel, setCvsRoot, setCvsRsh, setDate, setDest, setError, setErrorStream, setExecuteStreamHandler, setFailOnError, setNoexec, setOutput, setOutputStream, setPackage, setPassfile, setPort, setQuiet, setReallyquiet, setTag`

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ChangeLogTask

          public ChangeLogTask()

  - ### Method Detail

    - #### setDir

          public void setDir(java.io.File inputDir)

      Set the base dir for cvs.
      Parameters:
        `inputDir` - The new dir value

    - #### setDestfile

          public void setDestfile(java.io.File destFile)

      Set the output file for the log.
      Parameters:
        `destFile` - The new destfile value

    - #### setUsersfile

          public void setUsersfile(java.io.File usersFile)

      Set a lookup list of user names & addresses
      Parameters:
        `usersFile` - The file containing the users info.

    - #### addUser

          public void addUser(CvsUser user)

      Add a user to list changelog knows about.
      Parameters:
        `user` - the user

    - #### setStart

          public void setStart(java.util.Date start)

      Set the date at which the changelog should start.
      Parameters:
        `start` - The date at which the changelog should start.

    - #### setEnd

          public void setEnd(java.util.Date endDate)

      Set the date at which the changelog should stop.
      Parameters:
        `endDate` - The date at which the changelog should stop.

    - #### setDaysinpast

          public void setDaysinpast(int days)

      Set the number of days worth of log entries to process.
      Parameters:
        `days` - the number of days of log to process.

    - #### setRemote

          public void setRemote(boolean remote)

      Whether to use rlog against a remote repository instead of log in a working copy's directory.
      Parameters:
        `remote` - boolean
      Since:
        Ant 1.8.0

    - #### setStartTag

          public void setStartTag(java.lang.String start)

      Set the tag at which the changelog should start.
      Parameters:
        `start` - The date at which the changelog should start.

    - #### setEndTag

          public void setEndTag(java.lang.String end)

      Set the tag at which the changelog should stop.
      Parameters:
        `end` - The date at which the changelog should stop.

    - #### addFileset

          public void addFileset(FileSet fileSet)

      Adds a set of files about which cvs logs will be generated.
      Parameters:
        `fileSet` - a set of files about which cvs logs will be generated.

    - #### execute

          public void execute()
                       throws BuildException

      Execute task
      Overrides:
        `execute` in class `AbstractCvsTask`
      Throws:
        `BuildException` - if something goes wrong executing the cvs command