在自定义 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
实例访问 dependencies
和 configurations
:
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
}
}
}
我必须在 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
实例访问 dependencies
和 configurations
:
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
}
}
}