我如何 运行 将两个 gmaven 脚本合二为一 pom.xml?
How can I run two gmaven scripts in one pom.xml?
我想要两个来自 maven 的脚本 运行,其中一个依赖于环境变量。我正在尝试这样的事情:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</build>
...
<profile>
<activation>
<property>
<name>env.MY_ENV_VAR</name>
<value>runStuff</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My conditional script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
当我 运行 "mvn validate" 测试这个时,我得到 "My script"。当我设置 env 变量并再次 运行 时,我得到 "My conditional script" 但 而不是 "My script"。好像满足条件,第二个运行s,第一个不满足
我想 运行 第一个无条件地 和 第二个只有在设置了 env 变量的情况下。根据 this question.
,我考虑过检查脚本本身的 env 变量,但这似乎也有问题
我是 Maven 的新手,所以不太可能有一个简单的解决方案,但我没有看到它。
我找到了答案。每次执行都必须有一个唯一的 ID。如果您不指定 ID,则两者都会得到 'default'。一旦我给有条件的一个非默认 ID,它们都 运行.
<build>
<plugins>
<plugin>
...
<executions>
<execution>
<id>Unconditional-script</id>
...
</execution>
</executions>
</plugin>
</build>
...
<profile>
...
<build>
<plugins>
<plugin>
...
<executions>
<execution>
<id>Conditional-script</id>
...
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
我想要两个来自 maven 的脚本 运行,其中一个依赖于环境变量。我正在尝试这样的事情:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</build>
...
<profile>
<activation>
<property>
<name>env.MY_ENV_VAR</name>
<value>runStuff</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My conditional script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
当我 运行 "mvn validate" 测试这个时,我得到 "My script"。当我设置 env 变量并再次 运行 时,我得到 "My conditional script" 但 而不是 "My script"。好像满足条件,第二个运行s,第一个不满足
我想 运行 第一个无条件地 和 第二个只有在设置了 env 变量的情况下。根据 this question.
,我考虑过检查脚本本身的 env 变量,但这似乎也有问题我是 Maven 的新手,所以不太可能有一个简单的解决方案,但我没有看到它。
我找到了答案。每次执行都必须有一个唯一的 ID。如果您不指定 ID,则两者都会得到 'default'。一旦我给有条件的一个非默认 ID,它们都 运行.
<build>
<plugins>
<plugin>
...
<executions>
<execution>
<id>Unconditional-script</id>
...
</execution>
</executions>
</plugin>
</build>
...
<profile>
...
<build>
<plugins>
<plugin>
...
<executions>
<execution>
<id>Conditional-script</id>
...
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>