Могут ли файлы свойств Ant определять наследование? - PullRequest
2 голосов
/ 21 июня 2011

Я хотел бы использовать файлы свойств Ant так, чтобы один файл свойств наследовал от другого, но я не уверен, что это возможно.

Например:

base.properties:
prop1=base

child.properties (inherit from base.properties):
prop1=child // this should override prop1 in base.properties

Я знаю, чтоя могу передать их через строку cmd в правильном порядке, чтобы добиться этого, но я надеюсь достичь этого путем определения наследования внутри самих файлов.

Есть идеи, как мне этого добиться?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

То, что вы ищете, не поддерживается в основном Ant.

Типичным шаблоном является загрузка свойств в файл сборки каскадным способом, например, примерно так:

<property file="${user.home}/${product}/${product.version}/build.properties"/>
<property file="${user.home}/${product}/build.properties"/>
<property file="${user.home}/build.properties"/>
<property file="build.properties"/>

Файлы не все должны существовать. Какие бы файлы ни существовали, они загружаются в этом порядке. Это дает простой способ выборочного переопределения свойств.

2 голосов
/ 21 июня 2011

Муравьиные свойства неизменны. Если вы сначала загрузите child.properties, все определения свойств из него будут использоваться вместо base.properties.

Именно поэтому переопределения командной строки работают.

Так что загружайте свои файлы в порядке от дочернего к родительскому, и вы будете иметь некоторое сходство с иерархией.

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