excalibur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <lsim...@jicarilla.org>
Subject Re: The JPS build stuff
Date Mon, 14 Jun 2004 22:07:54 GMT
I tend to spell it "JBS" :-D

Berin Loritsch wrote:
> For the most part it works just fine.  Just a couple observations
> though:
> 
> * There is no "clean" target, so that process either has to be done
>   through Maven or manually deleting the "target" directories.  Kind
>   of a pain.

uhm, yeah. I never do 'clean'. I do

   find . -name 'target' -or -name '*.log' | xargs rm -Rf

which is much quicker than loading up a JVM and having it get to grips 
with the filesystem. Should add it for the non-UNIXers I guess :-D

> * Any changes to the versioned JPS code doesn't automatically get
>   updated.  Even if we "re-install" the JPS stuff, the JPS installer
>   ANT script uses the archive of the JPS stuff instead of what we
>   just updated.

yep. I used to use a cvs checkout for that, but there's no <svn/> ant 
task that works well. After making changes right now you need to run

   cd buildsytem/jbs
   sh create-archive.sh
   svn commit -m 'update archive'

which can't be done with ant because of the no <svn/> issue.

Anyway the original reason to structure things this way is that it allows

   export REPO=http://svn.apache.org/repos/asf/excalibur/trunk/
   wget $REPO/buildsystem/jbs/install/build.xml
   ant

which I had as part of an rpm specfile at some point so you could

   apt-get install jbs jicarilla-src

and get the latest version of JBS properly installed and the latest 
sources from CVS. That wasn't worth maintaining. Feel free to change 
things :-D

> It does work though.  That much can be said for it.

I will be the first to admit that it doesn't work that well. Some of the 
other recent ant-1.6-based build setups are somewhat cleaner. This is 
the only tool I've seen that autogenerates gump descriptors that are 
always 100% valid.

But IMHO the single big advantage over using maven is being able to 
debug by adding a <echo/> statement in an obvious place (or a 
System.out.println() in the bits javascript code) or running -verbose. 
It's just ant. When things fail, that makes it much easier to fix 
things. Like I had to do today.

This is alsoo why I really like the dense dependencies.list files (I 
think I'm probably the only one). They're hacker-friendly. I can do 
something like

   find . -name dependencies.list | xargs sed -i \
     -e 's/excalibur-\([^ ]\+\) [^ ]\+ /excalibur-\1 - /'

which replaces all instances of

   excalibur-blah 1.2.4

with

   excalibur-blah -

(ie a SNAPSHOT dependency) in all projects. Yes, that can be done to 
XML. No, it is not as easy.


cheers,


- LSD

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/


Mime
View raw message