Исключить все скомпилированные классы из jar, созданного Java-проектом gradle - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть отличный проект Java с пользовательской задачей, которая генерирует некоторые файлы во время сборки. Мне нужно создать артефакт jar, содержащий ТОЛЬКО сгенерированные файлы. Проблема: jar содержит как сгенерированные файлы, так и файлы классов .

Исключение * .java-файлов из исходных наборов невозможно, потому что мне нужны скомпилированные классы для генерации.

jar {
  exclude("**/*.class")
  from ("$buildDir/generated-files-dir")
}

Приведенный выше фрагмент кода удаляет файлы классов, но оставляет каталоги как есть.

1 Ответ

0 голосов
/ 07 ноября 2018

Добавьте includeEmptyDirs = false в задачу jar.

jar {
  exclude("**/*.class")
  includeEmptyDirs = false
  from ("$buildDir/generated-files-dir")
}

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:includeEmptyDirs

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