[DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 - 4 | Next >

Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Peter Reilly-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Why not have something simple like having a "before" and "after" attributes to
the <target> element.

<project  ...>
    ...
   <import file="${commons.dir}/ant-setup.xml"/>   <!-- defines common
build, junit, javadoc etc -->

   <target name="start-server" before="junit">
      <start-server/>
   </target>


  <target name="stop-server" after="junit">
     <stop-the-server/>
   </target>


</target>

Peter

On Jan 14, 2008 4:35 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:

> > So every concrete simple target like <target name="foo" depends="bar,
> > baz" /> became
> >
> > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > <target name="-foo" > ... </target>
> > <target name="-pre-foo" />
> > <target name="-post-foo" />
>
> This looks pretty ugly this me!
>
> I believe that this whole discussion focusses too much on targets
> instead of macros. Macros are a very powerfull feature and they
> deserve much more attention!
>
> Why not simply:
>
> <!-- === framework === -->
> <target name="foo" depends="bar,baz" description="public foo target">
>   <foo />
> </target>
>
> <macrodef name="foo" >
>   <sequential>
>     <!-- to the foo thing -->
>   </sequential>
> </macrodef>
>
>
> If a user then really need to override "foo", he or she would simply
> write in build.xml something like
>
>
> <macrodef name="foo">
>   <sequential>
>     <echo> before original foo ..</echo>
>
>     <c:foo />       <!-- assume framework in NS "c" />
>
>     <echo> after original foo .. </echo>
>   </sequential>
> </macrodef>
>
>
> Notice that I'm only using the name "foo" and not "-post-foo" and all
> your other names.
>
>
> Regards,
>
> Wolfgang Häfelinger
> Research & Architecture | Dir. 2.7.0.2
> European Patent Office
> Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> Tel. +31 (0)70 340 4931
> whaefelinger@...
> http://www.epo.org
>
>
>
>
> "Dominique Devienne" <ddevienne@...>
> 14-01-2008 17:17
> Please respond to
> "Ant Developers List" <dev@...>
>
>
> To
> "Ant Developers List" <dev@...>
> cc
>
> Subject
> Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> projects
>
>
>
>
>
>
>
> On 1/14/08, Stefan Bodewig <bodewig@...> wrote:
> > "Dominique Devienne" <ddevienne@...> writes:
> > Having something like before/after/around advices (where around is the
> > same as an override that doesn't change the dependencies list) may
> > suffice and leave overwriting the whole target definition to the worst
> > case.
>
> Thanks for reminding me of this issue Stefan. Indeed, something I
> really didn't like about overriding the whole target, is that you had
> to duplicate the dependency list as well...
>
> Which is why I now remember that I now remember I used 4, not 3
> targets, in the "abstract" build, the forth one being the target's own
> content, separate from its dependency list:
>
> So every concrete simple target like <target name="foo" depends="bar,
> baz" /> became
>
> <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> <target name="-foo" > ... </target>
> <target name="-pre-foo" />
> <target name="-post-foo" />
>
> in the "abstract" build. Override -foo to replace just the target
> content, without it's dependency list. Or override foo to have
> complete control, but in my experience it's -foo that needed
> overriding, not foo.
>
> Note though that unlike before and after, around isn't as
> representative a name. When I thought about this issue a while back, I
> thought of using a magic name such as "super" in the depends attribute
> to refer to the overridden target's dependency list, similar to using
> <super/> in the target's body to refer to the overridden target's task
> list/content. --DD
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>
>

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Dominique Devienne-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:
> Why not have something simple like having a "before" and "after" attributes to
> the <target> element.

This is indeed something we discussed and proposed earlier in the
thread. (except I envisioned the before/after to be used instead of
the name attribute, although giving a more explicit name to the target
is a good optional think I now realize, and is independent of the
target being "injected" into the dependency chain at the correct
place).

But is it that simple? If you have several such before/after targets,
what order are they executed in? What is they are spread into several
files? And if you give them names, do these before/after targets
themselves become override-able?

Even this simple (very desirable!) feature can get hairy when one digs
a little before the surface. --DD

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Wolfgang Häfelinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Assume also:

   <target name="prepare" before="junit">
      <prepare />
   </target>

Do you want this before your "start-server" or after it or
in parallel?

And you you need to extend Ant with "before" and "after" of
course.


Regards,

Wolfgang Häfelinger
Research & Architecture | Dir. 2.7.0.2
European Patent Office
Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
Tel. +31 (0)70 340 4931
whaefelinger@...
http://www.epo.org




"Peter Reilly" <peter.kitt.reilly@...>
14-01-2008 17:52
Please respond to
"Ant Developers List" <dev@...>


To
"Ant Developers List" <dev@...>
cc

Subject
Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
projects






Why not have something simple like having a "before" and "after"
attributes to
the <target> element.

<project  ...>
    ...
   <import file="${commons.dir}/ant-setup.xml"/>   <!-- defines common
build, junit, javadoc etc -->

   <target name="start-server" before="junit">
      <start-server/>
   </target>


  <target name="stop-server" after="junit">
     <stop-the-server/>
   </target>


</target>

Peter

On Jan 14, 2008 4:35 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:

> > So every concrete simple target like <target name="foo" depends="bar,
> > baz" /> became
> >
> > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > <target name="-foo" > ... </target>
> > <target name="-pre-foo" />
> > <target name="-post-foo" />
>
> This looks pretty ugly this me!
>
> I believe that this whole discussion focusses too much on targets
> instead of macros. Macros are a very powerfull feature and they
> deserve much more attention!
>
> Why not simply:
>
> <!-- === framework === -->
> <target name="foo" depends="bar,baz" description="public foo target">
>   <foo />
> </target>
>
> <macrodef name="foo" >
>   <sequential>
>     <!-- to the foo thing -->
>   </sequential>
> </macrodef>
>
>
> If a user then really need to override "foo", he or she would simply
> write in build.xml something like
>
>
> <macrodef name="foo">
>   <sequential>
>     <echo> before original foo ..</echo>
>
>     <c:foo />       <!-- assume framework in NS "c" />
>
>     <echo> after original foo .. </echo>
>   </sequential>
> </macrodef>
>
>
> Notice that I'm only using the name "foo" and not "-post-foo" and all
> your other names.
>
>
> Regards,
>
> Wolfgang Häfelinger
> Research & Architecture | Dir. 2.7.0.2
> European Patent Office
> Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> Tel. +31 (0)70 340 4931
> whaefelinger@...
> http://www.epo.org
>
>
>
>
> "Dominique Devienne" <ddevienne@...>
> 14-01-2008 17:17
> Please respond to
> "Ant Developers List" <dev@...>
>
>
> To
> "Ant Developers List" <dev@...>
> cc
>
> Subject
> Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> projects
>
>
>
>
>
>
>
> On 1/14/08, Stefan Bodewig <bodewig@...> wrote:
> > "Dominique Devienne" <ddevienne@...> writes:
> > Having something like before/after/around advices (where around is the
> > same as an override that doesn't change the dependencies list) may
> > suffice and leave overwriting the whole target definition to the worst
> > case.
>
> Thanks for reminding me of this issue Stefan. Indeed, something I
> really didn't like about overriding the whole target, is that you had
> to duplicate the dependency list as well...
>
> Which is why I now remember that I now remember I used 4, not 3
> targets, in the "abstract" build, the forth one being the target's own
> content, separate from its dependency list:
>
> So every concrete simple target like <target name="foo" depends="bar,
> baz" /> became
>
> <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> <target name="-foo" > ... </target>
> <target name="-pre-foo" />
> <target name="-post-foo" />
>
> in the "abstract" build. Override -foo to replace just the target
> content, without it's dependency list. Or override foo to have
> complete control, but in my experience it's -foo that needed
> overriding, not foo.
>
> Note though that unlike before and after, around isn't as
> representative a name. When I thought about this issue a while back, I
> thought of using a magic name such as "super" in the depends attribute
> to refer to the overridden target's dependency list, similar to using
> <super/> in the target's body to refer to the overridden target's task
> list/content. --DD
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>
>

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




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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Peter Reilly-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> Assume also:
>
>    <target name="prepare" before="junit">
>       <prepare />
>    </target>
>
> Do you want this before your "start-server" or after it or
> in parallel?
>

I would say that if the build file does not specify the order, then the order
is undefined.

If the order is important, then the build file can enforce an order by
using "depends".

    <target name="prepare" before="junit" depends="start-server">
       <prepare />
    </target>

Peter

> And you you need to extend Ant with "before" and "after" of
> course.
>
>
> Regards,
>
> Wolfgang Häfelinger
> Research & Architecture | Dir. 2.7.0.2
> European Patent Office
> Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> Tel. +31 (0)70 340 4931
> whaefelinger@...
> http://www.epo.org
>
>
>
>
> "Peter Reilly" <peter.kitt.reilly@...>
> 14-01-2008 17:52
>
> Please respond to
> "Ant Developers List" <dev@...>
>
>
> To
> "Ant Developers List" <dev@...>
> cc
>
> Subject
> Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> projects
>
>
>
>
>
>
> Why not have something simple like having a "before" and "after"
> attributes to
> the <target> element.
>
> <project  ...>
>     ...
>    <import file="${commons.dir}/ant-setup.xml"/>   <!-- defines common
> build, junit, javadoc etc -->
>
>    <target name="start-server" before="junit">
>       <start-server/>
>    </target>
>
>
>   <target name="stop-server" after="junit">
>      <stop-the-server/>
>    </target>
>
>
> </target>
>
> Peter
>
> On Jan 14, 2008 4:35 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > > So every concrete simple target like <target name="foo" depends="bar,
> > > baz" /> became
> > >
> > > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > > <target name="-foo" > ... </target>
> > > <target name="-pre-foo" />
> > > <target name="-post-foo" />
> >
> > This looks pretty ugly this me!
> >
> > I believe that this whole discussion focusses too much on targets
> > instead of macros. Macros are a very powerfull feature and they
> > deserve much more attention!
> >
> > Why not simply:
> >
> > <!-- === framework === -->
> > <target name="foo" depends="bar,baz" description="public foo target">
> >   <foo />
> > </target>
> >
> > <macrodef name="foo" >
> >   <sequential>
> >     <!-- to the foo thing -->
> >   </sequential>
> > </macrodef>
> >
> >
> > If a user then really need to override "foo", he or she would simply
> > write in build.xml something like
> >
> >
> > <macrodef name="foo">
> >   <sequential>
> >     <echo> before original foo ..</echo>
> >
> >     <c:foo />       <!-- assume framework in NS "c" />
> >
> >     <echo> after original foo .. </echo>
> >   </sequential>
> > </macrodef>
> >
> >
> > Notice that I'm only using the name "foo" and not "-post-foo" and all
> > your other names.
> >
> >
> > Regards,
> >
> > Wolfgang Häfelinger
> > Research & Architecture | Dir. 2.7.0.2
> > European Patent Office
> > Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> > Tel. +31 (0)70 340 4931
> > whaefelinger@...
> > http://www.epo.org
> >
> >
> >
> >
> > "Dominique Devienne" <ddevienne@...>
> > 14-01-2008 17:17
> > Please respond to
> > "Ant Developers List" <dev@...>
> >
> >
> > To
> > "Ant Developers List" <dev@...>
> > cc
> >
> > Subject
> > Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> > projects
> >
> >
> >
> >
> >
> >
> >
> > On 1/14/08, Stefan Bodewig <bodewig@...> wrote:
> > > "Dominique Devienne" <ddevienne@...> writes:
> > > Having something like before/after/around advices (where around is the
> > > same as an override that doesn't change the dependencies list) may
> > > suffice and leave overwriting the whole target definition to the worst
> > > case.
> >
> > Thanks for reminding me of this issue Stefan. Indeed, something I
> > really didn't like about overriding the whole target, is that you had
> > to duplicate the dependency list as well...
> >
> > Which is why I now remember that I now remember I used 4, not 3
> > targets, in the "abstract" build, the forth one being the target's own
> > content, separate from its dependency list:
> >
> > So every concrete simple target like <target name="foo" depends="bar,
> > baz" /> became
> >
> > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > <target name="-foo" > ... </target>
> > <target name="-pre-foo" />
> > <target name="-post-foo" />
> >
> > in the "abstract" build. Override -foo to replace just the target
> > content, without it's dependency list. Or override foo to have
> > complete control, but in my experience it's -foo that needed
> > overriding, not foo.
> >
> > Note though that unlike before and after, around isn't as
> > representative a name. When I thought about this issue a while back, I
> > thought of using a magic name such as "super" in the depends attribute
> > to refer to the overridden target's dependency list, similar to using
> > <super/> in the target's body to refer to the overridden target's task
> > list/content. --DD
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@...
> > For additional commands, e-mail: dev-help@...
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Peter Reilly-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Jan 14, 2008 5:24 PM, Peter Reilly <peter.kitt.reilly@...> wrote:

> On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > Assume also:
> >
> >    <target name="prepare" before="junit">
> >       <prepare />
> >    </target>
> >
> > Do you want this before your "start-server" or after it or
> > in parallel?
> >
>
> I would say that if the build file does not specify the order, then the order
> is undefined.
>

This would be similar to the @Before and @After annotations in junit.
Peter

> If the order is important, then the build file can enforce an order by
> using "depends".
>
>     <target name="prepare" before="junit" depends="start-server">
>        <prepare />
>     </target>
>
> Peter
>
> > And you you need to extend Ant with "before" and "after" of
> > course.
> >
> >
> > Regards,
> >
> > Wolfgang Häfelinger
> > Research & Architecture | Dir. 2.7.0.2
> > European Patent Office
> > Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> > Tel. +31 (0)70 340 4931
> > whaefelinger@...
> > http://www.epo.org
> >
> >
> >
> >
> > "Peter Reilly" <peter.kitt.reilly@...>
> > 14-01-2008 17:52
> >
> > Please respond to
> > "Ant Developers List" <dev@...>
> >
> >
> > To
> > "Ant Developers List" <dev@...>
> > cc
> >
> > Subject
> > Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> > projects
> >
> >
> >
> >
> >
> >
> > Why not have something simple like having a "before" and "after"
> > attributes to
> > the <target> element.
> >
> > <project  ...>
> >     ...
> >    <import file="${commons.dir}/ant-setup.xml"/>   <!-- defines common
> > build, junit, javadoc etc -->
> >
> >    <target name="start-server" before="junit">
> >       <start-server/>
> >    </target>
> >
> >
> >   <target name="stop-server" after="junit">
> >      <stop-the-server/>
> >    </target>
> >
> >
> > </target>
> >
> > Peter
> >
> > On Jan 14, 2008 4:35 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > > > So every concrete simple target like <target name="foo" depends="bar,
> > > > baz" /> became
> > > >
> > > > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > > > <target name="-foo" > ... </target>
> > > > <target name="-pre-foo" />
> > > > <target name="-post-foo" />
> > >
> > > This looks pretty ugly this me!
> > >
> > > I believe that this whole discussion focusses too much on targets
> > > instead of macros. Macros are a very powerfull feature and they
> > > deserve much more attention!
> > >
> > > Why not simply:
> > >
> > > <!-- === framework === -->
> > > <target name="foo" depends="bar,baz" description="public foo target">
> > >   <foo />
> > > </target>
> > >
> > > <macrodef name="foo" >
> > >   <sequential>
> > >     <!-- to the foo thing -->
> > >   </sequential>
> > > </macrodef>
> > >
> > >
> > > If a user then really need to override "foo", he or she would simply
> > > write in build.xml something like
> > >
> > >
> > > <macrodef name="foo">
> > >   <sequential>
> > >     <echo> before original foo ..</echo>
> > >
> > >     <c:foo />       <!-- assume framework in NS "c" />
> > >
> > >     <echo> after original foo .. </echo>
> > >   </sequential>
> > > </macrodef>
> > >
> > >
> > > Notice that I'm only using the name "foo" and not "-post-foo" and all
> > > your other names.
> > >
> > >
> > > Regards,
> > >
> > > Wolfgang Häfelinger
> > > Research & Architecture | Dir. 2.7.0.2
> > > European Patent Office
> > > Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
> > > Tel. +31 (0)70 340 4931
> > > whaefelinger@...
> > > http://www.epo.org
> > >
> > >
> > >
> > >
> > > "Dominique Devienne" <ddevienne@...>
> > > 14-01-2008 17:17
> > > Please respond to
> > > "Ant Developers List" <dev@...>
> > >
> > >
> > > To
> > > "Ant Developers List" <dev@...>
> > > cc
> > >
> > > Subject
> > > Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
> > > projects
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 1/14/08, Stefan Bodewig <bodewig@...> wrote:
> > > > "Dominique Devienne" <ddevienne@...> writes:
> > > > Having something like before/after/around advices (where around is the
> > > > same as an override that doesn't change the dependencies list) may
> > > > suffice and leave overwriting the whole target definition to the worst
> > > > case.
> > >
> > > Thanks for reminding me of this issue Stefan. Indeed, something I
> > > really didn't like about overriding the whole target, is that you had
> > > to duplicate the dependency list as well...
> > >
> > > Which is why I now remember that I now remember I used 4, not 3
> > > targets, in the "abstract" build, the forth one being the target's own
> > > content, separate from its dependency list:
> > >
> > > So every concrete simple target like <target name="foo" depends="bar,
> > > baz" /> became
> > >
> > > <target name="foo" depends="bar, baz, -pre-foo, -foo, -post-foo" />
> > > <target name="-foo" > ... </target>
> > > <target name="-pre-foo" />
> > > <target name="-post-foo" />
> > >
> > > in the "abstract" build. Override -foo to replace just the target
> > > content, without it's dependency list. Or override foo to have
> > > complete control, but in my experience it's -foo that needed
> > > overriding, not foo.
> > >
> > > Note though that unlike before and after, around isn't as
> > > representative a name. When I thought about this issue a while back, I
> > > thought of using a magic name such as "super" in the depends attribute
> > > to refer to the overridden target's dependency list, similar to using
> > > <super/> in the target's body to refer to the overridden target's task
> > > list/content. --DD
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@...
> > > For additional commands, e-mail: dev-help@...
> > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@...
> > For additional commands, e-mail: dev-help@...
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@...
> > For additional commands, e-mail: dev-help@...
> >
> >
>

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Dominique Devienne-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:

> On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > Assume also:
> >
> >    <target name="prepare" before="junit">
> >       <prepare />
> >    </target>
> >
> > Do you want this before your "start-server" or after it or
> > in parallel?
> >
>
> I would say that if the build file does not specify the order, then the order
> is undefined.
>
> If the order is important, then the build file can enforce an order by
> using "depends".
>
>     <target name="prepare" before="junit" depends="start-server">
>        <prepare />
>     </target>

It makes sense Peter. And this already works in Ant, provided we add
before/after support to <target>.

Q1: Does everyone agree that adding before/after to target to Ant 1.8
is useful and should be done before (in conjunction of) creating
generic build files?

Q2: Do others feel (like me) that we should also have a mean to
override a target's content (task list) while keeping the overridden
target's dependency list?

Both questions above are independent of using overriding macros... --DD

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Wolfgang Häfelinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Q1: Does everyone agree that adding before/after to target to Ant 1.8
> is useful and should be done before (in conjunction of) creating
> generic build files?

Ok, I'm not a committer - anyhow:

I disagree cause you can do the very same thing just with Macros.
No need for new target attributes.

> Q2: Do others feel (like me) that we should also have a mean to
> override a target's content (task list) while keeping the overridden
> target's dependency list?

This must be the soul of this whole upcoming framework. It's an
absolutley must.





Regards,

Wolfgang Häfelinger
Research & Architecture | Dir. 2.7.0.2
European Patent Office
Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
Tel. +31 (0)70 340 4931
whaefelinger@...
http://www.epo.org




"Dominique Devienne" <ddevienne@...>
14-01-2008 18:39
Please respond to
"Ant Developers List" <dev@...>


To
"Ant Developers List" <dev@...>
cc

Subject
Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
projects






On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:
> On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...>
wrote:

> > Assume also:
> >
> >    <target name="prepare" before="junit">
> >       <prepare />
> >    </target>
> >
> > Do you want this before your "start-server" or after it or
> > in parallel?
> >
>
> I would say that if the build file does not specify the order, then the
order
> is undefined.
>
> If the order is important, then the build file can enforce an order by
> using "depends".
>
>     <target name="prepare" before="junit" depends="start-server">
>        <prepare />
>     </target>

It makes sense Peter. And this already works in Ant, provided we add
before/after support to <target>.

Q1: Does everyone agree that adding before/after to target to Ant 1.8
is useful and should be done before (in conjunction of) creating
generic build files?

Q2: Do others feel (like me) that we should also have a mean to
override a target's content (task list) while keeping the overridden
target's dependency list?

Both questions above are independent of using overriding macros... --DD

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




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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Peter Reilly-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Jan 14, 2008 5:39 PM, Dominique Devienne <ddevienne@...> wrote:

> On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:
> > On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > > Assume also:
> > >
> > >    <target name="prepare" before="junit">
> > >       <prepare />
> > >    </target>
> > >
> > > Do you want this before your "start-server" or after it or
> > > in parallel?
> > >
> >
> > I would say that if the build file does not specify the order, then the order
> > is undefined.
> >
> > If the order is important, then the build file can enforce an order by
> > using "depends".
> >
> >     <target name="prepare" before="junit" depends="start-server">
> >        <prepare />
> >     </target>
>
> It makes sense Peter. And this already works in Ant, provided we add
> before/after support to <target>.

Opps, I just read the previous e-mails, and yes you have proposed this
syntax!.

>
> Q1: Does everyone agree that adding before/after to target to Ant 1.8
> is useful and should be done before (in conjunction of) creating
> generic build files?


>
> Q2: Do others feel (like me) that we should also have a mean to
> override a target's content (task list) while keeping the overridden
> target's dependency list?

This is the <target override="build"> syntax?
I am a little dubious, but could be swayed.

Peter
>
> Both questions above are independent of using overriding macros... --DD
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Wolfgang Häfelinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Q1: Does everyone agree that adding before/after to target to Ant 1.8
> is useful and should be done before (in conjunction of) creating
> generic build files?

Dominique and Peter,

could you please explain why you see a need for target attributes "before"
and "after" rather
than following the Macro path I proposed?

Regards,

Wolfgang Häfelinger
Research & Architecture | Dir. 2.7.0.2
European Patent Office
Patentlaan 3-9 | 2288 EE Rijswijk | The Netherlands
Tel. +31 (0)70 340 4931
whaefelinger@...
http://www.epo.org




"Dominique Devienne" <ddevienne@...>
14-01-2008 18:39
Please respond to
"Ant Developers List" <dev@...>


To
"Ant Developers List" <dev@...>
cc

Subject
Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java
projects






On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:
> On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...>
wrote:

> > Assume also:
> >
> >    <target name="prepare" before="junit">
> >       <prepare />
> >    </target>
> >
> > Do you want this before your "start-server" or after it or
> > in parallel?
> >
>
> I would say that if the build file does not specify the order, then the
order
> is undefined.
>
> If the order is important, then the build file can enforce an order by
> using "depends".
>
>     <target name="prepare" before="junit" depends="start-server">
>        <prepare />
>     </target>

It makes sense Peter. And this already works in Ant, provided we add
before/after support to <target>.

Q1: Does everyone agree that adding before/after to target to Ant 1.8
is useful and should be done before (in conjunction of) creating
generic build files?

Q2: Do others feel (like me) that we should also have a mean to
override a target's content (task list) while keeping the overridden
target's dependency list?

Both questions above are independent of using overriding macros... --DD

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




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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Dominique Devienne-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 1/14/08, Wolfgang Häfelinger <whaefelinger@...> wrote:
> > Q1: Does everyone agree that adding before/after to target to Ant 1.8
> > is useful and should be done before (in conjunction of) creating
> > generic build files?
>
> could you please explain why you see a need for target attributes "before"
> and "after" rather than following the Macro path I proposed?

I guess because I think in terms of targets and not macros. I've used
macros, but to define new "tasks", not to control the structure of the
build itself. For that, targets and dependencies are the building
blocks IMHO.

At this point I don't understand the macro approach that you advocate,
and even if it worked, I'd argue that it may not be the "natural" way
to add the flexibility we have been discussing about. Could very well
be that I'm wrong, but at this point it's my thinking.

The fact that your macro approach to extensibility works without
changes to Ant is nice but not a strong-enough point to me, if it
feels less natural that the before/after target approach that would
require changes in Ant. I.e. I care more about the user friendliness
and doing it in a simple and natural way, than the implementation
details. --DD

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


Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Xavier Hanin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Jan 14, 2008 6:39 PM, Dominique Devienne <ddevienne@...> wrote:

> On 1/14/08, Peter Reilly <peter.kitt.reilly@...> wrote:
> > On Jan 14, 2008 5:02 PM, Wolfgang Häfelinger <whaefelinger@...>
> wrote:
> > > Assume also:
> > >
> > >    <target name="prepare" before="junit">
> > >       <prepare />
> > >    </target>
> > >
> > > Do you want this before your "start-server" or after it or
> > > in parallel?
> > >
> >
> > I would say that if the build file does not specify the order, then the
> order
> > is undefined.
> >
> > If the order is important, then the build file can enforce an order by
> > using "depends".
> >
> >     <target name="prepare" before="junit" depends="start-server">
> >        <prepare />
> >     </target>
>
> It makes sense Peter. And this already works in Ant, provided we add
> before/after support to <target>.
>
> Q1: Does everyone agree that adding before/after to target to Ant 1.8
> is useful and should be done before (in conjunction of) creating
> generic build files?

I agree, this seems easily understandable (even though when used in
conjunction with depends it may seem a bit complex, but this shouldn't be
needed very often) and use the usual Ant building blocks.

>
>
> Q2: Do others feel (like me) that we should also have a mean to
> override a target's content (task list) while keeping the overridden
> target's dependency list?

I do. And also add the <super /> element you were talking about.

Xavier


>
>
> Both questions above are independent of using overriding macros... --DD
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>


--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects

by Guntis Ozols :: Rate this Message: