当前位置: 首页 > 知识库问答 >
问题:

渐变配置以下载自定义插件依赖项

孙才捷
2023-03-14

我创建了一个gradle插件(简称testinfra),它在编译时和运行时依赖于其他两个jar。这是我的版本。我的插件的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
        }
    }
}

我能够将我的插件罐子推向人工制品。但是当我想使用插件时,我必须指定插件的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'

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

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

共有1个答案

有品
2023-03-14

代替工件jar,使用components.java中的。然后依赖项应该出现在POM中,Gradle会自动拉入它们。

 类似资料:
  • 我有个小问题。 我创建了自定义gradle插件(独立插件),并将它从mavenlocal包含在我的简单项目中。它正在工作,但我不知道如何在我的插件中设置系统属性。更多细节:在我的插件中,在任务中,我想设置系统属性(system.setproperty(key,value))并从我的主应用程序中获取它的属性,例如在main类main方法中,但main方法不使用此属性 当我在构建中创建任务时。grad

  • 小结:我想写一个gradle任务,它依赖于一个插件。我特别想使用plugin用于我的部署任务 我有以下项目结构 在我的主要身材中。gradle我导入插件并定义任务: 在中,我定义了它: 我显然收到了错误信息: 问题是,我可以(但不想)在main如下(无错误)

  • 我有一个Gradle项目,它做了两件正交的事情: 编译并运行一些Java。 生成并发布一个工件。 此工件与Java无关;它是由自定义JavaExec任务生成的。但是,自动生成的POM(来自Maven插件)似乎包含错误的依赖项。问题:如何防止这种情况? 我的build.gradle是这样的: 我这样调用Gradle: AFAICS,< code>foo配置与Java配置无关。所以我希望发布的POM不

  • 我试图为其他gradle项目使用的自定义gradle插件构建一个jar。我使用java编写插件。我有一个问题,包括我的jar中的依赖项。如果我使用下面的代码构建jarbuild.gradle 在一个项目中应用插件时,我得到了一个针对guava类的NoClassDefFound异常。如果我在 它表示未找到Id为“my Plugin”的。如何在gradle插件jar中包含依赖项?

  • Maven依赖项处理(即下载)是否通过插件完成 Maven是否在秘密使用依赖插件(https://maven.apache.org/plugins/maven-dependency-plugin/)?

  • 我定义了一个定制的gradle插件,它的输出是MyPlugin。罐子我将jar放在build_libs dir中。以下是我使用它的方式:1)在项目构建中。格拉德尔 2)在app模块build.gradle 3)当我运行。/gradlew组装 > 错误:配置根项目“MyApp”时出现问题。 无法解决配置: classpath的所有依赖项。找不到com.wonbin.myplugin: MyPlugi