Apologies if this is a
repeat...
The parent property problem is resolvable
if you define the property in the parent script (probably as <property
name="testresult.string" value=""/> or something). You can then reset it in
nested scripts (I assume that's what you're talking about when you say a
controlling project? A script that calls others?). Even better, just pick them
all up from a separate config file from your main script using:
<include buildfile="build.config"/>
If you're not already doing something like that.
Without just copying in my scripts, I'll try and outline what I'm trying to
explain (badly :) as a solution to your original problem). This is not even
attempting to be syntactically correct :)
<target name="Main">
<call
target="Check_Option_Explicit" failonerror="false"/>
<call
target="build_report"/>
<if
propertytrue="fail.string">
<fail>.</fail>
</if>
</target>
<target
name="build_report">
<script>
Build resulted in this many option explicit problems
(this script checks for all the conditions using the OptionExplicit.Results
property etc)
It then sets fail.string
accordingly.
It can also echo some
nice looking results to the command line etc etc.
<script>
</target>
<target
name="Check_Option_Explicit">
<!-- sets this property from script using
Project.properties["OptionExplicit.Results"]-->
</target>
You see that you could call many targets like
Check_Option_Explicit and create many properties (in your case propertyexists
may not be the best way to do this)
I've grossly oversimplified this, so
I apologise in advance - I'm just trying to get the general idea across as we
use it quite successfully :) As for the fork stuff - I've done similar, but had
to write my own spawn task to do so - which I use a lot in case you're
wondering : )
"This communication is intended solely for the addressee and is confidential and not for third party unauthorised distribution."
