2017-02-15 72 views
0

我开发了一个内部插件。该插件有它自己的版本。然后,我使用该插件进行存储库中的构建过程。 如果我改变插件的版本,我必须更新build.gradle来拼出我们的新版本。我有大约100个这样的仓库。 有没有一种方法可以在我的build.gradle中指定使用可在该位置找到的插件的最新版本? 我可以在找到最新的gradle之前运行一个批处理文件,使用该编号更新build.gradle,然后运行构建过程,但这对于应该可用的功能来说是一个很大的工作。 见下面,我打电话,我经常更改插件代码: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' 
} 

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

+0

您可以使用动态版本:https://docs.gradle.org/current/userguide/dependency_management.html#sub:dynamic_versions_and_changing_modules – sm4

回答

0

这是不可能的。请参阅plugins {}块和plugins文档。

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

也许script plugins的路要走:我有一个解决这个问题

apply from: 'my_script_plugin.gradle' 
+0

很好的建议,但我不能够使用该ID声明。它因为在Gradle Core或Gradle Central Repository中找不到“com.myplugin.mypluginbuild”而失败。我如何实现它? – tony

0

。 版本字段中指定的+会起作用。它将使Gradle能够自动使用最新的插件。 即:

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