对于一个android maven项目(由一个由主项目和一个测试项目组成的父项目组成),我希望能够使用不同的插件配置来构建整个项目。
我知道我可以使用个人资料执行此操作,但还有其他选项吗?
我想要实现的是使用“mvn deploy”执行部署并使用不同的插件配置,只有在部署(或发布)时才会使用。
一个具体的例子是,只有在部署发生时才增加android版本代码。将版本代码的增加直接绑定到部署阶段不起作用,因为在流程资源阶段正常工作之前需要增加的版本代码。
答案 0 :(得分:0)
我担心maven配置文件是你唯一的选择。
如果配置文件未处于活动状态,您可以在deploy
阶段添加强制执行程序检查以使构建失败:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>deploy</phase> <!-- enfoce rules on `mvn deploy` -->
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requireActiveProfile>
<profiles>prod</profiles> <!-- require `-Pprod` -->
</requireActiveProfile>
</rules>
</configuration>
</plugin>