Создание zip-файла дистрибутива с Spring Boot и Gradle

Я использую Spring Boot (1.0.0.RELASE), и я хочу создать zip-файл дистрибутива, содержащий следующее:

  1. spring boot one-jar, созданный при запуске "gradle build" (расположен в build/libs/x.jar)
  2. папка конфигурации с некоторыми файлами, которые находятся в src/dist / config

предпочтительнее я хотел бы, чтобы этот zip-файл был создан при запуске "gradle build" (но другая задача прекрасна, если это трудно достичь). Есть ли хороший способ чтобы достичь этого?

2 ответов


что-то вроде этого?

task zip(type: Zip, dependsOn: bootRepackage) {
    from('build/libs') {
        include '*.jar'
    }
    from 'conf'
}

build.dependsOn(zip)

Я сделал что-то похожее на то, что предложил Дэйв Сьер:

task zip(type: Zip, dependsOn: bootRepackage) {
  def fileName = "${jar.baseName}-${jar.version}"
  from projectDir
  include "script.sh"
  from file("$buildDir/libs")
  include "${fileName}.jar"
  from file('src/dist')
  include "config/application.yml"
  archiveName "${fileName}.zip"
}

build.dependsOn(zip)

любые предложения по улучшению приветствуются.