ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scot P. Floess" <flo...@mindspring.com>
Subject Re: How to conditionally run a group of targets?
Date Fri, 14 Dec 2007 14:37:46 GMT
Cyril:

Sorry, was on my way to bed when I responded...  I probably should have 
tried an example...

I think Jan pointed out something like below...

<project default = "all">
    <target name="all" depends="decide_to_run_group, wrapper" />

    <target name="decide_to_run_group">

        <condition property="doit" value="true">
            <some-boolean-test/>
        </condition>
    </target>

    <target name="wrapper" if="doit" depends = "A, B, C, D"/> 

    <target name="A"  if="doit">
        <echo message="A"/>
    </target>

    <target name="B"  if="doit">
        <echo message="B"/>
    </target>

    <target name="C"  if="doit">
        <echo message="C"/>
    </target>

    <target name="D"  if="doit">
        <echo message="D"/>
    </target>

</project>

 


Cyril Sagan wrote:
> Scott - Thanks for the response, but that doesn't work.
>
> The "A,B,C,D" depends targets will be executed first, it is only the body of "wrapper"
that's conditional based on the property.
>
> I'm still looking for an elegant solution.
>
> --Cyril
>
> ________________________________________
> From: Scot P. Floess [floess@mindspring.com]
> Sent: Thursday, December 13, 2007 9:46 PM
> To: Ant Users List
> Subject: Re: How to conditionally run a group of targets?
>
> Why don't you try this...
>
> <target name = "wrapper" if = "doit"  depends = "A, B, C, D"/>
>
> The point is, the depends attribute acts as your grouping ;)
>
> Cyril Sagan wrote:
>   
>> Our build script needs to run an arbitrary *group* of targets based on
>> a single property.  Can you help me find a clean way to do this?
>>
>> Here's an "almost solution" which illustrates what I'd like to
>> accomplish:
>>
>>     <target name="all" depends="init, decide_to_run_group, wrapper" />
>>
>>     <target name="decide_to_run_group">
>>         <condition property="doit" value="true">
>>             <some-boolean-test/>
>>         </condition>
>>     </target>
>>
>>     <target name="wrapper" if="doit">
>>         <antcall>
>>             <target name="A" />
>>             <target name="B" />
>>             <target name="C" />
>>             <target name="D" />
>>         </antcall>
>>     </target>
>>
>>
>> This does not work.  The problem is that any properties set in the
>> <antcall>'d targets will not be visible in the calling environment.
>> Targets A,B,C,etc -- not all of which I control, so I cannot
>> restructure -- may have side effects, setting state in properties that
>> I need to have access to.
>>
>> Regarding the "<antcall> almost solution", I see that there are ways
>> to pass properties "down to" <antcall>, but I do not know of a clean
>> way to "pass back".  I found a year+ old question on ant-dev asking
>> about this, but never saw an answer.
>>
>> In any case, we aren't set on using (enhancing?) <antcall>, it was
>> just close to a solution.
>>
>> Goal is to group the set of targets.  I'm hoping to find a solution
>> less awkward than this:
>>     <target name="A" if="doit" ... />
>>     <target name="B" if="doit" ... />
>>     <target name="C" if="doit" ... />
>>     <target name="D" if="doit" ... />
>>
>> Thanks for any suggestions.
>>
>> --Cyril
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>>
>>     
>
> --
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-754-4592 (Work)
>
> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> QA Engineer OpenQabal    http://openqabal.dev.java.net
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>
>   

-- 
Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-754-4592 (Work)

Chief Architect JPlate   http://sourceforge.net/projects/jplate
Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
QA Engineer OpenQabal    http://openqabal.dev.java.net


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message