Rick Moynihan wrote:


Obviously I understand that ANT is a critically important piece of infrastructure for a huge number of projects, and I understand that ANT's primary focus is and always will be as a build tool.

My only point is that *MAYBE* if it is not too much work, ANT can be adapted to also fill this role. I have looked at other projects such as:

* http://classworlds.codehaus.org/launchusage.html
* http://wrapper.tanukisoftware.org/doc/english/introduction.html

However I personally feel that reusing ANT build files for this sort of thing is a more elegant solution, as it can leverage knowledge of ANT for configuration of classpaths, properties, etc...

I actually use <wrapper> and do think its file format is a bit low-level. FWIW, the way we use it is to bridge up to somehing that is derived from Ant's launcher code, from which we jump out to the smartfrog deployment stuff.

Here is why I did it this way
-wrapper works, is fully debugged, tested against various JDKs and versions of windows -smartfrog is somewhat debugged, uses reflection tricks to catch java signal handlers on the Unix+Sun JVM combination, and handles shutdown.

Ant launcher does one thing nicely: loads directories of JARs, in a single classloader that you can't then discard. It doesnt do cleanup when terminated aggressively.

*If* the ant-launcher could be modified to support this use-case without any external dependencies etc, I feel it would nicely fill a need in the Java community. Obviously adopting ANT to a task it was not designed for is not a decision that should be taken lightly, but I feel it would be valuable, and can't see why it should impact ANT's use as a build tool.

Well, there's varions types of changes.

(a) small tweaks (e.g the -main) option, that let people do interesting things that keep ant a build too.
(b) big changes with unpredictable maintenance costs that either
  -stop ant building from the ground up or
  -increase test and maintenance costs



At the end of the day, I like commons launcher and would be completely happy with it, if it had a community behind it, willing to fix the few bugs I have encountered and drive some more features.

So, my current options appear to be either:

1. Suggest the ANT project adopts the use-case of an application launcher.

Remember that "wrapper" is far more complex than Ant's launcher, as it starts from NT services and linux daemons. We dont want to go there.

Also up and coming is more dynamic ways of setting up the classpath, like Ivy, OSGi, etc. Making a good command line and daemon launcher for that would be interesting.


2. Patch commons-launcher myself (which I may well do) and persuade the project maintainers to accept my patches (unlikely given the projects lack of developers/community).

actually, an inactive project is often the one most willing to take on warm bodies


3. Fork commons-launcher and maintain it outside of Apache.

Given that I have a copy of some of ant's launcher code inside our own codebase, this is the easiest option for a single-use project, but avoids a lot of the feedback that a proper, live community can do.

The first suggestion is the lowest cost to me, as it means others can maintain, run and manage the project. I appreciate that many factors are likely to prevent this. If ANT can be modified in the manner you suggest, what are the barriers?



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to