Leo Simons wrote:
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/



Reply via email to