Gradle JAR-файлы в папке рекурсивно - PullRequest
0 голосов
/ 16 сентября 2018

Как я могу JAR для папки и всех ее подкаталогов и файлов в простом JAR?Я пробовал что-то подобное, и это не работает.

task jarVrCore(type: Jar, description: 'JARs core part of the project') {
    doLast {
        archiveName = "vasasdasasdasd"
        from "${projectDir}"
        println "${vrCoreSourceDir}"
        destinationDir = file("${dirTmpLibsVr4}")
    }
}

Я всегда получаю пустой JAR только с манифестом.

1 Ответ

0 голосов
/ 16 сентября 2018

Проблема в том, что все ваши конфигурации задач применены слишком поздно .Вы используете закрытие doLast, которое выполняется после фактического действия задачи (для задачи Jar: создание файла .jar).

Обычно всенастройка задачи выполняется непосредственно внутри закрытия конфигурации задачи:

task jarVrCore(type: Jar, description: 'JARs core part of the project') {
    archiveName = "vasasdasasdasd"
    from "${projectDir}"
    println "${vrCoreSourceDir}"
    destinationDir = file("${dirTmpLibsVr4}")
}

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

Обратите внимание, чтоиспользуя приведенный выше пример, оператор println будет выполняться во время фазы конфигурации и, следовательно, при каждом вызове Gradle, независимо от того, выполняется задача jarVrCore или нет.

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