永久性地将插件添加到Gradle

时间:2015-02-18 11:45:39

标签: java gradle

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

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

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

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

2 个答案:

答案 0 :(得分:4)

这是一个黑客而非解决方案

现在是一个更新版本,它也可以应用插件并添加maven存储库。 Testet与gradle 2.10。

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

[sas-token]

答案 1 :(得分:1)

http://ensime.github.io//build_tools/gradle/我找到了这个替代解决方案(这是针对ENSIME插件):

apply plugin: AddEnsimePlugin

class AddEnsimePlugin  implements Plugin<Gradle> {
  def supportedPlugins = [
    'org.gradle.api.plugins.JavaPlugin',
    'org.gradle.api.plugins.ScalaPlugin',
    'jp.leafytree.gradle.AndroidScalaPlugin'
  ]

  void apply(Gradle gradle) {
    def added = false

    gradle.allprojects { project ->
      project.with { 
        if (parent == null) {
          buildscript { 
            repositories {
              jcenter()
              maven {
                name 'JFrog OSS Snapshot Repository'
                url 'http://oss.jfrog.org/oss-snapshot-local'
              }
            }
            dependencies {
              classpath 'net.coacoas.gradle:ensime-gradle:0.2.6'
            }
          }
        }

        plugins.whenPluginAdded { plugin ->
          if (!added && supportedPlugins.contains(plugin.class.name)) { 
            rootProject.apply plugin: 'org.ensime.gradle'
            added = true
          }
        }
      }
    }
  }
}

Gradle 2.12对我有用。另一个答案对我也有用。