2016-06-21 73 views
0

我想发布一个jar到artifactory。我这样做:创建一个Jar类型的自定义插件任务

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

现在,在makeJar中,我将jar从一个位置复制到另一个位置,只是将其重命名。这是一个复制类型的任务,但这不起作用,因为我得到的错误是该任务应该是AbstractArchiveTask类似jar任务的类型。我想写这样一个任务:

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

但是没有这样的gradle任务类型Jar。我需要帮助来撰写这样的任务。由于

回答

0

你不需要自定义任务类这样一个简单的功能:

apply plugin: 'java' 

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

    rename '.*', 'renamedFile.jar' 

    into 'destDir' 
} 

将编译

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

├── destDir 
│   └── renamedFile.jar 
相关问题