Le 13 sept. 09 à 16:44, Nicolas Lalevée a écrit :
Le 11 sept. 09 à 18:46, Jean-Louis Boudart a écrit :
Hi,
I know Jean-Louis BOUDART has been working on plugging different
frontends into EasyAnt so maybe we could join forces - Jean-
Louis, are
you reading this?
Sorry for long responding i was on holidays :).
I was thinking a few time ago to introduce an abstraction layer in
the
project helper.
As stefan highlighted <ant> and <subant> task are configured
through the
ProjectHelper that's why i wanted to put the abstraction layer here.
Why adding a new abstraction layer ?
As everyone knows the only way to write an ant script is XML. It
could be
really interesting to support others languages like Java or groovy.
Then if users want to write their own ant script they are able to
write it
in XML (with ant syntax has everyone know in the world :)) or in
Java (maybe
Groovy ? or whatever).
I thought about writing a ProjectHelper that will be in charge to
determine
which "dialect" will be used (maybe based on conventions on
extensions .ant
.java .jar .groovy) and to delegate to a class that will be in
charge to do
all the specific stuff.
I didn't get time to start a POC on this but i will do it in the
next few
days.
It could be cool if we could join forces on this.
Here is a simple first patch:
https://issues.apache.org/bugzilla/show_bug.cgi?id=47830
As noted there I still have some issues, probably in the groovy
frontend.
So I have implemented a ProjectHelperRepository which will help Ant to
choose a ProjectHelper to use (svn r819284). I have added some doc
about it, see:
http://svn.apache.org/repos/asf/ant/core/trunk/docs/manual/projecthelper.html
So with this implementation, we would be able to just drop an
implementation of ProjectHelper in a standard Ant distribution, and
Ant will be able to parse new kinds of files, while still being able
to build classical build.xml files.
Just one thing is worrying me: the ProjectHelper#parse method is
expecting an Object as source, which as the javadoc specifies it can
be a File, an URL, an InputStream, or even a specialized type as
InputSource. Does it really used with something else than a File or an
URL ? Should we continue to support that ? Shouldn't we better support
only URL ? something that we can get content from and have a name.
And by the way shouldn't ProjectHelper be an abstract class ?
Nicolas
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org