我的团队有一个共同的父项目,其中包含一些包含多个报告插件配置的模块(例如checkstyle和findbugs,类似于Checkstyle's multimodule configuration,但是在一个单独的项目中)。我将调用公共父项目“common”和报告模块“build-tools”。
我正在尝试找到一种方法,在公共项目发布时,让公共项目引用正确版本的构建工具模块而不进行手动发布。
以下是我尝试过的几件事:
谢谢!
答案 0 :(得分:0)
您使用的是哪个版本的maven-release-plugin?试试2.1。这应该正确处理版本属性的替换。
答案 1 :(得分:0)
我知道这样做的唯一方法是使common和build-tools成为相同的版本,并在发布时使用-DautoVersionSubmodules:prepare。由于常见的聚合构建工具,如果两个模块在执行发布时具有相同的SNAPSHOT版本,则发布插件将释放并上传它们。
编辑:要保持相关性版本正确,您的第一个选项应该有效。共同点:
<dependency>
<groupId>com.foo</groupId>
<artifactId>build-tools</artifactId>
<version>${project.version}</version>
</dependency>
这将使您的公共项目始终依赖于与常见版本相同的构建工具。如果他们总是向前迈进,那应该做你想要的。它有问题吗?