You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by frekele <gi...@git.apache.org> on 2016/07/22 22:34:15 UTC

[GitHub] maven-scm issue #31: SCM-706 finer-grained handling of file rename status fo...

Github user frekele commented on the issue:

    https://github.com/apache/maven-scm/pull/31
  
    This bug is critical because it is impossible to work with release:prepare-with-pom.
    
    Example of use:
    
    jenkinsfile
    ````
    #!groovy
    
    MAIL_FROM = 'noreply-jenkins@xxxx.io'
    MAIL_TO = 'tools@xxxx.com.br'
    GITHUB_PROTOCOL = 'https'
    GITHUB_CREDENTIAL_ID = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx'
    GITHUB_USER_NAME = 'xxxx-tools'
    GITHUB_USER_EMAIL = 'tools@xxxx.io'
    GITHUB_REPO = 'github.com/xxxx/myapp'
    
    node {
    
        try {
            properties(
                    [
                            [
                                    // Mantem os ultimos 10 log builds.
                                    $class  : 'jenkins.model.BuildDiscarderProperty',
                                    strategy: [
                                            $class      : 'LogRotator',
                                            numToKeepStr: '10'
                                    ]
                            ],
                            [
                                    $class       : 'GithubProjectProperty',
                                    displayName  : '',
                                    projectUrlStr: "${GITHUB_PROTOCOL}://${GITHUB_REPO}"
                            ]
                    ]
            )
    
    
            env.JAVA_HOME = tool 'JDK8'
            env.MAVEN_HOME = tool 'Maven3'
            env.PATH = "${env.JAVA_HOME}/bin:${env.MAVEN_HOME}/bin:${env.PATH}"
    
            env.MAVEN_OPTS = "-Xms256m -Xmx1024m -Dfile.encoding=UTF8"
            env.MAVEN_OPTS = "${env.MAVEN_OPTS} -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true"
    
            sh "java -version"
            sh "javac -version"
            sh "mvn -v"
    
    
            stage 'Clean Workspace'
            deleteDir()
            sh 'env'
    
    
            stage 'Git Checkout Source'
            sh "git config --global user.name ${GITHUB_USER_NAME}"
            sh "git config --global user.email ${GITHUB_USER_EMAIL}"
            //checkout scm
            checkout(
                    [
                            $class                           : 'GitSCM',
                            branches                         : [
                                    [
                                            name: "${env.BRANCH_NAME}"
                                    ]
                            ],
                            doGenerateSubmoduleConfigurations: false,
                            extensions                       : [
                                    [
                                            $class: 'WipeWorkspace'
                                    ],
                                    [
                                            $class: 'CleanBeforeCheckout'
                                    ],
                                    [
                                            $class: 'AuthorInChangelog'
                                    ],
                                    [
                                            $class: 'UserIdentity',
                                            email : "${GITHUB_USER_EMAIL}",
                                            name  : "${GITHUB_USER_NAME}"
                                    ]
                            ],
                            submoduleCfg                     : [],
                            userRemoteConfigs                : [
                                    [
                                            credentialsId: "${GITHUB_CREDENTIAL_ID}",
                                            url          : "${GITHUB_PROTOCOL}://${GITHUB_REPO}.git"
                                    ]
                            ]
                    ]
            )
    
    
            stage 'Build Maven Module'
            sh "mvn clean install -DskipTests=true -DskipITs=true -U"
    
    
            stage 'Unit Test'
            sh "mvn test verify -DskipTests=false -DskipITs=true"
    
    
            stage 'Nexus Deploy Artifact'
            if (env.BRANCH_NAME == 'master') {
                sh "mvn deploy -Pnexus-deploy"
    
            } else if (env.BRANCH_NAME == 'stable') {
                //sh "mvn --batch-mode release:clean release:prepare release:perform -Ppublish-release"
                sh "mvn --batch-mode release:clean release:prepare-with-pom release:perform -Ppublish-release"
                withCredentials(
                        [
                                [
                                        $class          : 'UsernamePasswordMultiBinding',
                                        credentialsId   : "${GITHUB_CREDENTIAL_ID}",
                                        usernameVariable: 'GIT_USERNAME',
                                        passwordVariable: 'GIT_PASSWORD'
                                ]
                        ]) {
                    //ref: http://vincent.demeester.fr/posts/2012-07-23-maven-release-gitflow/
                    // create a release branch from stable.
                    sh "git branch release"
                    // go to the master branch
                    sh "git checkout master"
                    // merge release into master but
                    sh "git merge release"
                    // Removing the release branch
                    sh "git branch -d release"
                    // Finally push everything
                    sh "git push ${GITHUB_PROTOCOL}://${env.GIT_USERNAME}:${env.GIT_PASSWORD}@${GITHUB_REPO}.git --all"
                    sh "git push ${GITHUB_PROTOCOL}://${env.GIT_USERNAME}:${env.GIT_PASSWORD}@${GITHUB_REPO}.git --tags"
    				//Upload artifacts into github releases.
                    sh "mvn -f release-pom.xml --batch-mode github-release:release"
                }
            }
    
        }
        catch (Exception ex) {
            mail from: "${MAIL_FROM}",
                    to: "${MAIL_TO}",
                    subject: "[FAILURE]  \U0001f4a9  \U0001f635  [JENKINS] ${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - [FAILURE]!  \U0001f47b  \U0001f62d  ",
                    body: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - FAILURE (${ex.message})!"
            throw ex
        }
    
    }
    ```
    
    pom.xml
    ```
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <name>myapp</name>
        <groupId>br.com.myapp</groupId>
        <artifactId>myapp</artifactId>
        <packaging>war</packaging>
        <version>2.0.3-SNAPSHOT</version>
    
        <scm>
            <url>https://github.com/xxxx/myapp</url>
            <connection>scm:git:https://github.com/xxxx/myapp.git</connection>
            <developerConnection>scm:git:https://github.com/xxxx/myapp.git</developerConnection>
            <tag>HEAD</tag>
        </scm>
    
        <issueManagement>
            <url>https://github.com/xxxx/myapp/issues</url>
            <system>GitHub Issues</system>
        </issueManagement>
    
    
        <properties>
            <encoding>UTF-8</encoding>
            <file.encoding>UTF-8</file.encoding>
            <console.encoding>UTF-8</console.encoding>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <javaee-endorsed-api.version>7.0</javaee-endorsed-api.version>
            <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.source>1.8</maven.compiler.source>
    
    		....
    
            <!-- Inicio Maven Plugins-->
            <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
            <maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
            <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
            <maven-war-plugin.version>2.6</maven-war-plugin.version>
            <maven-install-plugin.version>2.5.2</maven-install-plugin.version>
            <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
            <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
            <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
            <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
            <maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
            <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
            <versions-maven-plugin.version>2.2</versions-maven-plugin.version>
            <maven-scm-plugin.version>1.9.5</maven-scm-plugin.version>
            <github-release-plugin.version>1.1.1</github-release-plugin.version>
            <wildfly-server-provisioning-maven-plugin.version>1.1.6.Final</wildfly-server-provisioning-maven-plugin.version>
            <cargo-maven2-plugin.version>1.5.0</cargo-maven2-plugin.version>
            <!-- Fim Maven Plugins-->
    
            ...
    
            <wildfly-full-name>wildfly-${wildfly.version}</wildfly-full-name>
            <widlfy.home.dir>${project.basedir}/target/${wildfly-full-name}</widlfy.home.dir>
    
            <!--N�o gera javadoc e source - utilizado true somente no jenkins-->
            <!-- mvn maven.javadoc.skip=true : Skips Generate JavaDoc .jar-->
            <maven.javadoc.skip>true</maven.javadoc.skip>
    
            <!-- mvn maven.source.skip=true : Skips Generate JavaSource .jar -->
            <!--<maven.source.skip>true</maven.source.skip>-->
            <maven.source.skip>true</maven.source.skip>
    
            <!-- mvn install -DskipTests : Skips All tests - Unit and Integration tests -->
            <skipTests>true</skipTests>
            <!-- mvn install -DskipITs : Skips Integration tests -->
            <skipITs>true</skipITs>
    
            <!--prefixo para arquivos para testng/suite-unit-${suiteTests}.xml e testng/suite-integration-${suiteITs}.xml -->
            <!-- All eh o padrao para todos os testes -->
            <suiteTests>all</suiteTests>
            <suiteITs>all</suiteITs>
    
        </properties>
    
    
        <!-- Ordem das dependencias � influenciavel-->
        <dependencyManagement>
            <dependencies>
                <!-- INICIO - Configuracoes para Arquilian-->
                <dependency>
                    <groupId>org.jboss.arquillian</groupId>
                    <artifactId>arquillian-bom</artifactId>
                    <version>${arquillian.version}</version>
                    <scope>import</scope>
                    <type>pom</type>
                </dependency>
    
                <dependency>
                    <groupId>org.jboss.shrinkwrap.resolver</groupId>
                    <artifactId>shrinkwrap-resolver-bom</artifactId>
                    <version>${shrinkwrap-resolver.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <!-- FIM - Configuracoes para Arquilian-->
    
                <!-- INICIO - Configuracoes para WILDFLY -->
                <dependency>
                    <groupId>org.wildfly.bom</groupId>
                    <artifactId>wildfly-javaee7</artifactId>
                    <version>${wildfly-bom.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.wildfly.bom</groupId>
                    <artifactId>wildfly-javaee7-with-tools</artifactId>
                    <version>${wildfly-bom.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <!-- FIM - Configuracoes para WILDFLY -->
    
            </dependencies>
        </dependencyManagement>
    
    
        <dependencies>
           ....
        </dependencies>
    
    
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/version</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
    
            <testSourceDirectory>src/test/java</testSourceDirectory>
            <testResources>
                <testResource>
                    <directory>src/test/resources</directory>
                    <filtering>true</filtering>
                </testResource>
            </testResources>
    
            <pluginManagement>
                <plugins>
                    ....
                </plugins>
            </pluginManagement>
    
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <!--compilerArgument>-Xlint:unchecked</compilerArgument-->
                        <!--proc>${maven.compiler.proc}</proc-->
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <!--<compilerArgument>-->
                        <!-- -Xlint:unchecked-->
                        <!--</compilerArgument>-->
                        <compilerArguments>
                            <endorseddirs>${endorsed.dir}</endorseddirs>
                        </compilerArguments>
                        <debug>true</debug>
                        <showWarnings>true</showWarnings>
                        <showDeprecation>true</showDeprecation>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <skip>${maven.javadoc.skip}</skip>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <configuration>
                        <skipSource>${maven.source.skip}</skipSource>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>validate</phase>
                            <goals>
                                <goal>copy</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${endorsed.dir}</outputDirectory>
                                <silent>true</silent>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>javax</groupId>
                                        <artifactId>javaee-endorsed-api</artifactId>
                                        <version>${javaee-endorsed-api.version}</version>
                                        <type>jar</type>
                                    </artifactItem>
                                </artifactItems>
                            </configuration>
                        </execution>
    
                        <execution>
                            <id>unpack</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                            <configuration>
                                <skip>${skipITs}</skip>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>org.wildfly</groupId>
                                        <artifactId>wildfly-dist</artifactId>
                                        <version>${wildfly.version}</version>
                                        <type>zip</type>
                                        <overWrite>false</overWrite>
                                        <outputDirectory>target</outputDirectory>
                                    </artifactItem>
                                </artifactItems>
                            </configuration>
                        </execution>
    
                        <execution>
                            <id>copy-db-driver</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>copy</goal>
                            </goals>
                            <configuration>
                                <skip>${skipITs}</skip>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>org.postgresql</groupId>
                                        <artifactId>postgresql</artifactId>
                                        <version>${postgresql.version}</version>
                                        <outputDirectory>${widlfy.home.dir}/modules/org/postgresql/main</outputDirectory>
                                    </artifactItem>
                                </artifactItems>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
    
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-standalone-xml</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${widlfy.home.dir}/standalone/configuration</outputDirectory>
                                <encoding>${project.build.sourceEncoding}</encoding>
                                <overwrite>true</overwrite>
                                <resources>
                                    <resource>
                                        <directory>${project.basedir}/src/test/resources</directory>
                                        <includes>
                                            <include>standalone.xml</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <id>copy-postgresql-module-xml</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${widlfy.home.dir}/modules/org/postgresql/main</outputDirectory>
                                <encoding>${project.build.sourceEncoding}</encoding>
                                <overwrite>true</overwrite>
                                <resources>
                                    <resource>
                                        <directory>${project.basedir}/src/test/resources/modules/postgresql</directory>
                                        <includes>
                                            <include>module.xml</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
    
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>jacoco-initialize</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>jacoco-report</id>
                            <!--phase>prepare-package</phase-->
                            <phase>verify</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
                <!-- WildFly plugin to deploy -->
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                </plugin>
    
    			
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <!--suppress MavenModelInspection -->
                        <argLine>${argLine} -Xmx1124m -Xms256m</argLine>
                        <skipTests>${skipTests}</skipTests>
                        <suiteXmlFiles>
                            <suiteXmlFile>${project.basedir}/src/test/resources/testng/suite-unit-${suiteTests}.xml
                            </suiteXmlFile>
                        </suiteXmlFiles>
                    </configuration>
                    <!--configuration>
                        <suppress MavenModelInspection >
                        <argLine>${argLine} -Xmx1124m -Xms256m</argLine>
                        <systemPropertyVariables>
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                            <jboss.home>${widlfy.home.dir}</jboss.home>
                            <module.path>${widlfy.home.dir}/modules</module.path>
                        </systemPropertyVariables>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    </configuration-->
                </plugin>
    
    			
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <skipTests>${skipTests}</skipTests>
                        <skipITs>${skipITs}</skipITs>
                        <argLine>-Xmx1024m -Xms256m</argLine>
                        <systemPropertyVariables>
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                            <jboss.home>${widlfy.home.dir}</jboss.home>
                            <!--module.path>${widlfy.home.dir}/modules</module.path-->
                        </systemPropertyVariables>
                        <!--redirectTestOutputToFile>true</redirectTestOutputToFile-->
                        <!--reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory-->
                        <suiteXmlFiles>
                            <suiteXmlFile>${project.basedir}/src/test/resources/testng/suite-integration-${suiteITs}.xml
                            </suiteXmlFile>
                        </suiteXmlFiles>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <groupId>de.jutzig</groupId>
                    <artifactId>github-release-plugin</artifactId>
                </plugin>
    
            </plugins>
        </build>
    
    
        <profiles>
    
            <profile>
                <id>publish-release</id>
                <activation>
                    <property>
                        <name>publish-release</name>
                    </property>
                </activation>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-release-plugin</artifactId>
                            <configuration>
                                <preparationGoals>clean install</preparationGoals>
                                <goals>-DskipTests=true -DskipITs=true -Dmaven.source.skip=false -Dmaven.javadoc.skip=false
                                    deploy -Pnexus-deploy
                                </goals>
                                <tagNameFormat>v@{project.version}</tagNameFormat>
                                <pushChanges>false</pushChanges>
                                <localCheckout>true</localCheckout>
                                <!-- ??? this is correct?
    							  <checkModificationExcludes>
                                      <checkModificationExclude>release-pom.xml</checkModificationExclude>
                                  </checkModificationExcludes>
    							-->
                            </configuration>
                        </plugin>
    
                    </plugins>
                </build>
            </profile>
    
            <profile>
                <id>nexus-deploy</id>
                <activation>
                    <property>
                        <name>nexus-deploy</name>
                    </property>
                </activation>
                <distributionManagement>
                    <repository>
                        <id>releases</id>
                        <name>Nexus Releases Repository</name>
                        <url>https://nexus.xxxx.io/repository/maven-releases</url>
                        <layout>default</layout>
                    </repository>
                    <snapshotRepository>
                        <!--uniqueVersion - Se FALSE, permite versionar ex: 1.0.1-SNAPSHOT/projeto-1.0.1-20150712.045057-6.jar-->
                        <!--uniqueVersion - Se TRUE, nao permite versionar ex: 1.0.1-SNAPSHOT/projeto-1.0.1-SNAPSHOT.jar-->
                        <!--Maven 3.3.3 tem bug com isso.-->
                        <uniqueVersion>false</uniqueVersion>
                        <id>snapshots</id>
                        <name>Nexus Snapshots Repository</name>
                        <url>https://nexus.xxxx.io/repository/maven-snapshots</url>
                        <layout>default</layout>
                    </snapshotRepository>
                </distributionManagement>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-deploy-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>default-deploy</id>
                                    <phase>deploy</phase>
                                    <goals>
                                        <goal>deploy</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build>
            </profile>
    
            <profile>
                <id>desenvolvimento</id>
                <activation>
                    <property>
                        <name>desenvolvimento</name>
                    </property>
                </activation>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-war-plugin</artifactId>
                            <configuration>
                                <!--webappDirectory>
                                    ${project.build.directory}/${project.artifactId}-${project.version}-exploded.${project.packaging}
                                </webappDirectory-->
                                <!--webappDirectory>
                                    ${project.build.directory}/${project.artifactId}-exploded.${project.packaging}
                                </webappDirectory-->
                                <!--<webappDirectory>-->
                                <!--${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}-->
                                <!--</webappDirectory>-->
                                <webappDirectory>
                                    ${project.build.directory}/${project.artifactId}-${project.version}
                                </webappDirectory>
                                <failOnMissingWebXml>false</failOnMissingWebXml>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>default-war</id>
                                    <phase>none</phase>
                                </execution>
                                <execution>
                                    <id>war-exploded</id>
                                    <phase>package</phase>
                                    <goals>
                                        <goal>exploded</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-install-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>default-install</id>
                                    <phase>none</phase>
                                </execution>
                            </executions>
                        </plugin>
    
                    </plugins>
                </build>
            </profile>
    
        </profiles>
    
    </project>
    ```
    
    Jenkins out compilation:
    ```
    ........
    [INFO] [INFO] ------------------------------------------------------------------------
    [INFO] Checking in modified POMs...
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git add -- pom.xml release-pom.xml
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git rev-parse --show-toplevel
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git status --porcelain .
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup
    [WARNING] Ignoring unrecognized line: ?? release.properties
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git commit --verbose -F /tmp/maven-scm-276665832.commit pom.xml release-pom.xml
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Tagging release with the label v2.0.3...
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git tag -F /tmp/maven-scm-1646941823.commit v2.0.3
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git ls-files
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Transforming 'myapp'...
    [INFO] Removing release POM for 'myapp'...
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git rm release-pom.xml
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] Checking in modified POMs...
    [INFO] Executing: /bin/sh -c cd /var/jenkins_home/workspace/myapp/stable && git add -- pom.xml release-pom.xml
    [INFO] Working directory: /var/jenkins_home/workspace/myapp/stable
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 28.690 s
    [INFO] Finished at: 2016-07-22T21:59:42+00:00
    [INFO] Final Memory: 26M/443M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare-with-pom (default-cli) on project myapp: Unable to commit files
    [ERROR] Provider message:
    [ERROR] The git-add command failed.
    [ERROR] Command output:
    [ERROR] fatal: pathspec 'release-pom.xml' did not match any files
    [ERROR] -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    [Pipeline] mail
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit\u2019s build result
    
    ERROR: script returned exit code 1
    Finished: FAILURE
    ```
    
    If i change to 'release:prepare', this works.
    ```
    sh "mvn --batch-mode release:clean release:prepare-with-pom release:perform -Ppublish-release"
    ```
    :cry:  :sob: 
    but I need 'pom-release-xml' to use with 'github-release:release' after the build.
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org