Как я могу получить поведение муравья при расширении свойств с помощью Gradle? - PullRequest
5 голосов
/ 02 сентября 2011

У меня есть проект муравья, который я конвертирую в gradle. В проекте ant есть что-то вроде этого:

<copy todir="dest_dir">
  <fileset>
     ...
  </fileset>
  <filterchain>
    <expandproperties/>
  </filterchain>
</copy>

Цепочка фильтров расширяет свойства, например ${property}, но игнорирует знаки доллара без фигурных скобок. Я пытаюсь повторить это поведение в Gradle.

Если я expand, как показано ниже, gradle расширяет файлы как шаблон, который пытается расширить знаки доллара с помощью фигурных скобок.

copy {
   from 'source_dir'
   into 'dest_dir'
   expand(project.properties)
}

Если я filter с классом фильтра ant ExpandProperties, я получаю исключение NullPointerException. Есть ли простой способ сделать это, я пропустил?

1 Ответ

6 голосов
/ 02 сентября 2011

Хорошо, я понял это. Фильтру ExpandProperties необходимо установить его свойство проекта вместе с проектом Ant. Вот как я настроил его на работу:

copy {
    from 'source_dir'
    to 'dest_dir'
    filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.antProject)
}

Это расширяет свойства, такие как ${property}, точно так же, как Ant, без споткнуться о знаки доллара без скобок.

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