ProjectHelper improvements

View: New views
10 Messages — Rating Filter:   Alert me  

ProjectHelper improvements

by Nicolas Lalevée :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I worked a little bit more on the Groovy frontend, and I have some  
suggestions again on the ProjectHelper.

In Ant 1.8 we introduced the ProjectHelperRepository which is  
maintaining the list of available ProjectHelper in the classpath. And  
we use it to find the project helper that will be able to parse a  
specified build file with ProjectHelper#supportsBuildFile(...). I  
suggest we should do the same for the antlib with the help of  
ProjectHelper#canParseAntlibDescriptor(...) (and then maybe have some  
method name consistency by renaming supportsBuildFile to  
canParseBuildFile).

In the Ant and SubAnt tasks the default build file is build.xml.  
Someone providing its own ProjectHelper can also provide some subclass  
of Ant and SubAnt while overriding the default build file expected.  
For instance I have some Gant and SubGant tasks which are specifying  
that they expect some build.groovy files as default.
But I think now that it would be better to make these Ant and SubAnt  
tasks behave more like the Main class behaves. Starting Ant 1.8 the  
Main class is calling the ProjectHelperRepository to get the default  
build files names defined by the ProjectHelpers, search for each one  
on the filesystem, and use the first found. I think that the Ant and  
SubAnt tasks should do the same. Then there will be no need for the  
providers of ProjectHelpers to define they own subclasses of Ant and  
SubAnt.

WDYT ?

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Stefan Bodewig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-17, Nicolas Lalevée <nicolas.lalevee@...> wrote:

> In Ant 1.8 we introduced the ProjectHelperRepository which is
> maintaining the list of available ProjectHelper in the classpath. And
> we use it to find the project helper that will be able to parse a
> specified build file with ProjectHelper#supportsBuildFile(...). I
> suggest we should do the same for the antlib with the help of
> ProjectHelper#canParseAntlibDescriptor(...) (and then maybe have some
> method name consistency by renaming supportsBuildFile to
> canParseBuildFile).

+1

> In the Ant and SubAnt tasks the default build file is
> build.xml.

To be honest I'd rather have people specify the build file names
explicitly rather than add more magic to the ant and subant tasks.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Stefan Bodewig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-21, Stefan Bodewig <bodewig@...> wrote:

> On 2009-10-17, Nicolas Lalevée <nicolas.lalevee@...> wrote:

>> In Ant 1.8 we introduced the ProjectHelperRepository which is
>> maintaining the list of available ProjectHelper in the classpath. And
>> we use it to find the project helper that will be able to parse a
>> specified build file with ProjectHelper#supportsBuildFile(...). I
>> suggest we should do the same for the antlib with the help of
>> ProjectHelper#canParseAntlibDescriptor(...) (and then maybe have some
>> method name consistency by renaming supportsBuildFile to
>> canParseBuildFile).

> +1

And while you are at it, please change the argument from File and URL to
Resource - this would be a step towards parsing non-File build files in
import and ant/subant.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Nicolas Lalevée :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :

>
>> In the Ant and SubAnt tasks the default build file is
>> build.xml.
>
> To be honest I'd rather have people specify the build file names
> explicitly rather than add more magic to the ant and subant tasks.

I am not sure the people you are talking about. The end user that will  
write the build file or the user of the Ant ProjectHelper API ?

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Nicolas Lalevée :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 21 oct. 09 à 21:35, Stefan Bodewig a écrit :

> On 2009-10-21, Stefan Bodewig <bodewig@...> wrote:
>
>> On 2009-10-17, Nicolas Lalevée <nicolas.lalevee@...> wrote:
>
>>> In Ant 1.8 we introduced the ProjectHelperRepository which is
>>> maintaining the list of available ProjectHelper in the classpath.  
>>> And
>>> we use it to find the project helper that will be able to parse a
>>> specified build file with ProjectHelper#supportsBuildFile(...). I
>>> suggest we should do the same for the antlib with the help of
>>> ProjectHelper#canParseAntlibDescriptor(...) (and then maybe have  
>>> some
>>> method name consistency by renaming supportsBuildFile to
>>> canParseBuildFile).
>
>> +1
>
> And while you are at it, please change the argument from File and  
> URL to
> Resource - this would be a step towards parsing non-File build files  
> in
> import and ant/subant.

done !

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Stefan Bodewig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-26, Nicolas Lalevée <nicolas.lalevee@...> wrote:

> Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :

>>> In the Ant and SubAnt tasks the default build file is
>>> build.xml.

>> To be honest I'd rather have people specify the build file names
>> explicitly rather than add more magic to the ant and subant tasks.

> I am not sure the people you are talking about. The end user that will
> write the build file or the user of the Ant ProjectHelper API ?

