Eric,

when you use the maven-release-plugin a property performRelease is set
during release:perform.

So define in the pluginManagement section a definition for the
maven-failsafe-plugin in your build section:

<build>
   <pluginManagement>
       <plugins>
              <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.17</version>
                    <executions>
                        <execution>
                            <id>default-integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>default-verify</id>
                            <goals>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
       </plugins>
   </pluginManagement>
</build>

and later on in your pom

    <profile>
            <id>release-run-failsafe</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                 <plugins>
                    <plugin>
                       <groupId>org.apache.maven.plugins</groupId>
                       <artifactId>maven-failsafe-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
    <profile>

So only during release:perform your integration tests will be executed
and success is verified.
Regards Mirko
--
http://illegalstateexception.blogspot.com/
https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen)
https://bitbucket.org/mfriedenhagen/


On Thu, Mar 20, 2014 at 8:32 PM, Eric Kolotyluk
<eric.koloty...@gmail.com> wrote:
> I am looking for some way to force my integration tests before a release,
> without explicitly using a profile.
>
> For example,
>
>       <plugin>
> <artifactId>maven-release-plugin</artifactId>
>         <configuration>
>           <preparationGoals>clean verify site</preparationGoals>
>         </configuration>
>       </plugin>
>
> But that doesn't work because unless the failsafe plugin is defined, it
> won't run the tests.
>
> I thought of doing something like
>
>   <profiles>
>     <profile>
>       <id>run-it</id>
>       <activation>
>         <file>
> <missing>target/failsafe-reports</missing>
>         </file>
>       </activation>
>       <build>
>         <plugins>
>           <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-failsafe-plugin</artifactId>
>             <version>2.17</version>
>             <executions>
>               <execution>
>                 <goals>
>                   <goal>integration-test</goal>
>                   <goal>verify</goal>
>                 </goals>
>               </execution>
>             </executions>
>           </plugin>
>         </plugins>
>       </build>
>     </profile>
>   </profiles>
>
> But that will cause the integration tests to be run after every clean.
>
> Is there some way I can trigger the integration tests when doing a release
>
>    mvn release:prepare
>
> without having to do
>
>    mvn release:prepare -P run-it
>
> Cheers, Eric
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to