在自定义gradle插件中获取classpath依赖项

lap*_*ots 2 java gradle gradle-plugin

我必须为我的自定义插件声明依赖项 buildscript

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

        classpath ("com.project.plugin:custom-plugin:${pluginVersion}")
    }
}
Run Code Online (Sandbox Code Playgroud)

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

public class PluginClass implements Plugin<Project> {

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

}
Run Code Online (Sandbox Code Playgroud)

或使用扩展程序传递它们?就像是:

porject.getDependencies().create(classpath_dependency)
Run Code Online (Sandbox Code Playgroud)

Opa*_*pal 5

您可以访问dependenciesconfigurations通过project实例:

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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)