带有内部依赖项的gradle多模块项目的多步发布

时间:2018-08-05 10:43:21

标签: gradle-release-plugin

我有一个这样的多模块项目:

├── root_project/
│   ├── plugin_module/
│   │   ├── src/
│   │   └── build.gradle
│   ├── sample_application_module/
│   │   ├── src/
│   │   └── build.gradle
│   ├── gradle.properties
│   └── build.gradle

当然,这是一种简化。

所有模块和根项目的版本都存储在gradle.properties-my_version中声明的一个变量中。

sample_application_module本身就是一个可运行的应用程序,它会应用plugin_module中的插件(请查看底部的build.gradle)。

发布后,我仍然看到该问题:

> Task :release
Release process failed, reverting back any changes made by Release Plugin.


FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':root_project:my_project:sample_application_module'.
> Could not resolve all files for configuration ':root_project:my_project:sample_application_module:classpath'.
   > Could not find com.example:plugin_module:0.0.8.11.
     Searched in the following locations:
         ...
     Required by:
         project :my_project:sample_application_module'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

问题在于,一开始我的版本为0.0.8.11-SNAPSHOT,我想发布0.0.8.11。在该过程的第一阶段,插件将my_version0.0.8.11-SNAPSHOT更改为0.0.8.11

然后,在构建sample_application_module gradle期间,几乎立即搜索plugin_module版本0.0.8.11,该版本在任何存储库中都不存在,因为它尚未发布。但是由于尚不存在,因此无法发布,因为它是构建sample_application_module所必需的。

有什么想法如何首先释放plugin_module,并且仅在构建并释放sample_application_module之后?

注意: *使用的发布插件为net.researchgate:gradle-release:2.7.0

  • build.gradle的{​​{1}}中,我必须使用当前开发的版本(出于测试原因):

    buildscript {     依赖项{         classpath“ com.example:plugin_module:$ {project.property('my_version')}”     } }

    应用插件:“ myPlugin”

0 个答案:

没有答案