Каков способ gradle для фильтрации подмножества файлов в src/main/webapp?

Я делаю преобразование maven в gradle и хочу узнать мнения о том, как лучше всего выполнить следующее. В настоящее время у меня есть несколько файлов в папке src/main/webapp. Некоторые нужно фильтровать одним способом, а некоторые - другим.

Условно в src/main/webapp у меня есть каталог foo, содержащий html и двоичные файлы, а в webapp много других файлов, включая html. Я хочу фильтровать только файлы foo/*.html.

В моем условном build.gradle я могу либо сделать:

war {
  eachFile {
    if(shouldFilter(it)) {
      it.filter(ReplaceTokens, tokens: [key: 'value'])
    }
  }
}

def shouldFilter(input) {
  input.path.contains('foo') && input.name.endsWith('.html')
}

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

war {
  from('src/main/foo-pre-filter') {
    into 'foo'
    include '*.html'
    filter(ReplaceTokens, tokens: [key: 'value'])
  }
}

Или есть еще один вариант, который я пропустил?

12
задан Rob Spieldenner 7 March 2012 в 20:33
поделиться