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

创建一个依赖于另一个(外部)插件的Gradle插件

曾阳飙
2023-03-14

我想创建一个自动应用其他插件(外部插件)的插件。这需要在调用“apply plugin”之前设置插件的buildscript依赖项。然而,我似乎无法在插件中添加buildscript依赖项,或者我得到:您无法更改未处于未解析状态的配置!

有解决办法吗?

我的示例(非工作)代码:

import org.gradle.api.Project
import org.gradle.api.Plugin
class SamplePlugin implements Plugin<Project>{
  void apply(Project project) {

    project.buildscript.dependencies.add("classpath","net.sourceforge.cobertura:cobertura:1.9.4.1");

    project.configure(project){         
      apply plugin: 'cobertura' 
    }
  }
}

共有1个答案

樊宏义
2023-03-14

实现这一点的方法是发布pom。xml或ivy。xml以及描述插件依赖关系的插件Jar。或者,您可以编写一个脚本插件,在buildscript{}部分声明其依赖项。脚本插件只是一个可重用的构建脚本,它通过apply from:

 类似资料:
  • 本文向大家介绍gradle 依赖于另一个Gradle项目,包括了gradle 依赖于另一个Gradle项目的使用技巧和注意事项,需要的朋友参考一下 示例 对于多项目gradle构建,有时可能需要依赖构建中的另一个项目。为此,请在项目的依赖项中输入以下内容: ':OtherProject'从目录结构的根引用的项目gradle路径在哪里。 为了':OtherProject'在build.gradle文

  • 我有一个用Kotlin实现的Gradle插件,它是用gradle kotlin DSL构建脚本构建的。这工作正常。构建脚本如下,位于项目的 buildSrc 目录中: 现在我想从Kotlin插件代码中调用同一个buildSrc源代码树中的一个现有Groovy类。这在Intellij中运行良好。 但是当使用gradle构建时,我得到了Groovy类的:unresolved引用类。查看构建,我发现首先

  • 我正在cakephp4中创建一个插件。(此插件位于app/plugins/FileManager中) 这个插件有一个,它包含一个方法来生成一个输入文件,即与字段关联的文件。 在这个方法中,我使用的是插件(https://github.com/ADmad/cakephp-glide)显示与字段关联的图像的缩略图。 如何在我的插件中正确设置对插件的依赖关系? 请注意,我还在应用程序中使用(例如在之外)

  • 在前四十来章中,我们讲解了许多基础方面的内容。 在本书的最后部分,我们将尝试从零开始为一门语言创造Vim插件。 这不是个适合懦夫的游戏。这将需要你竭尽全力。 如果你现在就想退出,那确实也不坏!你已经学到了如何在~/.vimrc里改善你的生活, 还有如果修复别人的插件里的bugs。 有"这就够了,我不想虚掷光阴于创造一个我将不会使用的插件"这种想法并不可耻。 现实一点。如果你不想创造一个自己想用的插

  • BFA插件似乎仍然使用jackson2-api插件中的jackson类,而不是直接依赖maven。导致https://issues.jenkins-ci.org/browse/jenkins-62214在MongoJack内部的导入中使用了错误的jackson版本,导致缺少方法: Jenkins的类路径中Jackson2-api插件的依赖性是否更高?

  • 我的示例项目按预期工作,但我不希望我需要将依赖项定义为和两次。 shadow=>依赖项作为运行时DEP添加到发布的pom中(参见代码) implementation=>用于编译项目本身的依赖项,例如在您的IDE中。