Apache Ant v1.8.1: Ошибка при разрешении загруженных свойств, которые включают ссылки на общие свойства - PullRequest
0 голосов
/ 30 октября 2010

Это работает в Ant 1.7.1, но больше не работает в Ant 1.8.1.Это ошибка или есть новый и / или лучший способ добиться того, что я пытаюсь сделать?

Проект состоит из 2 компонентов, каждый компонент имеет свой собственный файл сборки и файл свойств, естьтакже файл сборки верхнего уровня и файл свойств для общих целей и свойств муравья.Это выглядит так:

  • / project /
    • component-a /
      • build.properties
      • build.xml
    • компонент-b /
      • build.properties
      • build.xml
    • build.properties
    • build.xml

/ project / build.properties:

common.root.dir=/project

/ project / build.xml:

<project name="common">
    <dirname file="${ant.file.common}" property="common.base.dir"/>
    <loadproperties srcfile="${common.base.dir}/build.properties"/>
</project>

/ project / component-b / build.properties:

dist.dir=${common.root.dir}/component-b/dist

/ project / component-b / build.xml:

<project name="component-b">
    <dirname property="component.b.base.dir" file="${ant.file.component-b}"/>    
    <import file="${component.b.base.dir}/../build.xml"/>
    <loadproperties srcfile="${component.b.base.dir}/build.properties"/>
</project>

/ project / component-a / build.properties:

dist.dir=${common.root.dir}/component-a/dist

/ project / component-a / build.xml:

<project name="component-a">
    <dirname property="component.a.base.dir" file="${ant.file.component-a}"/>
    <property name="project.root.dir" location="${component.a.base.dir}/.."/>

    <import file="${project.root.dir}/build.xml"/>
    <loadproperties srcfile="${component.a.base.dir}/build.properties"/>
    <loadproperties srcfile="${project.root.dir}/component-b/build.properties" prefix="component.b"/>

    <target name="print.unresolved.property">       
        <echo>${component.b.dist.dir}</echo>
    </target>
</project>

Чтобы увидеть ошибку, выполните: ant -f / project / component-a/build.xml print.unresolved.property

При использовании Ant 1.8.1 вывод будет:

print.unresolved.property:  
    [echo] ${common.root.dir}/component-b/dist

Почему файл common.root.dir не разрешается в / project

1 Ответ

0 голосов
/ 30 октября 2010

Для других, столкнувшихся с этой проблемой, я обнаружил, что это действительно ошибка;хотя я не нашел соответствующего отчета об ошибке, я собрал ant, используя последний исходный код из их репозитория, и свойство теперь разрешается правильноНадеемся, что v1.8.2 выйдет раньше, чем позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...