Maven:强制所有子目录都是聚合器pom中的模块

时间:2019-07-10 10:53:24

标签: maven maven-dependency-plugin maven-enforcer-plugin

我们有git repository带有一组示例应用程序。每个示例应用程序都有自己的子目录和自己的pom.xml,但是没有公共的父pom。根级别具有一个aggregator pom,该应该列出所有示例应用程序。

+- sample-apps
|  +- sample-app-A
|  +- sample-app-B
|  +- etc...

由于每个示例应用程序都依赖于我们的核心产品,并且我们希望示例应用程序使用我们的最新版本,因此我们从根级别运行maven-versions-plugin以使所有应用程序保持最新。但是,添加新的示例应用程序(子文件夹)的开发人员会忘记将其添加到聚合器pom中。因此,随着时间的推移,这些示例应用程序将变得过时。

Maven是否有一种方法可以强制所有子目录在聚合器pom中列为模块?我们可以为maven-enforcer-plugin写一个custom enforcer rule,但是想先检查更好的选择。

我们不希望示例应用程序在我们身边具有父pom,因为客户应该能够修改示例应用程序并从其自己的父级继承。

0 个答案:

没有答案