2014-04-04 9 views
5

Używam Wiosna rozruchowym (1.0.0.RELASE) i chcę utworzyć plik zip dystrybucja zawierające następujące:Tworzenie pliku zip dystrybucja ze sprężyną Boot i Gradle

  1. Bagażnik wiosna jedno- słoik stworzony przy uruchamianiu "Gradle build" (znajdujący się w build/libs/x.jar)
  2. Folder konfiguracyjny z niektórych plików, które znajdują się w src/dist/config

Preferowana Chciałbym tego pliku zip do utworzenia przy uruchomieniu "gradle build" (ale inne zadanie jest w porządku, jeśli jest to trudne do osiągnięcia). Czy istnieje dobry sposób, aby to osiągnąć?

Odpowiedz

9

Coś takiego?

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

build.dependsOn(zip) 
+0

Dzięki, zrobiłem coś podobnego (zobacz moją własną odpowiedź poniżej). – Johan

1

Zrobiłem coś podobnego do tego, co sugeruje Dave Syer:

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) 

Wszelkie sugestie poprawy są mile widziane.

+0

moje zadanie obejmuje wszystkie słoiki, ale chcę tylko dołączyć jeden słoik bootrepacka, czy rozwiązujesz to? – Dreampie