使不同的maven模块作为原子构建一起工作

时间:2018-04-04 14:02:10

标签: java maven

这个问题可能已在其他地方得到解答,但我不确切知道如何在这个问题上谷歌。

我正在攻击maven迁移的蚂蚁,我将1个ant build分成5个maven模块。

我尝试实现的目标如下:

只有一件事应该成功:

  • A,B1,C1,B2和C2一起构建。

“A”可能成功与否,这不是一个严格的要求,但是:

  • B1,C1,B2和C2如果单独构建,则会失败。

(“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:我删除了多个父母的东西......

0 个答案:

没有答案