Any news on this point? 2008/11/24 Xavier Hanin <[EMAIL PROTECTED]>
> On Fri, Nov 21, 2008 at 12:26 AM, Jean-Louis BOUDART < > [EMAIL PROTECTED]> wrote: > > > > > > > > In addition, as we use target-group to have more "genericity" we > > doesn't > > > > want to have prefix on those "generic" targets. > > > > > > I'm afraid I don't understand this. > > > > > > One of your selling points for <include> was that the included build is > > > self-contained and remains that way by prefixing all traget names and > > > rewriting the depends lists. > > > > > > If we break that rule for some kind of target, the included build is > > > suddenly open for modifications from the outside - including overrides > > > of target-groups. > > > > > Again if we consider target-group as JUST a way to have target dependency > > injection, this doesn't make sens. > > In opposite if we consider that target-groups are toplevel target does't > it > > make sens to have prefix on target-group? > > Example (using current HEAD revision): > > Suppose you want to have a generic task called report > > a.xml > > <project name="A"> > > <target name="javadoc" target-group="report" description="generate > > javadoc"> > > <echo>javadoc</echo> > > </target> > > ... > > </project> > > > > b.xml > > <project name="B"> > > <target name="junitreport" target-group="report" description="generate > > junit > > report"> > > <echo>junitreport</echo> > > </target> > > ... > > </project> > > > > c.xml > > <project name="C"> > > <target name="emma-report" description="generate emma report" > > target-group="report"> > > <echo> emma report</echo> > > </target> > > ... > > </project> > > > > phases.xml > > <project name="phases"> > > <target-group name="report" description="generate all report for your > > project" /> > > </project> > > > > build.xml > > <project name="generic-build"> > > <import file="phase.xml"/> > > <include file="a.xml" as="javadoc"/> > > <include file="b.xml" as="junit"/> > > <include file="c.xml" as="emma"/> > > </project> > > > > > > If you try to use "ant report" : > > you have this message > > "can't add target javadoc.javadoc to target-group javadoc.report because > > the > > target-group is unknown." > > > > IMHO a target-group should NEVER be prefixed, in a module it's possible > to > > assign a target to a phase which is not declared in the build module. It > > makes the module dependent on the caller to declare the phase prior to > the > > use call, and as such becomes a requirement of the module. > > > > > I would like to bring more attention to this, because I think Jean-Louis > makes a very good point here. > IMO joining a target group for a target should be possible for a target > group which is defined in a build file "including" the build file in which > the target itself is defined. > > So maybe name resolution of a target-group when a target declares to join a > target-group (with <target name="foo" target-group="bar" />) in an included > file should first look for the prefixed name (as it is currently > implemented) and then if it doesn't exist, try to look for the non prefixed > name. > > WDYT? > > -- > Xavier Hanin - 4SH France > BordeauxJUG co leader - http://www.bordeauxjug.org/ > Blogger - http://xhab.blogspot.com/ > Apache Ivy Creator - http://ant.apache.org/ivy/ >