gpt4 book ai didi

java - 永久添加一个插件到 Gradle

转载 作者:太空狗 更新时间:2023-10-29 22:35:44 25 4
gpt4 key购买 nike

我在很多项目中使用了第三方 Gradle 插件,并希望将此插件永久添加到我的 gradle 安装中。目前我需要像这样将插件添加到每个 build.gradle 中:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.github.dcendents:android-maven-plugin:1.2"
}
}

有没有办法将这个插件添加到我的 Gradle 安装中,这样我就不需要在每个构建文件中都包含它?

我确实意识到这可能不是最佳实践,并且可能导致无法重现的构建。

最佳答案

这是一个 hack 而不是解决方案

现在这是一个更新版本,它也能够应用插件和添加 maven 存储库。使用 gradle 2.10 进行测试。

将此插件添加到您的 .gradle/init.gradle:

apply plugin:AddDepPlugin

class AddDepPlugin implements Plugin<Gradle> {
def addDeps = [
"org.ensime.gradle": "gradle.plugin.net.coacoas.gradle:ensime-gradle:0.2.2",
"com.github.dcendents.android-maven": "com.github.dcendents:android-maven-plugin:1.2"]
def addRepos = ["https://plugins.gradle.org/m2/"]
void apply(Gradle gradle) {
def add = 0
gradle.allprojects { project ->
plugins.whenPluginAdded { t ->
if (++add == 1) {
project.getBuildScriptSource()
def bs = project.getBuildscript()
bs.getDependencies()
def repo = bs.getRepositories()
def ccf = bs.class.getDeclaredField("classpathConfiguration")
ccf.setAccessible(true)
def cc = ccf.get(bs)
addDeps.each { k,v-> cc.dependencies.add(project.dependencies.create(v))}
addRepos.each { k-> repo.maven { -> setUrl(k) } }
}
if (add == 8)
addDeps.each { k,v ->
if (!k.startsWith("x")) project.apply([plugin: k])
}
}
}
}
}

关于java - 永久添加一个插件到 Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com