Gradle исключает ресурсы для одной задачи, но не для второй

#gradle #build.gradle

#gradle #build.gradle

Вопрос:

Возможно ли исключить ресурсы для задачи, но не исключать их для второй задачи? Обе запускаются из третьей задачи, подобной этой:

 task createBoth {
   dependsOn = [createFirst, createSecond]
}

task createFirst {
   sourceSets.main.resources.excludes = ['**/images']
}

task createSecond {
   sourceSets.main.resources.excludes = []
}
  

Я пытался исключить в методе doFirst{}, но это не сработало. Если запускать как единую задачу, то она работает нормально. Оба результата являются одной и той же версией моего Java-проекта. За исключением того, что у них другой основной класс и не нужны все изображения. Итак, я хочу создать оба файла за один запуск. Возможно ли это вообще?


Попытка 2:

 task createSystemcheckJar(type: OneJar) {
   exclude('**/images/ads/images') // And some ohter combinations with stars
}
  

Та же проблема.

Комментарии:

1. Что вы на самом деле пытаетесь сделать? Создать два отдельных файла jar, один с изображениями, а другой без них? О каких файлах вы говорите?

2. Я создаю setup.exe и systemcheck.exe. Проверка системы — это отдельная страница, которая проверяет системные требования. Эта проверка также выполняется в программе установки. Все изображения находятся в каталоге «src/main/resources». Теперь я создаю две банки в двух задачах gradle. По одному для каждого EXE-файла. Я хочу исключить некоторые изображения из JAR, который используется для создания systemcheck.exe

3. Вам нужно настроить задачу jar, чтобы исключить файлы, которые вы не хотите хранить в jar: docs.gradle.org/current/dsl /…

4. Не работает — см. Редактирование. Возможно ли это с помощью задачи OneJar, которая расширяет задачу Jar? На самом деле я обнаружил, что это исключает только файлы классов?

5. Мое решение: скопировал OneJar и добавил пользовательский параметр для исключения изображений