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

Gradle: how to use the latest version of a plugin automatically

我开发了一个内部插件。该插件有自己的版本。然后,我将该插件用于存储库中的构建过程。 如果我更改插件的版本,我必须更新 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'
}

如果我不指定版本,returns 会出错。有什么建议吗?

这样不行。请参阅 plugins {} block and plugins 文档。

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

也许 script plugins 还不错:

apply from: 'my_script_plugin.gradle'

这个问题我有办法解决。 在版本字段中指定的 + 就可以了。它将使 gradle 自动使用最新的插件。 即:

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

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

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

dynamic version doc