Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by WendySmoak:
http://wiki.apache.org/struts/StrutsMaintenanceMaven

The comment on the change is:
Add automatic numbering and table of contents, remove Maven 1 information

------------------------------------------------------------------------------
- = Struts Action Framework and Maven 2 =
+ '''Struts Action Framework and Maven 2'''
  
+ [[TableOfContents]]
+ 
- == 1. Maven Setup ==
+ == Maven Setup ==
  
  Download and install Maven 2 from http://maven.apache.org.
  
  Maven 2 does not use .properties files.  Per-developer and per-system 
configuration is done in '''~/.m2/settings.xml'''.  (Where '~' represents the 
user's home directory.)  For more information, refer to the 
[http://maven.apache.org/maven-settings/settings.html settings model] and the 
Suggested Settings section below.
  
- == 2. Checkout Source from Subversion ==
+ == Checkout Source from Subversion ==
  
  The Struts Subversion repository is organized into sub-projects.  You can 
check out Struts Action 1 alone using this URL:
  {{{
@@ -19, +21 @@

     svn co https://svn.apache.org/repos/asf/struts/current  current
  }}}
  
- == 3. Building with Maven ==
+ == Building with Maven ==
  
- === 3.1 Local Install ===
+ === Local Install ===
  To build and install all of the artifacts (pom, jar, and war files) in your 
local Maven repository:
  {{{
     ~/svn/struts/current/action
@@ -35, +37 @@

     $ mvn clean
  }}}
  
- === 3.2 Binary and Source Assembly ===
+ === Binary and Source Assembly ===
  To build the -all assembly, first enable the 'pre-assembly' profile, which 
will cause the javadoc and source artifacts to be produced:
  {{{
     ~/svn/struts/current/action
@@ -52, +54 @@

  '''NOTE:''' The 'assembly:assembly' goal must be run from action/assembly.  
Somehow, this needs to be coordinated with release:prepare and release:perform, 
so that the assembly will contain the same jars that were just deployed to the 
repository.
  
  
- === 3.3 Source Assembly ===
+ === Source Assembly ===
  
   * The -sources jars are included in struts-action-x.x.x-all.[zip|tar.gz].
  
@@ -60, +62 @@

  
   * See StrutsMaven2Plan for some additional thoughts on assemblies.
  
- == 4. Integration Testing ==
+ == Integration Testing ==
  
  The Maven 2 
[http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 
build lifecycle] includes a phase for integration testing.  Currently, a module 
may contain only unit tests ''or'' integration tests, but not both.  See the 
[http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies 
testing strategies] page for discussion and proposals.
  
@@ -82, +84 @@

  
  '''NOTE:''' If the tests fail, Cargo will not be able to stop the container.
  
- == 5. Suggested Settings ==
+ == Suggested Settings ==
  
  ~/.m2/settings.xml
  
@@ -126, +128 @@

  </settings>
  }}}
  
- == 6. Snapshots ==
+ == Snapshots ==
  
  To deploy snapshots of all build artifacts (pom, jar, war, including -sources 
and -javadoc):
  {{{
@@ -138, +140 @@

  
  To avoid repeated password prompts, configure the apache-maven-snapshots 
<server> in ~/.m2/settings.xml.
  
- == 7. References ==
+ == References ==
  
   * [http://www.developer.com/open/article.php/10930_3552026_2 This article] 
provides a good introduction to Maven 2 and lists some other useful goals.
  
- == 8. TODO ==
+ == TODO ==
  
   * Consolidate some of the example apps to reduce the size of the 
distribution (?Suggested by Don?)
   * Create a custom deployment plugin to handle promoting our test builds from 
cvs.apache.org/maven-snapshot-repository to 
www.apache.org/dist/maven-repository.
@@ -155, +157 @@

    * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html
    * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
   * Document the Struts Maven 2 release process:  StrutsMavenRelease
+  * Integration tests for the webapps under various container/JDK combinations
  
- 
- -----
- 
- = The information below refers to the Maven 1 build, which is scheduled to be 
removed in mid-April. =
- 
- == 1. Maven Setup ==
- 
- Note:  These instructions assume that you have downloaded and installed 
[http://maven.apache.org/maven-1.x/start/download.html Maven 1.0.2].  
- 
- There are two additional plugins required which are not provided with the 
maven distribution
- 
- === 1.1 Cactus Plugin ===
- 
- Download the latest jar (currently cactus-maven-1.7.jar - ''April 2005'') 
from [http://www.ibiblio.org/maven/cactus/plugins/ ibilio] and drop it in the 
"plugins" directory in your "maven home". Further instructions on the 
[http://jakarta.apache.org/cactus/integration/maven/installing.html Cactus] 
site.
- 
- === 1.2 Findbugs Plugin ===
- From the command line...
- 
- {{{
-     $maven -DartifactId=maven-findbugs-plugin -DgroupId=maven-plugins 
-Dversion=0.8.4 plugin:download
- }}}
- 
- == 2. Checkout Source from Subversion ==
- Checkout Struts using the "current" thing - no sure what it is - some kind
- of Subversion "view" which allows you to grab all the "trunk" versions of
- the components - this is the url for it....
- 
-    https://svn.apache.org/repos/asf/struts/current/
- 
- For example, using a command-line svn client, type this:
- {{{
- $ svn checkout http://svn.apache.org/repos/asf/struts/current struts/current
- }}}
- 
- Say you put it in a directory called c:\svn\struts\current - then you will
- see the following directories...
- {{{
-   \apps
-   \bsf
-   \build
-   \core
-   \el
-   \faces
-   \flow
-   \plugins
-   \sandbox
-   \shale
-   \taglib
-   \tiles
- }}}
- 
- == 3. Properties ==
- The taglib subproject needs a build.properties file which contains the 
location of Tomcat for running cactus tests.
- 
- Go to the \taglib directory and create a ''build.properties'' file by copying 
the ''build.properties.sample'' thats already in there. Modify the following 
lines to point to the location of Tomcat 5 on your local machine...
- {{{
- cactus.home.tomcat5x 
=D:/cygwin/home/jmitchell/apache_home/jakarta-tomcat-5.0.28
- tomcat.home = D:/cygwin/home/jmitchell/apache_home/jakarta-tomcat-5.0.28
- }}}
- 
- == 4. Maven Targets ==
- 
- === 4.1 Building Everything ===
- Go to the \build directory and run command
- {{{
-       $maven build-all
- }}}
- 
- If you experience an !OutOfMemoryError, try setting an environment variable:  
MAVEN_OPTS=-Xmx1024m
- 
- For more information on Maven's command-line settings and options, see 
[http://maven.apache.org/maven-1.x/reference/command-line.html this page].
- 
- There is also a command for "cleaning up" everything
- {{{
-       $maven clean-all
- }}}
- 
- === 4.2 Building Subproject ===
- Go to the subproject directory (e.g. \tiles) and run command
- {{{
-       $maven dist
- }}}
- The equivalent command for cleaning...
- {{{
-       $maven clean
- }}}
- 
- 
- 
- == 5 Want to help? ==
- 
- If you have some free time and you'd like to help the Struts team tackle a 
few issues (with respect to building and maintanence), take a stab at anything 
below.  Unless you have commit rights, you won't be able to fix these issues, 
but if you make the needed changes and add the ''''svn diff'''' output to a 
bugzilla ticket, that'd be great!
- 
- If you happen to fix any of these, please don't remove the item from this 
page, just add [done] in front of it, thanks!
- 
- === 5.1 @TODO for nightly builds ===
- 
- 
-  * Add a test to verify that artifacts were uploaded correctly.  This would 
be part of a shell script that verifies (via curl or some other utility) that 
the artifacts that were intended to be uploaded were done so correctly.
- 
-  * configure nightly builds to run the full nightly build against the 
following:
-   * J2SE 1.3.1
-   * J2SE 1.4.1
-   * J2SE 1.4.2
-   * J2SE 1.5.0
-   * J2SE 5.0
- 
-  * modify the build so that the taglib tests will be run against the 
following: (for each jdk above)
-   * [http://jakarta.apache.org/tomcat/ tomcat4.0.x]
-   * [http://jakarta.apache.org/tomcat/ tomcat4.1.x]
-   * [http://jakarta.apache.org/tomcat/ tomcat5.0.x]
-   * [http://jakarta.apache.org/tomcat/ tomcat5.5.x]
-   * [http://www.orionserver.com/ orion2x]
-   * [http://www.caucho.com/ resin2x]
-   * [http://www.jboss.org/products/index jboss3x]
-   * [http://www.jboss.org/products/index jboss4x]
-   * [http://www.sun.com/software/products/appsrvr/index.xml sun]
-   * [http://www.bea.com weblogic7x] (but only if we can get/borrow a license 
;)
-   * [http://www.bea.com weblogic8x]  (same as above)
-   * [http://www-306.ibm.com/software/websphere/ websphere6x] (same as above)
-   * [http://www.oracle.com/appserver/index.html oracle application server] 
(same as above)
- 
-  * add ability to do a ''''$maven dist'''' for several target JVMs
-  * add target to build/maven.xml that builds javadoc for entire project 
(combined javadoc)
-  * add and test Multiproject dependency report 
(<report>maven-multiproject-plugin</report>)
- 
- === 5.2 @TODO for all or 'general svn'  ===
-  * remove all .cvsignore
-  * add/verify a stock set of svn:ignore (would be nice to have some script 
that could add provided arguments to svn:ignore props)
- {{{
- $add-svn-ignore .project .classpath
- }}}
-  * Artifact Report (deliverables)
-  * add a publish target to all project.xml (will publish the generated docs 
to our staging web site, which should be updated with any release)
-  * go through all source and fix svn expandable keywords
-  * fix all external links that do redirects (running $maven site causes 
exception on redirect during link check report)
-  * Code review plugin?  (what value is it?  should we add it?)
-  * Change Log reports "Syntax error in revision argument".  This might be 
related to "Problems using date revisions" on 
http://apache.org/dev/version-control.html
- 
- === 5.3 @TODO for /apps  ===
-   (see [StrutsMaintenanceSvnApps this page] for help grocking the purpose of 
layout and build strutcture)
-  * Remove the mailreader demo from commons-chain, ensure that any enhanced 
functionality makes it's way into the "shared" app.
-  * Identify and merge all mailreader apps (not shale, there is too much 
that's __not__ in common) to the below structure
-  * current maven build should not be creating struts-apps.jar (that is just a 
directory to hold a parent pom)
-  * need src distribution
-  * finish adding license to apps/*/project.xml
-  * Httpclient tests to run through apps pages for verification
-  * add maven check that if taglib tld not avail
-    * call ../taglib/struts:generate-tlds
-    * copy the gen'd tlds to proper place for inclusion in building apps
-  * dao
-   * when running tests - test-database.xml is created, but not removed
-  * add commons-logging and log4j config
-  * tour.html -> clean up
-  * cactus tests for all apps (struts test case ? )
-  * Mailreader validation - cancelling from the edit registration page fails 
validation.  This should simply let you return to the Main Menu Options page.
- 
- === 5.4 @TODO for /core  ===
-  * svn mv src/share src/java
-  * the junit tests get run 2 times (known issue for maven, I think) (Possible 
fix: http://jroller.com/page/carlossg?entry=maven_tips_and_tricks_avoid )
- 
- === 5.5 @TODO for /el  ===
-  * dist of el is copying twice
- {{{
-   (not sure why yet, but this happens after '''$maven build-all'''
-  $ ll stage/src/struts-1.2.7-dev-src/contrib/
-  el/
-  struts-el/
- }}}
-               - lib does not contain el
- 
- 
- === 5.6 @TODO for /bsf  ===
-  * version says 1.0-dev, i thought pre 1.0 stuff goes in sandbox?
- 
- === 5.7 @TODO for /taglib  ===
-  * add ability to run cactus with precompiled JSPs
-  * Taglibs should use ConvertUtils.convert(Object) instead of .toString() 
[http://issues.apache.org/bugzilla/show_bug.cgi?id=32197 bugzilla ticket 32197]
- 
- === 5.8 @TODO for /tiles  ===
-     (this stuff could probably be moved 
[http://wiki.apache.org/struts/TilesTopLevel this page])
-  * remove dependency on Struts
-  * provide servlet based controller
-  * provide filter based controller
-  * provide page based controller (yes, a JSP-based controller)
-  * dist - struts-tiles-1.3.0-dev.jar - tld no generated?
- 
- 
- === 5.9 @TODO for /sandbox  ===
-  * mailreader-chain
-   * remove it (see above or apps/)
- 
- === 5.10 @TODO for /faces ===
-  * Nothing in 
http://svn.apache.org/builds/struts/maven/trunk/nightly/struts-faces/
- 
- === 5.11 @TODO for Documentation (in general)  ===
- 
- We need something that specifies the nightly, test build, release candidate 
and official release deliverables.
- This document should detail out the naming convention and artifact locations 
(including use of mirrors)
- 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to