+1 (yes, change the myfaces-master-pom ...) --Manfred
On Mon, Jun 30, 2008 at 11:28 PM, simon <[EMAIL PROTECTED]> wrote: > Hi, > > As I mentioned a few weeks ago, I'd like to clean up the way we do our > checkstyle rule checking. Right now we point the maven-checkstyle-report > plugin directly at a file in the svn repository. > > Using svn directly does have the benefit of simplicity, and allows us to > update the rules easily. However it has the following disadvantages: > * prevents us from changing our repository layout without breaking old > releases. > * changing the rules changes the report generated when rebuilding old > releases > * cannot build maven site without network access to svn repo. > > The alternative is to create a maven artifact containing the checkstyle > rules and deploy it to the repository. Then this artifact can be used by > the report plugin. This fixes all of the above. The only real > disadvantage is that to update the checkstyle rules we need to release a > new version of the rules artifact, then update the master pom. That's no > big deal though. > > I have already checked in a checkstyle module here: > http://svn.apache.org/repos/asf/myfaces/myfaces-build-tools/trunk/other/checkstyle-rules/ > > The original checkstyle rules file had almost every check commented out; > in this module I have enabled the checks I think are reasonable. Note > that this module also holds tobago checkstyle rules, although I have no > idea whether the tobago team want to use this or not; this is mostly to > demonstrate that separate checkstyle rules *can* be in the same > checkstyle artifact if it is desired. Or can be overridden in a project, > just by redefining the maven-checkstyle-plugin configuration. > > The patch below to the myfaces-master-pom would then switch over to > using this new module. Note that the checkstyle plugin is now configured > in <plugins> not <pluginManagement>. Using <pluginManagement> makes no > sense if we then reference the plugin in the reporting section of the > same pom. > > Could you please indicate: > [+1] yes, change the myfaces-master-pom to use checkstyle rules > artifact > [-1] no, leave things alone and remove the new checkstyle artifact > > If people are happy with this, I will update the master pom, leave it to > settle in for a week or so, then call a vote to make a release of both > the rules artifact and a new master pom. > > Thanks, > Simon > > > Index: pom.xml > =================================================================== > --- pom.xml (revision 660720) > +++ pom.xml (working copy) > @@ -639,6 +639,20 @@ > <build> > <defaultGoal>install</defaultGoal> > > + <plugins> > + <plugin> > + <artifactId>maven-checkstyle-plugin</artifactId> > + <version>2.2</version> > + <dependencies> > + <dependency> > + <groupId>org.apache.myfaces.buildtools</groupId> > + <artifactId>checkstyle-rules</artifactId> > + <version>1-SNAPSHOT</version> > + </dependency> > + </dependencies> > + </plugin> > + </plugins> > + > <!-- > - The pluginManagement section does not declare actual > dependencies. > - However if a child pom declares a dependency on one of the > plugins > @@ -685,11 +699,6 @@ > </plugin> > > <plugin> > - <artifactId>maven-checkstyle-plugin</artifactId> > - <version>2.1</version> > - </plugin> > - > - <plugin> > <artifactId>maven-javadoc-plugin</artifactId> > <version>2.3</version> > </plugin> > @@ -762,17 +771,10 @@ > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-checkstyle-plugin</artifactId> > - <version>2.1</version> > + <version>2.2</version> > <configuration> > -<!-- TODO: FIX THIS! > - - > - - Referencing resources directly from svn is very bad. Firstly, it > needs network access to build anything. > - - But worse, if this pom is released with this here, then svn cannot > be reorganised to move these files > - - without breaking any builds that use that released pom. Which means > the svn directory structure is > - - effectively "locked" in place for years. > - --> > - > <configLocation>http://svn.apache.org/repos/asf/myfaces/myfaces-master-pom/trunk/checkstyle/default/myfaces-checks.xml</configLocation> > - > <headerLocation>http://svn.apache.org/repos/asf/myfaces/myfaces-master-pom/trunk/checkstyle/default/myfaces-header.txt</headerLocation> > + > <configLocation>default/myfaces-checks.xml</configLocation> > + > <headerLocation>default/myfaces-header.txt</headerLocation> > </configuration> > </plugin> > </plugins> > > -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces