发布从gradle中的任务构建的自定义工件

时间:2014-04-28 11:37:33

标签: gradle

我在尝试创建一个构建特殊文件的任务时遇到了一些问题,然后将其上传到神器中。

这是一个简化版本:

apply plugin: 'maven-publish'

task myTask {
    ext.destination = file('myfile')
    doLast {
        // Here it should build the file
    }
}

publishing {
    repositories {
        maven {
            name 'ArtifactoryDevDirectory'
            url 'http://artifactory/artifactory/repo-dev'
            credentials {
                username 'username'
                password 'password'
            }
        }
    }

    publications {
        MyJar(MavenPublication) {
            artifactId "test"
            version "1.0"
            groupId "org.example"
            artifact myTask.destination
        }
    }
}

除了gradle publish不运行myTask之外,这是有效的。我尝试添加

publishMyJarPublicationToArtifactoryDevDirectoryRepository.dependsOn myTask

但我得到:

Could not find property 'publishMyJarPublicationToArtifactoryDevDirectoryRepository' on root project 'test'.

我尝试搞乱这个工件,添加一个自定义工件和配置并发布,但这也不起作用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

afterEvaluate {
    publishMyJarPublicationToArtifactoryDevDirectoryRepository.dependsOn myTask
}

完成我想要的。