我有一个自定义插件,作为 release:perform 目标的一部分,我在我们所有的项目上运行。
我们刚刚开始使用多模块构建,我注意到我的插件只在顶部模块运行。我必须对我的插件做些什么才能使其在发布结束时单独在所有模块上运行?我是否必须在插件代码本身中遍历它们?如果是这样,是否有这样做的示例,因为据我所见, MavenProject.getModules() 仅返回这些模块的字符串名称列表,而我看不到如何获取这些模块的信息(我的插件需要每个的 groupId:artifactId:version,在这种情况下,模块并不总是具有相同的版本)。
我尝试过使用和不使用@aggregator,但这并没有改变我的问题。
我假设这与从 CLI 直接运行插件(不绑定到阶段)的情况相同,它也只在项目的顶层运行,并报告所有子模块的 SKIPPED。
我正在使用 Maven 3.0.3。