Проверка "значения" атрибута "значение" тега / элемента свойства 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 &quot;foo&quot; 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>
Другие вопросы по тегам