如何在gradle插件中预设存储库部分?

如何在gradle插件中预设存储库部分?,gradle,Gradle,我想定义一个插件,它在gradle项目中设置repositories{…}部分,以使用我们批准的代理和repo,并且不需要在每个项目中定义它们。我该怎么做?您可以通过以下方式来完成: apply plugin: 'java' apply plugin: Lol dependencies { compile 'com.google.guava:guava:18.0' } task cl(type: Copy) { from configurations.compile

我想定义一个插件,它在gradle项目中设置
repositories{…}
部分,以使用我们批准的代理和repo,并且不需要在每个项目中定义它们。我该怎么做?

您可以通过以下方式来完成:

apply plugin: 'java'
apply plugin: Lol

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

task cl(type: Copy) {
    from configurations.compile
    into 'libs'
}

class Lol implements Plugin<Project> {
    void apply(Project p) {
        def repositoriesConf = {
            mavenCentral()
            jcenter()
        }
        p.repositories(repositoriesConf)
    }
}
apply插件:“java”
应用插件:Lol
依赖关系{
编译'com.google.guava:guava:18.0'
}
任务cl(类型:副本){
从configurations.compile
进入“自由行”
}
类Lol实现插件{
无效申请(项目p){
def repositoriesConf={
mavenCentral()
jcenter()
}
p、 存储库(repositoriesConf)
}
}

有很多不同的方法来实现这个任务。请注意,同样需要
java
插件,也许您需要实现的插件也应该应用
java
插件。

@ChristianGoetze,我的回答解决了问题吗?如果是,请接受。