performRelease is only set during release:perform :-)

Regards
Mirko
-- 
Sent from my mobile
On Mar 25, 2014 10:05 PM, "Eric Kolotyluk" <[email protected]> wrote:

> I have tried to get this working, but it does not seem to work. When I do
>
>   mvn release:prepare
>
> I get
>
>   [INFO] Executing: cmd.exe /X /C "D:\bin\Apache\apache-maven-3.1.1\bin\mvn
> -s C:\Users\Eric\AppData\Local\Temp\release-settings2652114304406041143.xml
> clean verify site --no-plugin-updates -Psonatype-oss-release -P
> user,local-repository"
>
> In the output I can see the 'clean' and the 'site' happen, but the
> failsafe integration tests do not run. If I do
>
>   mvn verify -P run-it
>
> then the integration tests run as normal.
>
> Cheers, Eric
>
>   <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>
>         <plugin>
>           <artifactId>maven-release-plugin</artifactId>
>           <version>2.5</version>
>         </plugin>
>       </plugins>
>     </pluginManagement>
>     <plugins>
>       <plugin>
>         <artifactId>maven-release-plugin</artifactId>
>         <configuration>
>           <preparationGoals>clean verify site</preparationGoals>
>         </configuration>
>       </plugin>
>     . . .
>
>   <profiles>
>     <profile>
>       <id>run-it</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>
>             <executions>
>               <execution>
>                 <goals>
>                   <goal>integration-test</goal>
>                   <goal>verify</goal>
>                 </goals>
>               </execution>
>             </executions>
>           </plugin>
>         </plugins>
>       </build>
>     </profile>
>   </profiles>
>
> On 3/21/2014 1:10 PM, Eric Kolotyluk wrote:
>
>> Cool, that is what I am looking for. Thanks so much.
>>
>> Cheers, Eric
>>
>> On 2014-03-20, 1:50 PM, Mirko Friedenhagen wrote:
>>
>>> 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
>>> <[email protected]> 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: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>  ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to