I tend to spell it "JBS" :-D
Sorry...
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
It is convenient nonetheless. "ant clean" is shorter to type and easier to remember, so IMO worth the overhead.
For DOS/Windows command line, there isn't anything so robust to do that.
* 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.
:(
Ok, That'll have to go up on the Excalibur Wiki right away... (I'm not likely to remember that the next time I need it).
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
Cool.
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.
Agreed. In fact, that is something of a plus. I haven't gotten too deep into the build system.
--
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
- Rich Cook
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Apache Excalibur Project -- URL: http://excalibur.apache.org/
