这个问题可能已在其他地方得到解答,但我不确切知道如何在这个问题上谷歌。
我正在攻击maven迁移的蚂蚁,我将1个ant build分成5个maven模块。
我尝试实现的目标如下:
只有一件事应该成功:
“A”可能成功与否,这不是一个严格的要求,但是:
(“A,B1,C1,B2,C2”是'原子' - >它不能分割)
我希望这可以强制执行,例如,如果构建C1,它就会失败并且开发人员(我们是一个习惯于ant的大团队)并不认为B1也是构建的。
如果开发人员会调整B1而只测试B1并试图测试整体(C1(例如耳朵))(s),他会惊讶于他的变化不存在(很多时间可以浪费这一点)。
有一个父(在根上)有效(没有魔法)。
我尝试了
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M1</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>parent</property>
<message>==> This project can't be build separately!!! -> Please build either the root or one of the "...-build" maven projects...</message>
<regex>.*</regex>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
插件但似乎无法解决
<properties>
<parent>web</parent>
</properties>
父pom中的属性为真正的属性......
我如何'告诉'maven-enforcer-plugin将maven属性作为属性或如何以不同的方式实现目标(原子构建'集群')?
感谢您的帮助/指针/解决方案/反馈,
此外,这是一种方法,如果有其他方法可以实现相同的结果:甚至更好:)
S上。
编辑:我编写了一些问题来详细说明'原子'部分,
根据khmarbaise的要求,我创建了一个github repository,其中包含了我试图实现的结构和一些评论。
Edit2:我删除了多个父母的东西......