2014-12-05 73 views
0

我们在构建过程中使用maven,现在正在修改它以使用grunt构建客户端文件。我们让Maven开始了这项艰巨的任务,但是和maven类似,只有在某个阶段运行时,我们才会做一些事情。例如,如果部署阶段在我的maven项目上运行,我想告诉grunt也部署我创建的js工件。否则,如果在maven项目中运行了类似编译的东西,我不想通过grunt部署我的js工件。我可以得到maven命令中使用的阶段/插件:目标吗?

我可以将属性恰好传入咕噜声,但我不知道如何获取可以告诉我运行哪个阶段的属性。是否有可能获得阶段或插件:运行的目标?甚至是运行的命令?

回答

0

我看过其他Maven插件处理这个问题的方式是使用不同的mojos,绑定到所需的阶段。对于你的例子,你会写一个部署mojo并将其绑定到'deploy'阶段。

maven-resources-plugin这样做。它有资源和测试资源mojos。一个绑定到流程资源阶段,另一个绑定到流程测试资源。因此,如果我要运行mvn compile,则资源mojo将执行,但TestResources mojo不会像编译阶段之后发生的进程测试资源那样执行。

Source code for resource plugin

+0

这肯定是一个考虑因素,我想沿着具有咕噜插件的不同执行的线条更我使用附着阶段,即执行繁重的第二次,但附着在部署阶段,运行我的“发布”任务。 这是一种可能性,但我宁愿不必多次咕噜一声。 – Noremac 2014-12-05 22:14:46

+0

@Noremac你不使用[Grunt Maven Plugin](http://search.maven.org/#search|gav|1|g%3A%22pl.allegro%22%20AND%20a%3A%22grunt- maven-plugin%22),是吗? – 2014-12-06 22:43:17

+0

是的,目前,但我没有超级承诺使用它。有什么插件可以帮助吗? – Noremac 2014-12-08 14:07:53

相关问题