如何在类中指定自定义gradle
插件的类路径,实现接口Plugin
?
class TaskPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('task') << {
println 'simple task'
}
}
}
我看到类似的东西
但是,我不知道如何将它应用于我的案例。具体来说,我想同时使用test
和main
源集。
我想摆脱与我的项目相关的classpath
依赖项。因为我在dependencies
和buildscript { dependencies {
每次添加插件时,我都要添加classpath
依赖项,该插件正在使用。
apply plugin: 'my-plugin'
task {
... do something
}
buildscript {
repositories {
flatDirs dir('.')
}
dependencies {
classpath ("my-group:my-plugin:my-version")
classpath ("dependency:dependency:dependency")
}
}
问题在于,当我指定基本dependencies
(不在buildscript
内)时,我可能具有相同的依赖关系
dependencies {
compile ("dependency:dependency:dependency")
}
有时我需要一些已编译的项目依赖项compile project(":my-project")
,我必须使用classpath files("path to compiled")
指定。
如何调整插件实现以删除那些dependency
重复项?例如,如果我使用compile
或runtime
声明依赖项 - 插件将知道它,并且不需要在类路径中明确声明依赖项。