[Tapestry-contrib] Re: Maven .... Nightmare
Brought to you by:
hship
From: Geoff L. <glo...@in...> - 2003-01-13 12:56:46
|
Understood. I'm just going to research the change for now. Geoff ----- Original Message ----- From: "Howard M. Lewis Ship" <hl...@at...> To: "Tapestry development" <tap...@ja...> Cc: <tap...@li...>; <tap...@ja...> Sent: Monday, January 13, 2003 7:45 AM Subject: Maven .... Nightmare > I just want to caution against one thing: Please do not reoganize the > source code directories yet. I know we want to organize the project > structure more like an Apache project and that's fine ... but to do so now > would cripple my ability to cleanly and safely merge in a huge number of > changes from my branch and Mind Bridge is in the same boat with his branch. > > Once we put 2.3 to bed, we can merge in code changes into 2.4 and then we > can rename packages and reorganize overall structure. > > ----- Original Message ----- > From: "Howard M. Lewis Ship" <hl...@at...> > To: "Tapestry development" <tap...@ja...> > Cc: <tap...@li...>; > <tap...@ja...> > Sent: Monday, January 13, 2003 7:09 AM > Subject: Re: [Tapestry-contrib] Getting back into it > > > > To help with Maven, here's some notes about how releases are currently > > built. Some of these notes overlap details in the Contributor's Guide, so > > you should check that out as well. > > > > The master build file does all the work, reinvoking Ant in many > > subdirectories and combining all the results. > > > > I've seen a lot of projects that require you to set environment variables > > and/or use a shell script wrapper. I don't get why. > > > > The only thing external to the Tapestry workspace is the directories for a > > couple of large, external tools: JBoss, FOP, Saxon and Clover. > > > > JBoss is needed because we build demos that plug into JBoss in a turnkey > > way. FOP is for DocBook to PDF. Saxon is for DocBook to HTML or DocBook > to > > Flow Objects (fed into FOP) ... I use Saxon because it is about 20x faster > > than Xalan doing the same job. Clover is proprietary source code coverage > > tool. > > > > Getting Ant to use Saxon instead of Xalan requires a few command line > > options that can be accomplished via the ANT_OPTS env variable: > > > > > ANT_OPTS=-Xmx256mb -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.cri > > > on.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.parsers.SAXParserFactory=o > > rg.apache.crimson.jaxp.SAXParserFactoryImpl > > > > The other three external tools (JBoss, FOP and Clover) are identified in > the > > build.properties file which must be placed into the config directory. > This > > file sets three properties needed by the many Ant build scripts: > > > > jboss.dir > > fop.dir > > clover.dir > > > > Each of these is the absolute path to the respective tool. It is > important > > to use FORWARD SLASHES ONLY or you will get build errors. I've enclosed a > > copy that I use when I do builds. > > > > Clover has kindly donated a copy of their tool to Tapestry; a copy of > their > > distribution is in the support directory. > > > > The final piece of the puzzle is the disto build script. This is in the > > support directory. I typically copy this out to a temporary directory. I > > also copy my current build.properties file to the same directory. > > > > The distro build script has two targets. "setup" uses anonymous CVS to > grab > > a fresh copy of the Tapestry workspace. It uses export, so that the CVS > > directories are not exported. This takes about one minute. > > > > "build" copies the build.properties file into the exported workspace and > > invokes the "dist" target on the master build file. It then copies the > > resulting distro files back up to the current directory. This takes about > > nine minutes (on my new, blazing fast laptop, anyway). > > > > Side note: Tapestry has, checked into the repository, copies of DocBook > XML > > and the DocBook XSL distros. It automatically unpacks these as needed > > during the build. We may want to change things to make these addtiional, > > external tools as well. > > > > Side note: People have had compatibility issues when using Tapestry JARs > > compiled by the 1.4 compiler, even in 1.3 compatibility mode. I currently > > set my JAVA_HOME to a JDK 1.3 before doing the build to ensure maximum > > compatibility. > > > > Currently, three distro files are created: Tapestry-x.x-core.tar.gz is > the > > main distribution, containing the compiled JARs, external libraries (such > as > > OGNL and Log4J) and the source code (packaged into .jar files). > > > > Tapestry-x.x.-doc.tar.gz contains all the documentation for Tapestry; > > JavaDoc, Contributor's Guide, and the various manuals (in HTML and PDF). > > > > Tapestry-Web-x.x.tar.gz contains an image of the Tapestry web site, which > is > > similar to the doc distro, but includes the Clover code coverage report. > > > > Tapestry builds .tar.gz files currently because a) WinZip can open them > fine > > and b) they are smaller than the equivalent .zip files. > > > > I'm sure there'll be some impedance using Maven, but since Tapestry is > > already built to use straight Ant to perform full builds (albiet with a > > couple of configuration gotchas) I hope it will not be too tricky. > > > > ----- Original Message ----- > > From: <di...@mu...> > > To: "Andrew C. Oliver" <aco...@ap...> > > Cc: <tap...@li...>; > > <tap...@ja...> > > Sent: Monday, January 13, 2003 4:07 AM > > Subject: Re: [Tapestry-contrib] Getting back into it > > > > > > > tap...@li... wrote on 13/01/2003 > 09:07:03 > > > AM: > > > > I really recommend Mavenizing to this effect. I bet dion would help > > > > with that.. (http://jakarta.apache.org/maven) > > > > > > I'm happy to help with Mavenizing, if only for the docs part of the > > > process. We should also look and see if we can improve the docbook > plugin > > > for Maven (as it's rarely used and a little buggy!), to handle the > > > existing formats. > > > > > > > Alternatively (and this is what POI does) if maven doesn't do what you > > > > need Centipede (http://krysalis.org/centipede) and Forrest > > > > (http://xml.apache.org/forrest) might help. > > > > > > > > However it really depends on whether Maven works under gump... > > > Maven generates viable gump descriptors these days. > > > > > > > Gump should be one of our top priorities (jakarta.apache.org/gump) > > > > because it could do the builds and site publish for us... > > > +1 > > > -- > > > dIon Gillard, Multitask Consulting > > > Blog: http://www.freeroller.net/page/dion/Weblog > > > Work: http://www.multitask.com.au > > > > > > > > > > > > > > > -- > > > To unsubscribe, e-mail: > > <mailto:tap...@ja...> > > > For additional commands, e-mail: > > <mailto:tap...@ja...> > > > > > > > > > > > -- > To unsubscribe, e-mail: <mailto:tap...@ja...> > For additional commands, e-mail: <mailto:tap...@ja...> > |