In mijn Ant-buildscript probeer ik een mechanisme te maken om automatisch een versienummer mee te geven. Dit doe ik door het command "svnversion" aan te roepen.
dit werkt op zich goed. nu zou ik willen dat $version de waarde "Unknown" bevat als svnversion niet aangeroepen kan worden (bijvoorbeeld omdat het niet bestaat). Ik dacht dit zo op te lossen:
Dat geeft niet het goede resultaat. Het blijkt namelijk dat de property, als ie eenmaal is gezet, niet meer overschreven wordt door het exec-commando.
Hoe kan ik dit anders oplossen? Ik heb al gekeken naar de Condition-task maar daarin kan ik geen conditie vinden die lijkt op "als $version nog niet bestaat".
Dit is mijn script zoals in SVN
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <target name="getversion" description="Get the SVN revision number"> <echo>Getting version</echo> <exec executable="svnversion" dir="." outputproperty="version" failifexecutionfails="true" failonerror="true"> </exec> <echo message="Version is: ${version}" /> </target> |
dit werkt op zich goed. nu zou ik willen dat $version de waarde "Unknown" bevat als svnversion niet aangeroepen kan worden (bijvoorbeeld omdat het niet bestaat). Ik dacht dit zo op te lossen:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <target name="getversion" description="Get the SVN revision number"> <echo>Getting version</echo> <!-- eerst unknown maken --> <property name="version" value="Unknown" /> <exec executable="svnversion" dir="." outputproperty="version" failifexecutionfails="true" failonerror="true"> </exec> <echo message="Version is: ${version}" /> </target> |
Dat geeft niet het goede resultaat. Het blijkt namelijk dat de property, als ie eenmaal is gezet, niet meer overschreven wordt door het exec-commando.
Hoe kan ik dit anders oplossen? Ik heb al gekeken naar de Condition-task maar daarin kan ik geen conditie vinden die lijkt op "als $version nog niet bestaat".
Dit is mijn script zoals in SVN