James,

Great job on the Mavenization work.

I'm fine if you'd also like to Mavenize the "faces" subproject --
which will have its own interesting wrinkles, because it has nested
builds of its own for its core library and example applications, with
individual output artifacts.  I'd ike to wait a bit on Shale, however
(although the solution would likely be very similar).

Craig


On Mon, 28 Feb 2005 17:14:53 -0500, James Mitchell <[EMAIL PROTECTED]> wrote:
> For those of you following along (and some who aren't) with the
> reorganization of Struts' source and subsequent shift (in part) to a
> Maven-based build system, I have created a nightly build directory for those
> eager to get all of the latest binary and/or source distributions.
> 
> The Maven-built nightly Struts subprojects are available at:
>  http://cvs.apache.org/builds/struts/maven/
> 
> The generated docs will be temporarily available at:
>  http://cvs.apache.org/~jmitchell/latest-docs/
> 
> Note - The documentation provided from the link above is also available for
> offline viewing by downloading any of the src distributions from the first
> link above.  Also, please be aware that these nightly builds are not perfect
> and you are encouraged to download and try them at your leisure.  We are all
> volunteers, so any time you can donate to provide input/feedback is VERY
> much appreciated.
> 
> If there is anything you would like to see in these artifacts, please do not
> hesitate to ask.
> 
> For developers who wish to build from the latest (from SVN), here are the
> steps to follow:
> 
> This assumes you have the following installed and working correctly on your
> machine:
>  - SVN client
>  - Maven
> 
> ( For SVN, I use the command line client under cygwin )
>   http://subversion.tigris.org/project_packages.html
> 
> 1. Get the latest from svn
>     $cd path/to/where/you/want/svn/struts
>     $svn co http://svn.apache.org/repos/asf/struts/current/
> 
> 2. Change to build/
>     $cd current/build
> 
> 3. Build all
>     $maven build-all
> 
> You should see Maven building the complete distribution for each subproject
> under Struts.
> This will take a few minutes, so be patient.
> 
> The following will be built:
> core/
> taglib/
> tiles/
> apps/
> el/
> bsf/
> flow/
> 
> You can now go under any of the above folders and look in target/ to see
> what Maven has created for you.  The docs/ dir will have the docs as the
> above link shows.
> 
> If there are errors and are not sure why, please don't hesitate to ask.
> 
> For those of you who feel even more daring ;) and would like to contribute a
> patch.  The easiest way to do it is to check out the source (as described
> above) and make your changes locally, then do a 'svn diff' against the
> subproject that you've made changes to.  The output is the exact format we
> need to patch and commit those changes.  Simply pipe the out put from your
> diff to a file.
> 
> For example, say I made some changes to org.apache.struts.Globals.java
> 
> Before making changes, "svn status -q" would look like this:
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn status -q
> 
> Performing status on external item at 'build'
> 
> Performing status on external item at 'el'
> 
> Performing status on external item at 'el/build'
> 
> Performing status on external item at 'tiles'
> 
> Performing status on external item at 'tiles/build'
> 
> Performing status on external item at 'faces'
> 
> Performing status on external item at 'faces/build'
> 
> Performing status on external item at 'taglib'
> 
> Performing status on external item at 'taglib/build'
> 
> Performing status on external item at 'apps'
> 
> Performing status on external item at 'apps/build'
> 
> Performing status on external item at 'flow'
> 
> Performing status on external item at 'flow/build'
> 
> Performing status on external item at 'core'
> 
> Performing status on external item at 'core/build'
> 
> Performing status on external item at 'bsf'
> 
> Performing status on external item at 'bsf/build'
> 
> Performing status on external item at 'shale'
> 
> Performing status on external item at 'sandbox'
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $
> 
> ...ok, now I add my cool new constant...now I want to see what has
> changed...
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn status -q
> 
> Performing status on external item at 'build'
> 
> Performing status on external item at 'el'
> 
> Performing status on external item at 'el/build'
> 
> Performing status on external item at 'tiles'
> 
> Performing status on external item at 'tiles/build'
> 
> Performing status on external item at 'faces'
> 
> Performing status on external item at 'faces/build'
> 
> Performing status on external item at 'taglib'
> 
> Performing status on external item at 'taglib/build'
> 
> Performing status on external item at 'apps'
> 
> Performing status on external item at 'apps/build'
> 
> Performing status on external item at 'flow'
> 
> Performing status on external item at 'flow/build'
> 
> Performing status on external item at 'core'
> M      core/src/share/org/apache/struts/Globals.java  <== here it is
> 
> Performing status on external item at 'core/build'
> 
> Performing status on external item at 'bsf'
> 
> Performing status on external item at 'bsf/build'
> 
> Performing status on external item at 'shale'
> 
> Performing status on external item at 'sandbox'
> 
> ..so let's see exactly what changed under core/
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn diff core/
> Index: core/src/share/org/apache/struts/Globals.java
> ===================================================================
> --- core/src/share/org/apache/struts/Globals.java       (revision 155701)
> +++ core/src/share/org/apache/struts/Globals.java       (working copy)
> @@ -223,6 +223,8 @@
>       * The property under which a transaction token is reported.
>       */
>      public static final String TOKEN_KEY = TaglibPackage + ".TOKEN";
> +
> +    public static final String JAMES_COOL_NEW_CONSTANT = "foo";
> 
>  }
> 
> ...now I pipe that to a local file...
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn diff core/ > james-cool-new-constant.patch
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ ll
> total 1
> drwsr-sr-t+  12 jmitchel None            0 Feb 28 16:40 apps
> drwsr-sr-t+   7 jmitchel None            0 Feb 28 16:43 bsf
> drwsr-sr-t+  12 jmitchel None            0 Feb 28 16:32 core
> drwsr-sr-t+  11 jmitchel None            0 Feb 28 16:40 el
> drwsr-sr-t+   9 jmitchel None            0 Feb 23 11:33 faces
> drwsr-sr-t+   7 jmitchel None            0 Feb 24 16:46 flow
> -rw-r--r--    1 jmitchel None          497 Feb 28 17:04
> james-cool-new-constant.patch
> drwsr-sr-t+   8 jmitchel None            0 Feb 27 12:20 mock
> drwsr-sr-t+   9 jmitchel None            0 Feb 23 11:39 sandbox
> drwsr-sr-t+   7 jmitchel None            0 Feb 23 11:38 shale
> drwsr-sr-t+  10 jmitchel None            0 Feb 28 16:37 taglib
> drwsr-sr-t+   9 jmitchel None            0 Feb 28 16:39 tiles
> 
> Now I can attach that file as a patch on a ticket.
> 
> And after one of those awesome committers commits your patch...
> 
> Voila!  You have now contributed to the Open Source movement!!!
> 
> (I know, I know, bad example, but you get the picture ;)
> 
> Getting the latest from SVN is just as easy
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn up
> 
> I hope this simple email will inspire some of you to go beyond lurking
> status and help make Apache Struts even better than it is today.
> 
> P.S. Since the committers are likely to -1 my "cool new constant", I'll
> revert my changes ;)
> 
> [EMAIL PROTECTED] ~/svn/struts/current
> $ svn revert core/
> 
> --
> James Mitchell
> Software Engineer / Open Source Evangelist
> EdgeTech, Inc.
> 678.910.8017
> AIM: jmitchtx
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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

Reply via email to