Проверка "значения" атрибута "значение" тега / элемента свойства ant
Я хотел проверить, если значение свойства имеет значение, которое должно быть прочитано из другого файла в ant
Можно любое тело, пожалуйста, без дополнительной банки.
<property name="a" value="${input.password}" />
хотел проверить, есть ли значение input.password из файла xyz.properties или нет
большое спасибо Jib
PS: На самом деле я должен проверить эту строку пароль =mypassword существует в файле.properties или нет с помощью сценария ant. Еще один способ можно только приветствовать!
Изменить: я делаю из одного из упомянутых решений, но не удается:
<property file="..\..\xyz\application.properties" prefix="input" />
<property name="foo" value="${input.password}"/>
<fail message="Property "foo" has no value">
<condition>
<not>
<equals arg1="${foo}" arg2=""/>
</not>
</condition>
</fail>
Всегда появляется это сообщение:"Свойство"foo"не имеет значения" независимо от того, существует эта строка или нет:password=de в свойствах приложения.
2 ответа
Вы можете попробовать использовать <fail message="db.schema is not defined!" unless="db.schema"/>
заблокировать это, например, не удастся, если db.schema не определена. Возможно, вы найдете это полезным и полезным, это то, что вы ищете?
Проверьте это тоже. О, хорошо, теперь я понимаю, что вы имеете в виду, попробуйте это (я использую Ant 1.8.2): это build.xml:
<project name="Bla" default="build" basedir=".">
<target name="build">
<property file="bla.properties"/>
<fail>
<condition>
<not>
<equals arg1="${foo}" arg2="bodo"/>
</not>
</condition>
</fail>
</target>
</project>
Файл bla.properties содержит foo=boo
, и это в настоящее время не удается, если я изменю bodo
в boo
, это удается.
<project name="demo" default="dosomething">
<loadproperties srcFile="check.properties"/>
<target name="check">
<input message="Enter value" addproperty="input"/>
<condition property="input.matches">
<equals arg1="${input}" arg2="${valuefromfile}"/>
</condition>
</target>
<target name="dosomething" depends="check" if="input.matches">
<echo message="hello world"/>
</target>
</project>