Author: jmitchell
Date: Tue Aug 30 16:45:58 2005
New Revision: 264894

URL: http://svn.apache.org/viewcvs?rev=264894&view=rev
Log:
With this commit, we pretty much have a descent multiproject Maven build to 
work with.

I don't know everyone's routine (code/deploy/test cycle), but I think I've 
encapsulated most of what everyone wants.

Here are my changes:
 * Add a few entries to the ignore prop
 * Fix maven includes/excludes to correctly ignore the example sub directory 
(can we just remove it?)
 * Reorder and (somewhat) label the build dependencies
 * Complete many of the typical targets needed for code/test development
 * Add example tomcat.home entry required for running cactus tests (none 
created yet, but that'll change shortly)

All of the targets in maven.xml have been tested, cleaned and checked for 
completeness.

The only issues I can think of now are how we deal with allowing 1.4 and 1.5 to 
build this thing.

Also, the Maven cactus plugin is having an issue with the fact that I want the 
cactus test to run on Tomcat 5.5.11.  I'm getting an error saying 
"jakarta-tomcat-5.5.11 not recognized as a Tomcat 4.x installation".

With the exception of the velocity log and the jcoverage serialized file 
(jcoverage.ser), all directories and files that are created during any of the 
build targets are correctly cleaned.  If you add targets or enhance the current 
ones, please verify this still works.




Added:
    struts/sandbox/trunk/ti/wars/samples/src/test-cactus/
Modified:
    struts/sandbox/trunk/ti/   (props changed)
    struts/sandbox/trunk/ti/README.txt
    struts/sandbox/trunk/ti/maven.xml
    struts/sandbox/trunk/ti/project.properties
    struts/sandbox/trunk/ti/project.xml

Propchange: struts/sandbox/trunk/ti/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Aug 30 16:45:58 2005
@@ -0,0 +1,4 @@
+.classpath
+.project
+bin
+.settings

Modified: struts/sandbox/trunk/ti/README.txt
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/README.txt?rev=264894&r1=264893&r2=264894&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/README.txt (original)
+++ struts/sandbox/trunk/ti/README.txt Tue Aug 30 16:45:58 2005
@@ -14,29 +14,29 @@
 authoring and Page Flow of Beehive, and the lessons learned from Struts 1.x.
 
 The key word for Struts Ti is simplicity. Ideally, Struts Ti should
-approach Ruby on Rails levels of easy of use, yet scale up to large
+approach Ruby on Rails levels of ease of use, yet scale up to large
 applications providing a smooth transition to JSF/Shale if desired.
 
 KEY FEATURES
 
-    * POJO-based action that combines an Action and ActionForm in a
-similar manner to JSF backing beans and WebWork 2 Commands
-    * Intelligent defaults utilizing naming and placement conventions
-to require minimal, if any, configuration per page, however it will be
-possible to override everything on a global and per-action basis
-    * Configuration can be “assumed” or declared through annotations,
-xml or properties files, or any other pluggable mechanism
-    * Pluggable EL for data binding defaulting to JSP 2.0 EL but
-allowing OGNL or even BeanUtils
-    * Integration of a dialog or page flow capability drawing from
-Beehive, Spring’s web flow, and Shale’s Dialogs.
+    * POJO-based action that combines an Action and ActionForm in a similar 
+      manner to JSF backing beans and WebWork 2 Commands
+    * Intelligent defaults utilizing naming and placement conventions to 
+      require minimal, if any, configuration per page, however it will be
+      possible to override everything on a global and per-action basis
+    * Configuration can be “assumed” or declared through annotations, xml or 
+      properties files, or any other pluggable mechanism
+    * Pluggable EL for data binding defaulting to JSP 2.0 EL but allowing 
+      OGNL or even BeanUtils
+    * Integration of a dialog or page flow capability drawing from Beehive, 
+      Spring’s web flow, and Shale’s Dialogs.
     * Per-Action optional interceptor chain ala WebWork 2
     * Built-in dependency injection support
 
 DESIGN GOALS
 
-    * No servlet dependency in core framework, portlet and JSF support
-out of the box
+    * No servlet dependency in core framework, portlet and JSF support out 
+      of the box
     * Spring-based dependency injection in core to allow for pluggability
     * No bias to any view technology
     * Ability to layer Struts 1.x compatibility on top
@@ -47,12 +47,11 @@
 IMPLEMENTATION
 
     * Built on the backbone of commons-chain
-    * No restriction on multiple Servlets and/or Servlet Filter
-implementations
-    * Key decision points (action selection for example) use CoR chain
-for maximum flexiblity
-    * Configuration specified using XDoclet (Java 1.4) or Annotations
-(Java 5+), both supported out of the box
+    * No restriction on multiple Servlets and/or Servlet Filter implementations
+    * Key decision points (action selection for example) use CoR chain for 
+      maximum flexiblity
+    * Configuration specified using XDoclet (Java 1.4) or Annotations (Java 
5+), 
+      both supported out of the box
 
 DEPENDENCIES
 
@@ -63,8 +62,8 @@
 
 Existing project collaboration
 
-    * XWork/WebWork using their XWork and possibly parts/all of their
-tag libraries
+    * XWork/WebWork using their XWork and possibly parts/all of their tag 
+      libraries
     * Beehive using the Page Flow and annotations
 
 BUILDING FROM SOURCE
@@ -74,35 +73,6 @@
  $ cd ti    <- your local copy
  $ cd core
  $ maven dist
-
-
-
-       The build plan:
-       
-         ${jdk} - replace this with either 1.4 or 1.5
-         ${ver} - replace with current version 1.0-dev (or YYYYMMDD for 
nightly)
-        
-           Target   Artifact(s)             Description
-           ______   ___________             ___________
-           dist     target/                 creates a full distribution of 
core and example apps
-                      ti-core${jdk}-${ver}.jar
-                      ti-sample${jdk}.war
-                      
-           jar      target/                 creates only core archive
-                       ti-core15.jar
-                       
-           test     (nothing)               run full set of (1.5 based) junit 
tests
-         
-           cactus   (nothing)               run full set of (1.5 based) junit 
and cactus tests
-         
-           site     target/docs/            create ti web site (includes build 
reports)
-                      **/*.html
-                    
-           nightly  target/                 creates nightly distribution that 
gets uploaded to 
-                      ti-core${jdk}         
http://svn.apache.org/builds/struts/maven/trunk/nightly/struts-sandbox/ti/
-                      ti-sample${jdk}-${ver}.war           
-         
-         
 
 
 STATUS

Modified: struts/sandbox/trunk/ti/maven.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/maven.xml?rev=264894&r1=264893&r2=264894&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/maven.xml (original)
+++ struts/sandbox/trunk/ti/maven.xml Tue Aug 30 16:45:58 2005
@@ -1,27 +1,100 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
 
+    The build plan:
+    
+
+      
+NIGHTLY
+  What should be available for nightly?
+  1.4
+    maven jar-all
+    maven war-all
+  1.5
+    maven jar-all
+    maven war-all
+    maven multiproject:site
+
+-->
 <project 
-       xmlns:j="jelly:core" 
-       xmlns:ant="jelly:ant" 
-       xmlns:maven="jelly:maven" 
-       default="multiproject:build">
+    xmlns:j="jelly:core" 
+    xmlns:ant="jelly:ant" 
+    xmlns:maven="jelly:maven" 
+    default="jar">
 
-  <goal name="dist">
-    <attainGoal name="usage"/>
-  </goal>
-  
   <goal name="usage">
-     <echo> Usage: (this is specific to the ti build)</echo>
-     <echo>  maven [-option] [target] </echo>
-     <echo>   [see README.txt for a list of valid targets]</echo>
+     <echo> 
+     
+     Usage: (this is specific to the ti build)
+     
+     $ maven [-option] [target] 
+      
+      for [option] see Maven help
+      for [target] see below
+     
+             Target    Artifact(s)             Description
+             ______    ___________             ___________
+             dist      target/                 creates a full distribution of 
core and example apps
+                         struts-ti-core{jdk}-{ver}.jar
+                         struts-ti-sample{jdk}.war
+             
+             clean-all (nothing)               cleans all subprojects
+                          
+             jar-all   target/                 creates core and java5 archives
+                          struts-ti-core{jdk}-{ver}.jar
+                          struts-ti-java5-{ver}.jar
+                          
+             war-all   target/                 creates all web application 
archives
+                          struts-ti-sample{jdk}-{ver}.war
+              
+             test-all  (nothing)               run full set of (1.5 based) 
junit tests
+            
+             cactus-all(nothing)               run full set of (1.5 based) 
junit and cactus tests
+              
+             site      target/docs/            create struts-ti web site 
(includes build reports)
+                         **/*.html
+                       
+             nightly   target/                 creates nightly distribution 
that gets uploaded to 
+                                               
http://svn.apache.org/builds/struts/maven/trunk/nightly/struts-sandbox/ti/
+                         struts-ti-core{jdk}-{YYYYMMDD}.jar
+                         struts-ti-java5-{YYYYMMDD}.jar
+                         struts-ti-sample{jdk}-{ver}-{YYYYMMDD}.war
+
+
+
+           In the table above, the following substitutions apply
+           {jdk}      - this will be either 1.4 or 1.5
+           {ver}      - current version 1.0-dev, or SNAPSHOT
+           {YYYYMMDD} - year, month, and day (for nightly distributions)
+          
+      
+     </echo>
   </goal>
-  
-  <goal name="dist-all">
+    
+  <goal name="dist">
     <attainGoal name="jar-all"/>
     <attainGoal name="war-all"/>
-  
+    <attainGoal name="multiproject-site"/>
   </goal>
   
+
+  <goal name="site">
+    <attainGoal name="multiproject:site"/>
+  </goal>
+
+
+
+  <goal name="clean-all">
+    <maven:reactor
+      basedir="."
+      banner="Creating Source and Binary Distribution"
+      includes="${maven.multiproject.includes}"
+      excludes="${maven.multiproject.excludes}"
+      postProcessing="true"
+      goals="clean"
+      ignoreFailures="false"/>
+  </goal>
+    
   <goal name="jar-all">
     <maven:reactor
       basedir="."
@@ -41,6 +114,28 @@
       excludes="${maven.multiproject.war.excludes}"
       postProcessing="true"
       goals="war:install"
+      ignoreFailures="false"/>
+  </goal>
+    
+  <goal name="test-all">
+    <maven:reactor
+      basedir="."
+      banner="Creating Source and Binary Distribution"
+      includes="${maven.multiproject.includes}"
+      excludes="${maven.multiproject.excludes}"
+      postProcessing="true"
+      goals="test:test"
+      ignoreFailures="false"/>
+  </goal>
+  
+  <goal name="cactus-all">
+    <maven:reactor
+      basedir="."
+      banner="Creating Source and Binary Distribution"
+      includes="${maven.multiproject.war.includes}"
+      excludes="${maven.multiproject.war.excludes}"
+      postProcessing="true"
+      goals="cactus"
       ignoreFailures="false"/>
   </goal>
     

Modified: struts/sandbox/trunk/ti/project.properties
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/project.properties?rev=264894&r1=264893&r2=264894&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/project.properties (original)
+++ struts/sandbox/trunk/ti/project.properties Tue Aug 30 16:45:58 2005
@@ -19,9 +19,16 @@
 maven.compile.source=1.4
 maven.javadoc.additionalparam=-tag todo:a:"To Do:"
 
+       
+#Home directory of where you have installed the container on which you wish to 
run the Cactus tests. 
+#Valid container names are: tomcat4x, tomcat5x, resin2x, resin3x, orion1x, 
orion2x, jboss3x and weblogic7x. 
+#cactus.home.[container name]
+cactus.home.tomcat5x=/home/jmitchell/apache_home/jakarta-tomcat-5.5.11
+
 maven.changelog.factory = org.apache.maven.svnlib.SvnChangeLogFactory
 
-maven.multiproject.includes=*/*/project.xml
+maven.multiproject.includes=*/*/project.xml
+maven.multiproject.excludes=wars/example/project.xml
 maven.multiproject.jar.includes=jars/*/project.xml
 maven.multiproject.war.includes=wars/*/project.xml
 maven.multiproject.war.excludes=wars/example/project.xml

Modified: struts/sandbox/trunk/ti/project.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/project.xml?rev=264894&r1=264893&r2=264894&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/project.xml (original)
+++ struts/sandbox/trunk/ti/project.xml Tue Aug 30 16:45:58 2005
@@ -176,6 +176,14 @@
       <url>http://java.sun.com/products/jsp/</url>
     </dependency>
 
+       <!-- Ant -->
+    <dependency>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.6.5</version>
+      <url>http://ant.apache.org</url>
+    </dependency>
+
     <!--  commons-*  -->
     <dependency>
       <groupId>commons-beanutils</groupId>
@@ -347,6 +355,7 @@
       </properties>
     </dependency>
     
+    <!-- xjavadoc -->
     <dependency>
       <groupId>xjavadoc</groupId>
       <artifactId>xjavadoc</artifactId>
@@ -357,6 +366,7 @@
       </properties>
     </dependency>
     
+    <!-- Spring -->
     <dependency>
       <groupId>springframework</groupId>
       <artifactId>spring-core</artifactId>
@@ -387,6 +397,7 @@
       </properties>
     </dependency>
 -->
+       <!-- Eclipse -->
     <dependency>
       <groupId>eclipse</groupId>
       <artifactId>jdtcore</artifactId>
@@ -397,21 +408,6 @@
       </properties>
     </dependency>
 
-   <dependency>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <version>1.6.5</version>
-      <url>http://ant.apache.org</url>
-    </dependency>
-
-    <!-- for unit tests -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <url>http://www.junit.org/</url>
-    </dependency>
-    
     <dependency>
       <groupId>jdom</groupId>
       <artifactId>jdom</artifactId>
@@ -495,6 +491,16 @@
         <war.bundle>true</war.bundle>
       </properties>
     </dependency>
+
+
+    <!-- for unit tests -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <url>http://www.junit.org/</url>
+    </dependency>
+    
 
   </dependencies>
 



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

Reply via email to