Gradle: Как сгенерировать sha-256 хэши для ZIP-файлов, создаваемых плагином дистрибутивов? - PullRequest
0 голосов
/ 08 марта 2019

Мне тяжело собрать вместе Плагин Gradle-дистрибутивов и Плагин Checksum .

task createChecksums(type: Checksum, dependsOn: distZip) {
    files = fileList("${buildDir}/distributions")
    outputDir = "${buildDir}/distributions"
    algorithm = Checksum.Algorithm.SHA256
}

Проблемы:

  1. Как получить список всех файлов, созданных плагином дистрибутивов? Метод fileList () не работает
  2. Как установить его в зависимости от всех задач из дистрибутивов? У нас их несколько, и они динамически включаются / выключаются параметрами сборки.

1 Ответ

0 голосов
/ 11 марта 2019

Наконец-то нашел решение для моих вопросов:

task createChecksums(type: Checksum, dependsOn: build) {
   files = fileTree(dir: "${buildDir}/distributions")
   outputDir = new File("${buildDir}/distributions")
   algorithm = Checksum.Algorithm.SHA256
}

build.finalizedBy(createChecksums)
  1. fileTree () читает содержимое каталога
  2. вся задача сборки может быть выполнена задачей, установив finalizedBy , следовательно, игнорируя плагин распределений
  3. outputDir ожидает объект File, а не String
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...