struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Struts Wiki] Update of "StrutsMaintenanceMaven" by WendySmoak
Date Wed, 12 Apr 2006 22:49:17 GMT
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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message