2017-08-25 2 views
0

ich einen Ordner entpackt Gläser haben wie (wie ich die Unterschriften entfernt):Gradle bauen Gläser aus mehreren Ordnern

folder 
    - unpackedJar1 
    - unpackedJar2 
    - unpackedJar3 

Jetzt möchte ich sie auf Gläser wie „unpackedJar1.jar“ wieder neu zu packen, „unpackedJar2 .jar "und so weiter mit einem benutzerdefinierten Manifest. Wie kann ich das archivieren? Ich kann keine funktionierende Lösung finden.

Antwort

0

Sie können Jar-Tasks mit benutzerdefiniertem Manifest dynamisch für jeden Ordner erstellen und ihnen dann eine Aggregataufgabe zuweisen. Zum Beispiel:

task packAll{ 
    description = 'Pack all data in separated JARs' 
} 

//list of folders with unpacked data 
def unpackedFolders = ['unpackedJar1', 'unpackedJar2', 'unpackedJar3'] 

//create new Jar task for each folder and make packAll depends on this one 
unpackedFolders.each{ folderName -> 
    def packTask = project.tasks.create(name: 'pack_' + folderName, type: Jar){ 
     archiveName = folderName + ".jar" 
     from(project.files('folder/' + folderName)) 
     manifest{ 
      attributes( 
       'source': folderName 
      ) 
     } 
    } 
    project.packAll.dependsOn packTask 
} 
+0

Hey ich habe das nicht vergessen. Momentan im Urlaub. Ich werde nachsehen, sobald ich wieder im Büro bin. Sieht vielversprechend aus – Joschi