History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: STR-2853
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Wendy Smoak
Reporter: Wendy Smoak
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Struts 1

Configure the CheckStyle plugin to use the struts_checks.xml file

Created: 30/Apr/06 09:31 PM   Updated: 03/Jul/07 08:25 PM
Component/s: Build
Affects Version/s: Nightly Build
Fix Version/s: 1.3.5


 Description  « Hide
As shown at the bottom of [1], we need to put the struts_checks.xml and LICENSE.CheckStyle files in a jar and use it as an <extension> in the pom.

[1] http://maven.apache.org/plugins/maven-checkstyle-plugin/customize.html


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Wendy Smoak - 01/May/06 03:53 AM

One option is to have a top-level 'maven' project for the CheckStyle and other config files, the struts-parent pom, and any Maven plugins we end up writing. (Similar to MyFaces: http://svn.apache.org/repos/asf/myfaces )

Another is to create a jar from action/build, but then the plugin config has to be duplicated in all the modules to avoid a circular dependency.

Other ideas?

James Mitchell - 01/May/06 04:43 AM
It sounds like the first option would be the best for us. That would allow us to share anything (code, resources, *tests*, licenses, etc) across all of Struts projects (action1, action2, as well as Shale or any other projects in the sandbox or even external).


Wendy Smoak - 01/May/06 04:31 PM

Some discussion in the webwork chat:
   http://forums.opensymphony.com/thread.jspa?threadID=28830

I'm not sure about sharing code and tests... what I'm thinking of here is maven-specific. So far my plan is to have

struts/maven/trunk
struts/maven/trunk/pom/pom.xml <--- currently in struts/pom, to be moved down.
struts/maven/trunk/build/ <--- Maven project for struts-build.jar, containing the CheckStyle config (and LICENSE.txt, Jalopy config...)

This is also where we'll put the (as yet unwritten) 'test build promotion' plugin.

These are things that must be released separately from, and in advance of, any Action 1 release. (Same for Action 2/Shale if those sub-projects elect to release with Maven 2 and need these or other build config files.)

Unless I hear objections I'll go ahead and try this out in a day or so. If it doesn't work out, we can always remove it.

Wendy Smoak - 03/May/06 05:43 AM

The struts/action/trunk/build directory has been moved to struts/maven/trunk/build, where it now creates a struts-build-1.0.0-SNAPSHOT.jar containing the config files. A snapshot has been published to cvs.apache.org, so the build should work from a clean checkout.

CheckStyle's regexpHeader property still needs to be set to the org/apache/struts/build/LICENSE.CheckStyle file in the struts-build jar.

Wendy Smoak - 04/Jul/06 03:58 AM
I've changed the struts-parent pom to use a URL instead of finding the Checkstyle config file in struts-build.jar.

IMO, while it's nice to make the build reproducible by having struts-build.jar in the repository, it isn't worth the additional effort required to coordinate a release when anything changes. No objection if someone else would like to release it and change the pom back, though.

Wendy Smoak - 06/Jul/06 04:13 AM
Fixed, with struts1/pom.xml pointing at struts_checks.xml in the svn repo, and the header added as a single line regexp since Checkstyle won't read a headerFile from a URL.