Я хочу защитить от неправильного случая, помещенного внутри параметра в сценарий nant.NAnt Свойство в нижнем регистре
Я хочу взять значение х и преобразовать его в нижний регистр, я попытался с помощью
string::to-lower()
, но это не сработало в надежде что кто-то пришел через это и имеет простое решение.
<?xml version="1.0" encoding="utf-8"?>
<project name="test" Default="test" value="net-4.0" >
<property name="x" value="default" unless="${property::exists('x')}"/>
<target name="test">
<echo message="${x}" />
</target>
</project>
UPDATE
Я попытался предложение, выдвинутое Ян с кодом ниже этого до сих пор выводит капиталы поясню дальнейшее
У меня есть сценарий NANT, который имеет параметр, который может быть свойство передается в него, свойство проверяет наличие параметра и, если оно существует, оно использует его, если нет значения по умолчанию. Я хочу взять параметр в любой форме и передать его в нижний регистр, все еще проверяя его существование.
<?xml version="1.0" encoding="utf-8"?>
<property overwrite="true" name="x" value="default" unless="${property::exists('x')}"/>
<property overwrite="true" name="x" value="${string::to-lower(x)}" />
<target name="test">
<echo message="${x}" />
</target>
</project>
Я считаю, что это будет так, как вы думаете, что я должен сделать это Ян. Я проверил это со следующими аргументами командной строки.
nant -buildfile:nant.build test -D:x=TEST
Это производит выходной сигнал
Target framework: Microsoft .NET Framework 4.0
Target(s) specified: test
[property] Read-only property "x" cannot be overwritten.
test:
[echo] TEST
BUILD SUCCEEDED - 0 non-fatal error(s), 1 warning(s)
Total time: 0.1 seconds.
любое решение будет высоко ценится
последнее обновление было одним, спасибо – Deviland