java - 在自定义 gradle 插件中获取类路径依赖

标签 java gradle gradle-plugin

我必须在 buildscript 中为我的自定义插件声明依赖关系

buildscript {
    dependencies {
        classpath files (["project/path/to/compiled/classes"])

        classpath ("com.project.plugin:custom-plugin:${pluginVersion}")
    }
}

是否有可能以某种方式在插件类中获取它们

public class PluginClass implements Plugin<Project> {

    @Override
    public void apply(Project project) {
        project.getExtensions().create("pluginConfig", PluginExtension.class);
        project.getTasks().create("plugin", PluginTask.class);
    }

}

或使用扩展名传递它们?像这样的东西:

porject.getDependencies().create(classpath_dependency)

最佳答案

您可以通过项目实例访问依赖项配置:

buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.google.guava:guava:18.0'
  }
}

apply plugin: LolPlugin

class LolPlugin implements Plugin<Project> {
  public void apply(Project p) {
    p.buildscript.dependencies.each {
      println it
    }
    p.buildscript.configurations.classpath.each {
      println it
    }
  }
}

关于java - 在自定义 gradle 插件中获取类路径依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34018980/

相关文章:

java - 使用 Java 流打印列表项

java - 为什么在下面的阻塞队列示例中调用notify()的顺序很重要?

android - 无法使用 Android Gradle 插件 3.0.1 解决 assembleAndroidTest 任务的依赖关系

java - Maven 依赖项找不到 sendgrid-java 的 zip 文件

java - 如何解决 Gradle 中的传递依赖冲突

gradle - 如果应用了 Gradle 插件,我如何有条件地运行代码?

java - 如何使用 Spring Boot 向 iOS 应用程序发送推送通知

java - 使用系统首选应用程序显示 zip 内的文件而不使用 java 解压缩?

android - 无法连接到 android studio 中的 jcenter()

android - Jenkins 无法识别自定义 Gradle 任务