Gradle:如何自动使用最新版本的插件

时间:2017-02-15 20:26:52

标签: gradle build.gradle gradle-plugin

我开发了一个内部插件。该插件有自己的版本。然后,我将该插件用于存储库中的构建过程。 如果我更改了插件的版本,我必须更新build.gradle以拼写我们的新版本。我有大约100个这样的存储库。 有没有办法在我的build.gradle中指定使用可以在该位置找到的最新版本的插件? 我可以在gradle之前运行一个批处理文件,找到最新的,用该数字更新build.gradle,然后运行构建过程,但这是一个应该可用的功能的大工作。 请参阅下面的代码,我调用我经常更改的插件:

    buildscript {
    repositories {
        maven {
            url "c:/git/_TEST/plug-in"
        }
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath group: 'com.myplugin.gradle', name: 'com.myplugin.mypluginbuild', version: '1.0'
    }
apply plugin: 'com.myplugin.mypluginbuild'
}

如果我没有指定版本,则会返回错误。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

这种方式不可能。请参阅plugins {}块和plugins文档。

  • 对于核心插件,您不得提供版本。
  • 对于社区插件,您必须提供版本。

也许script plugins可行:

apply from: 'my_script_plugin.gradle'

答案 1 :(得分:1)

对于那些使用 plugins{} 块的人,gradle7+ 支持动态版本,包括 +latest.release

plugins {
    id "your-plugin-id" version "1.0.+"
}

dynamic version doc

答案 2 :(得分:0)

我有一个解决这个问题的方法。 版本字段中指定的+将起作用。它将使gradle能够自动使用最新的插件。 即:

dependencies {
        classpath group: 'com.myplugin.gradle', name: 'com.myplugin.mypluginbuild', version: '1.+'
    }