假设我有5个与Mojos相关联的目标,我希望能够绑定,从目标-a到目标-e。
我希望能够像maven生命周期阶段一样绑定它们,即如果我定义了一个执行路径并且我调用了一个目标,那么此路径上的所有先前目标都会事先执行。
然后我会:
goal-a -> { goal-b -> goal-d
{ goal-c -> goal-e
因此,如果我运行mvn groupdId:artifactId:myPlugin:goal-d
,则会执行goal-a
,goal-b
,goal-d
。
如果我使用goal-e
运行相同的命令,则会执行goal-a
,goal-c
,goal-e
。
有没有办法定义这样的绑定?
答案 0 :(得分:1)
您可以非常轻松地编写自定义插件,以便使用Mojo Executor完成您要查找的内容。
例如,您可以为目标-d编写Mojo,并且在其中,您可以使用Mojo Executor执行目标-a和目标-b Mojos。
答案 1 :(得分:0)
您可以将插件的执行添加到<build>
块中,或者为其运行创建单独的配置文件,并定义所有目标。这是一个例子:
<build>
<plugins>
<plugin>
<groupId>your.plugin.group.id</groupId>
<artifactId>your-plugin-artifact-id</artifactId>
<executions>
<execution>
<!-- here you need to specify build phase where your plugin execution will be started -->
<phase>install</phase>
<!-- here you can add all your goals to execute -->
<goals>
<goal>goal-a</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
当您在项目上执行阶段install
时,您的插件将执行其目标。