struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Frank W. Zammetti" <fzli...@omnytex.com>
Subject Re: Latest build (ala Maven) [Long]
Date Mon, 28 Feb 2005 22:55:09 GMT
James, first of all, thank you very much for this post!  I think this 
may go a long way to making it a bit less daunting for those that might 
like to contribute (including me!)

Now, your first question to answer :)

Perhaps I have an incorrect expectation, but... I downloaded 
struts-core-1.3.0-dev-src.zip and unzipped it.  Am I wrong to expect 
that executing maven in the directory created when this is unzipped 
should build Struts Core?

If I'm not expecting something totally nuts, then it didn't work for me 
and I can post details, but if I *am* nuts (which wouldn't be surprising 
by the way), then fine :)

Again, I for one appreciate very much your effort!

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

James Mitchell 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:
> 
> jmitchell@auburn ~/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'
> 
> jmitchell@auburn ~/svn/struts/current
> $
> 
> 
> 
> 
> ...ok, now I add my cool new constant...now I want to see what has 
> changed...
> 
> 
> 
> 
> jmitchell@auburn ~/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/
> 
> 
> jmitchell@auburn ~/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...
> 
> jmitchell@auburn ~/svn/struts/current
> $ svn diff core/ > james-cool-new-constant.patch
> 
> jmitchell@auburn ~/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
> 
> jmitchell@auburn ~/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 ;)
> 
> jmitchell@auburn ~/svn/struts/current
> $ svn revert core/
> 
> 
> 
> -- 
> James Mitchell
> Software Engineer / Open Source Evangelist
> EdgeTech, Inc.
> 678.910.8017
> AIM: jmitchtx
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message