gradle配置下载自定义插件依赖项

时间:2014-07-15 07:09:48

标签: maven gradle

我创建了一个gradle插件(简称为testinfra),它在其他2个jar上具有编译时和运行时依赖性。这是我的插件的build.gradle:

/**
 * Define the dependencies for compiling the plugin code
 */
dependencies {
    compile gradleApi()
    compile localGroovy()
    compile group:'com.mycompany.tools', name: 'lrgmanager', version: '1.0+'
    compile group: 'com.mycompany.tools', name: 'LrgParser', version: '1.0+'
}


/**
 * This task is responsible for publishing the plugin jar in the artifactory
 */ 
group   = 'com.mycompany.tools'  
version = '1.0'
publishing {
    publications {
        publishPlugin(MavenPublication) {
            artifact jar
        }
    }
}

我可以将我的插件jar推到神器中。但是当我想使用插件时,我必须指定我的插件的GAV以及它的依赖项。见下文:

/**
 * define classpath for buildscript{}, to download the regression plugin and its dependencies
 */
buildscript {
    dependencies {
        classpath group: 'com.mycompany.tools', name: 'testinfra', version: '1.0+'
        classpath group:'com.mycompany.tools', name: 'lrgmanager', version: '1.0+'
        classpath group: 'com.mycompany.tools', name: 'LrgParser', version: '1.0+'
    }
}
apply plugin: 'testinfra'

我的要求是避免指定依赖jar的GAV以及testinfra插件GAV。有没有办法在发布期间配置我的pom.xml(发布任务),这样当我指定我的插件的GAV时,gradle会识别依赖项并下载它们?

我试图参考gradle用户指南,但我没有看到任何明确的例子。

1 个答案:

答案 0 :(得分:3)

而不是artifact jar,请使用from components.java。然后依赖项应该出现在POM中,Gradle会自动将它们拉入。