Details
-
Type:
New Feature
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: _Plugin Submission
-
Labels:None
-
Environment:Maven 2.0.8
-
Complexity:Intermediate
-
Testcase included:yes
Description
New mojo that produces a report equivalent to the maven-changes-plugin but using subversion commit logs instead of an XML file.
This was first submitted as a enhancement for the maven-changes-plugin but it doesn't seem to fit in their view :o( (http://jira.codehaus.org/browse/MCHANGES-78);
With more than 14 votes and some interests on the mojo-dev mailing list, I therefore sumit it
-
- svnchangelog-maven-plugin_with_hg.tar.gz
- 13/Feb/08 8:06 AM
- 849 kB
- Emmanuel Hugonnet
-
- svnchangelog-maven-plugin.tar.gz
- 04/Feb/08 9:28 AM
- 625 kB
- Emmanuel Hugonnet
-
- svnchangelog-maven-plugin.tar.gz
- 30/Jan/08 10:34 AM
- 941 kB
- Emmanuel Hugonnet
-
Hide
- svnchangelog-maven-plugin.zip
- 01/Feb/08 9:38 AM
- 123 kB
- Emmanuel Hugonnet
-
- svnchangelog-maven-plugin/effective-pom.xml 13 kB
- svnchangelog-maven-plugin/license.txt 1 kB
- svnchangelog-maven-plugin/pom.xml 9 kB
- svnchangelog-maven-plugin/.../AbstractBufferedConsumer.java 2 kB
- svnchangelog-maven-plugin/.../AbstractSvnGrammar.java 8 kB
- svnchangelog-maven-plugin/.../ManuSvnGrammar.java 3 kB
- svnchangelog-maven-plugin/.../RemySvnGrammar.java 3 kB
- svnchangelog-maven-plugin/.../GrammarEnum.java 2 kB
- svnchangelog-maven-plugin/src/.../Issue.java 2 kB
- svnchangelog-maven-plugin/.../Message.java 2 kB
- svnchangelog-maven-plugin/.../OperationTypeEnum.java 2 kB
- svnchangelog-maven-plugin/.../SvnGrammar.java 2 kB
- svnchangelog-maven-plugin/.../SvnLogEntry.java 3 kB
- svnchangelog-maven-plugin/.../Release.java 2 kB
- svnchangelog-maven-plugin/.../SvnChangeLogCommand.java 7 kB
- svnchangelog-maven-plugin/.../SvnChangeLogConsumer.java 4 kB
- svnchangelog-maven-plugin/.../ScmActivityReport.java 26 kB
- svnchangelog-maven-plugin/.../SvnTargetEnum.java 2 kB
- svnchangelog-maven-plugin/.../SvnXmlExeScmProvider.java 3 kB
- svnchangelog-maven-plugin/.../SvnListCommand.java 5 kB
- svnchangelog-maven-plugin/.../SvnListConsumer.java 4 kB
- svnchangelog-maven-plugin/src/.../Tag.java 3 kB
- svnchangelog-maven-plugin/.../BugTrackers.java 2 kB
- svnchangelog-maven-plugin/.../BugTrackLinker.java 1 kB
- svnchangelog-maven-plugin/.../JiraBugTrackLinker.java 2 kB
- svnchangelog-maven-plugin/.../SourceforgeBugTrackLinker.java 2 kB
- svnchangelog-maven-plugin/src/.../blame.xsd 1 kB
- svnchangelog-maven-plugin/src/.../clean.xsl 0.6 kB
- svnchangelog-maven-plugin/src/.../common.xsd 2 kB
- svnchangelog-maven-plugin/src/.../header.txt 1 kB
Issue Links
- supercedes
-
MCHANGES-78
Build a changes report by parsing svn comments
-
Activity
Hi,
Thanks for your remarks !! I will take them into account as much as I can do this friday.
For the rt.jar this comes from the fact that I am using a jdk6 and I wanted to assure compatibility with the jdk1.42.
I will export the Strings so that we may have I18n. I am sorry for the French left (mother tongue) ;o).
ASfor the others SCM, most of the work is done by using the tags elements, I don't know for others scm. I don't think cvs would qualify.
I will improve the documentation for developpers, it is definitively lacking.
I'll hope to post an improved version soon.
Emmanuel
Updated code formatting, and Jerome's remarks are taken into account.
Updated documentation (the example is still to light, I know) with some elements about how to extend it.
Removed French comments
Removed rt.jar dependency.
Some images were in our skin, I have added them to the project.
There was an error with the internationalization.
I have updated the example and we provide a erport generated on another project while we are waiting for Codehaus svn urls to be ready.
Emmanuel
Implementation of Mercurial is done :o)
What blocks me from using only Maven scm Api is the fact that I can't get the revision in a ChangeSet. currently I have to provide my own implementation of commands to return this information.
Emmanuel
No more francetelecom reference.
Support for Hg.
Documentation update
The plugin should be renamed as scmchangelog-maven-plugin has it can be used with at least 2 SCMs and more could be supported.
I had to disable this for the project to build
</excludes> <!--compilerArguments> <verbose/> <bootclasspath>${settings.localRepository}/com/sun/rt/1.4.2_13/rt-1.4.2_13.jar</bootclasspath> </compilerArguments--> </configuration> <!--dependencies> <dependency> <groupId>com.sun</groupId> <artifactId>rt</artifactId> <version>1.4.2_13</version> </dependency> </dependencies--> </plugin>The site
I looked briefly at the code. Some comments:
and as Trygvis said in the mailing list, how hard to make this scm independant ?
as for the bug Tracker interface, it would be nice to start a project to handle common issue trackers operations. But that's for later on...
Hope that helps.
</excludes> <!--compilerArguments> <verbose/> <bootclasspath>${settings.localRepository}/com/sun/rt/1.4.2_13/rt-1.4.2_13.jar</bootclasspath> </compilerArguments--> </configuration> <!--dependencies> <dependency> <groupId>com.sun</groupId> <artifactId>rt</artifactId> <version>1.4.2_13</version> </dependency> </dependencies--> </plugin>- examples/example.html has a typo in the xdoc file name (exemple.xml). By the way this file could use better formatting.
- might be useful to describe what to do to add support to extra trackers
I looked briefly at the code. Some comments:- code formatting isn't following project standard (1450 checkstyle errors)
- some comments are in French (e.g. in POM or site.xml)
- your might want to provide a french translation for the report
- some strings are hardcoded in the scm activity report
- in the scm activity report, some fields could be made @required
- hashcode() in SvnTargetEnum treats this.name == null as a potential case (shouldn't and not consistent with equals). Same for others.
- super() is optional
- in AbstractBufferedConsumer you could change the analize() contract change and make it return the elements, and get rid off the analyzed field and test for elements == null instead. Makes analyze() self contract descriptive
- you can reuse server in loadInfosFromSettings()
and as Trygvis said in the mailing list, how hard to make this scm independant ? as for the bug Tracker interface, it would be nice to start a project to handle common issue trackers operations. But that's for later on... Hope that helps.