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

get classpath dependency in custom gradle plugin

我必须在 buildscript

中为我的自定义插件声明依赖关系
buildscript {
    dependencies {
        classpath files (["project/path/to/compiled/classes"])

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

是否可以通过某种方式在插件中获取它们 class

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)

您可以通过 project 实例访问 dependenciesconfigurations

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
    }
  }
}