创建一个Jar类型的自定义插件任务

时间:2016-06-21 10:54:04

标签: gradle

我想将jar发布到artifactory。我这样做:

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。我需要帮助来编写这样的任务。谢谢

1 个答案:

答案 0 :(得分:0)

您不需要自定义Task类来实现这么简单的功能:

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