2016-06-21 5 views
0

Ich möchte ein Glas zu Artefakte zu veröffentlichen. Ich mache das:Erstellen einer benutzerdefinierten Plugin-Aufgabe des Typs Jar

project.publishing.publications{ task -> 
      mavenJava(MavenPublication) { 
       archives makeJar 
       } 

Jetzt, in der makeJar, kopiere ich ein Glas von einem Ort zum anderen und nur umbenennen. Es ist eine Aufgabe vom Typ Kopieren, aber das funktioniert nicht, da ich den Fehler bekomme, dass die Aufgabe vom Typ AbstractArchiveTask wie eine Jar-Aufgabe sein soll. Ich möchte eine Aufgabe wie folgt schreiben:

class MakeJar extends Jar{ 
    @TaskAction 
    def createJar(){ 
<- code for creating jar -> 
} 

Aber es gibt keine solche Großaufgabentyp Jar. Ich brauche Hilfe, um eine solche Aufgabe zu schreiben.

Dank

Antwort

0

Sie brauchen nicht einen benutzerdefinierten Task-Klasse für eine solche einfache Funktionalität:

apply plugin: 'java' 

task renameArtifact(type: Copy, dependsOn: 'jar') { 
    from jar.archivePath 

    rename '.*', 'renamedFile.jar' 

    into 'destDir' 
} 

└── src 
    └── main 
     └── java 
      └── Main.java 

in

├── destDir 
│   └── renamedFile.jar 
kompilieren
Verwandte Themen