The Changelog plugin generates reports based on the changes in the Software Configuration Management or SCM while the Changes plugin generates reports either from a changes.xml file or from the JIRA issue management system. For more information about the changes plugin, see http://maven.apache.org/plugins/maven-changes-plugin
According to Roger Pressman (in his book) Software Engineering: A Practitioner's Approach, SCM is a "set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made."
The dateFormat parameter is used when parsing the dates from the log entries retrieved from your SCM system. It can not be used to format the dates in the report. If you try to do this the parsed dates will be wrong and the dates in the report even more so. They can look like this 0020-05-27 for a file that was changed on 14 december 2005.
When you generate the report, you will see output like this on the command line:
[INFO] [changelog:changelog] [INFO] Generating changed sets xml to: .../target/changelog.xml [INFO] Executing: svn --non-interactive log -v -r "{2007-06-13 22:22:09 +0000}:{2007-07-14 22:22:09 +0000}" http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-site-plugin
The first thing to check is what data the changelog plugin managed to pull out of your SCM system. In the file target/changelog.xml you will find that data. Have a look and see if the data in the file seems correct. If it is not correct, then you are not getting the data you expected from your SCM system. Please check your changelog plugin configuration.
If that doesn't help, you can try to run the maven-scm-plugin from the command line. The maven-changelog-plugin uses Maven SCM under the hood and running the maven-scm-plugin is a great way of verifying that the <scm> element in your pom.xml file is correct. Try this on the command line:
mvn scm:changelog
The plugin itself is configured to generate a changelog report. This is done using the bare minimum of configuration. Have a look at the <scm> and <reporting>/<plugins> elements in the pom.xml of this plugin. The generated report is found here.
You have to specify your clientspec in the <systemProperties> element of this plugin's <configuration> element.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> <configuration> <systemProperties> <property> <name>maven.scm.perforce.clientspec.name</name> <value>your-client-spec-name</value> </property> </systemProperties> </configuration> </plugin>
You need to add <developer> elements in your pom.xml file. Their id:s need to match the userid:s that are used in your SCM system. Only checkins made by a developer found in the pom will be added to the Developer Activity report.
Please follow these steps in the order they come.
The short answer is that they don't. This is usually a misunderstanding of how the SCM URLs are inherited.
If you only define an <scm> element in the parent POM, the child modules will interit a value for their SCM URLs. The path to a child directory, when using the aggregator, is not used when constructing the SCM URLs. Only the artifactId is used.
If you want to examine what your POM looks like, including the SCM URLs, you can run this command:
mvn help:effective-pom