The people writing the build file.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Nicolas Lalevée :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 27 oct. 09 à 12:24, Stefan Bodewig a écrit :

> On 2009-10-26, Nicolas Lalevée <nicolas.lalevee@...> wrote:
>
>> Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :
>
>>>> In the Ant and SubAnt tasks the default build file is
>>>> build.xml.
>
>>> To be honest I'd rather have people specify the build file names
>>> explicitly rather than add more magic to the ant and subant tasks.
>
>> I am not sure the people you are talking about. The end user that  
>> will
>> write the build file or the user of the Ant ProjectHelper API ?
>
> The people writing the build file.

Then thoses people have already the choice to set or not set the build  
file name. Do you want to change that ?
The point I raised was in the case when no build file name is  
provided. Obviously if the user specify a file, I don't suggest any  
lookup for another file if the specified one is missing.

The question was should the ant and subant tasks behave like ant on  
the commandline or not: if no build file name is specified, search for  
every possible build file name, based on the names the project helpers  
provide.

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Stefan Bodewig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-27, Nicolas Lalevée <nicolas.lalevee@...> wrote:

> Le 27 oct. 09 à 12:24, Stefan Bodewig a écrit :

>> On 2009-10-26, Nicolas Lalevée <nicolas.lalevee@...> wrote:

>>> Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :

>>>>> In the Ant and SubAnt tasks the default build file is
>>>>> build.xml.

>>>> To be honest I'd rather have people specify the build file names
>>>> explicitly rather than add more magic to the ant and subant tasks.

>>> I am not sure the people you are talking about. The end user that
>>> will
>>> write the build file or the user of the Ant ProjectHelper API ?

>> The people writing the build file.

> Then thoses people have already the choice to set or not set the build
> file name. Do you want to change that ?

In a way, yes.  I'd rather force people to be explicit about the build
files they won't than have the tasks scan the directory/ies for various
options.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Nicolas Lalevée :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 28 oct. 09 à 14:13, Stefan Bodewig a écrit :

> On 2009-10-27, Nicolas Lalevée <nicolas.lalevee@...> wrote:
>
>> Le 27 oct. 09 à 12:24, Stefan Bodewig a écrit :
>
>>> On 2009-10-26, Nicolas Lalevée <nicolas.lalevee@...> wrote:
>
>>>> Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :
>
>>>>>> In the Ant and SubAnt tasks the default build file is
>>>>>> build.xml.
>
>>>>> To be honest I'd rather have people specify the build file names
>>>>> explicitly rather than add more magic to the ant and subant tasks.
>
>>>> I am not sure the people you are talking about. The end user that
>>>> will
>>>> write the build file or the user of the Ant ProjectHelper API ?
>
>>> The people writing the build file.
>
>> Then thoses people have already the choice to set or not set the  
>> build
>> file name. Do you want to change that ?
>
> In a way, yes.  I'd rather force people to be explicit about the build
> files they won't than have the tasks scan the directory/ies for  
> various
> options.

I don't know why but before that last email I was wondering why you  
would want to break backward compatibility. But we can declare in the  
doc that a build file name is mandatory, even if if in implementation  
it is not for backward compatibility purpose.
Then it makes sense and it is fine for me.

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: ProjectHelper improvements

by Stefan Bodewig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-28, Nicolas Lalevée <nicolas.lalevee@...> wrote:

> Le 28 oct. 09 à 14:13, Stefan Bodewig a écrit :

>> On 2009-10-27, Nicolas Lalevée <nicolas.lalevee@...> wrote:

>>> Le 27 oct. 09 à 12:24, Stefan Bodewig a écrit :

>>>> On 2009-10-26, Nicolas Lalevée <nicolas.lalevee@...> wrote:

>>>>> Le 21 oct. 09 à 07:45, Stefan Bodewig a écrit :

>>>>>>> In the Ant and SubAnt tasks the default build file is
>>>>>>> build.xml.

>>>>>> To be honest I'd rather have people specify the build file names
>>>>>> explicitly rather than add more magic to the ant and subant tasks.

>>>>> I am not sure the people you are talking about. The end user that
>>>>> will
>>>>> write the build file or the user of the Ant ProjectHelper API ?

>>>> The people writing the build file.

>>> Then thoses people have already the choice to set or not set the
>>> build
>>> file name. Do you want to change that ?

>> In a way, yes.  I'd rather force people to be explicit about the build
>> files they won't than have the tasks scan the directory/ies for
>> various
>> options.

> I don't know why but before that last email I was wondering why you
> would want to break backward compatibility.

I don't want to, I just don't want to extend the magic beyond the
existing "look for build.xml" (which we need to keep for backwards
compatibility).

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...