我有一个这样的多模块项目:
├── 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_version
从0.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”