Maven 用于下载自定义插件依赖项的gradle配置
我创建了一个gradle插件(简称testinfra),它在编译时和运行时依赖于另外两个JAR。这是我的插件的build.gradle:Maven 用于下载自定义插件依赖项的gradle配置,maven,gradle,Maven,Gradle,我创建了一个gradle插件(简称testinfra),它在编译时和运行时依赖于另外两个JAR。这是我的插件的build.gradle: /** * Define the dependencies for compiling the plugin code */ dependencies { compile gradleApi() compile localGroovy() compile group:'com.mycompany.tools', name: 'lrg
/**
* 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推送到artifactory。但是当我想使用插件时,我必须指定插件的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用户指南,但我没有看到任何明确的例子。使用组件中的
而不是工件jar
。然后依赖项应该出现在POM中,Gradle会自动将它们拉进来。我想你应该使用maven
插件,并适当地配置uploadArchives
任务。你在用它吗?请看这里:我正在使用“maven publish”插件这是groovy代码。我还需要说components.java还是必须说components.groovy?使用components.java
。没有组件。groovy
。将components.java添加到插件的build.gradle中不起作用。下面是生成的pom.xml(与之前的版本相同)`4.0.0.com.oracle.emaas.emdi testinfra 1.0 pom`您的构建可能有问题。有关详细信息,请查看中的maven发布插件一章。请注意,它是components.java
中的,而不是components.java
。是的,我使用的是components.java
。当我使用components.java中的时,它起了作用。但是现在它失败了,因为插件依赖项的依赖项没有被提取。i、 例如,testinfra dependsOn lrgmanager和lrgmanager dependsOn groovy:2.3我修改了lrgmanager的build.gradle和testinfra build.gradle的代码,以使用components.java中的,我看到lrgmanager的pom中有groovy的依赖项。testinfra的pom具有lrgparser和lrgmanager的依赖项。我应该怎么做才能获得groovy:2.3呢?