This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch 
bugfix/37-RC-auto-staging-checks-out-SVN-even-on-non-release-builds
in repository https://gitbox.apache.org/repos/asf/uima-parent-pom.git

commit fc3227edc339190edb2e11d2f50e18365e698e60
Author: Richard Eckart de Castilho <[email protected]>
AuthorDate: Wed Oct 4 18:31:49 2023 +0200

    Issue #37: RC auto staging checks out SVN even on non-release builds
    
    - Remove extra parameters from Jenkinsfile - no longer needed
    - Upgrade to Groovy 4.0.15 except japicmp which requires Groovy 3.0.x
    - japicmp-maven-plugin 0.17.2 -> 0.18.1
    - Only generate release notes as part of a release build
    - Only execute RC staging stuff when running as part of a release build
    - Allow using Groovy script in antrun targets
---
 Jenkinsfile |   4 +-
 pom.xml     | 121 +++++++++++++++++++++++++++++++++---------------------------
 2 files changed, 68 insertions(+), 57 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 2041bc4..603ead7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -17,6 +17,4 @@
   
 @Library('uima-build-jenkins-shared-library') _
 
-defaultPipeline {
-  extraMavenArguments = '-Prun-rat-report -Ddisable-rc-auto-staging 
-Ddisable-generate-release-notes'
-}
+defaultPipeline {}
diff --git a/pom.xml b/pom.xml
index 83ac021..b4602a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -130,7 +130,15 @@
 
     <maven.surefire.heap>512m</maven.surefire.heap>
     
+    <maven.groovy.version>4.0.15</maven.groovy.version>
+    <maven.ant.version>1.10.14</maven.ant.version>
+    
     <gpg.skip>false</gpg.skip>
+
+    <!-- Disable release staging when not performing release build -->
+    <!-- Better solution would be a skip parameter - 
https://issues.apache.org/jira/browse/SCM-1013 -->
+    <releaseStagingCheckoutPhase>none</releaseStagingCheckoutPhase>
+    <releaseStagingCommitPhase>none</releaseStagingCommitPhase>
   </properties>
 
   <repositories>
@@ -190,13 +198,13 @@
         <plugin>
           <groupId>com.github.siom79.japicmp</groupId>
           <artifactId>japicmp-maven-plugin</artifactId>
-          <version>0.17.2</version>
+          <version>0.18.1</version>
           <dependencies>
             <dependency>
               <!-- See: https://issues.apache.org/jira/browse/UIMA-6349 -->
               <groupId>org.codehaus.groovy</groupId>
               <artifactId>groovy-jsr223</artifactId>
-              <version>2.5.17</version>
+              <version>3.0.19</version>
             </dependency>
           </dependencies>
         </plugin>
@@ -420,16 +428,28 @@
           <artifactId>maven-antrun-plugin</artifactId>
           <version>3.1.0</version>
           <dependencies>
-            <dependency> <!-- for ant extension supporting "if" -->
+            <dependency> 
+              <!-- for ant extension supporting "if" -->
               <groupId>ant-contrib</groupId>
               <artifactId>ant-contrib</artifactId>
               <version>20020829</version>
             </dependency>
-            <!-- <containsregexp> form for filesets -->
             <dependency>
+              <groupId>org.apache.ant</groupId>
+              <artifactId>ant</artifactId>
+              <version>${maven.ant.version}</version>
+            </dependency>
+            <dependency>
+              <!-- <containsregexp> form for filesets -->
               <groupId>org.apache.ant</groupId>
               <artifactId>ant-apache-regexp</artifactId>
-              <version>1.10.12</version>
+              <version>${maven.ant.version}</version>
+            </dependency>
+            <dependency>
+              <groupId>org.apache.groovy</groupId>
+              <artifactId>groovy-all</artifactId>
+              <version>${maven.groovy.version}</version>
+              <type>pom</type>
             </dependency>
           </dependencies>
         </plugin>
@@ -533,9 +553,9 @@
           <version>2.1.1</version>
           <dependencies>
             <dependency>
-              <groupId>org.codehaus.groovy</groupId>
+              <groupId>org.apache.groovy</groupId>
               <artifactId>groovy-all</artifactId>
-              <version>3.0.18</version>
+              <version>${maven.groovy.version}</version>
               <type>pom</type>
             </dependency>
           </dependencies>
@@ -720,6 +740,8 @@
       <id>apache-release</id>
       <properties>
         <isApacheRelease>true</isApacheRelease>
+        <releaseStagingCheckoutPhase>initialize</releaseStagingCheckoutPhase>
+        <releaseStagingCommitPhase>deploy</releaseStagingCommitPhase>
       </properties>
 
       <build>
@@ -1023,55 +1045,46 @@
                 <configuration>
                   <exportAntProperties>true</exportAntProperties>
                   <target>
-                    <echo level="info">Generating release notes using GitHub 
API via the gh CLI tool</echo>
-                    <echo level="info">Repository : ${github-repository}</echo>
-                    <echo level="info">New tag    : 
${project.artifactId}-${project.version}</echo>
-                    <echo level="info">Old tag    : 
rel/${project.artifactId}-${previous-release-version}</echo>
-                    <echo level="info">Branch     : ${git-branch}</echo>
-                    <mkdir dir="issuesFixed"/>
-                    <exec executable="gh" failonerror="true" 
outputproperty="gh-release-notes">
-                      <arg value="api" />
-                      <arg value="--method" />
-                      <arg value="POST" />
-                      <arg value="-H" />
-                      <arg value="Accept: application/vnd.github+json" />
-                      <arg value="-H" />
-                      <arg value="X-GitHub-Api-Version: 2022-11-28" />
-                      <arg 
value="/repos/apache/${github-repository}/releases/generate-notes" />
-                      <arg value="-f" />
-                      <arg 
value="tag_name=${project.artifactId}-${project.version}" />
-                      <arg value="-f" />
-                      <arg value="target_commitish=${git-branch}" />
-                      <arg value="-f" />
-                      <arg 
value="previous_tag_name=rel/${project.artifactId}-${previous-release-version}" 
/>
-                    </exec>
+                    <sequential xmlns:if="ant:if" if:set="isApacheRelease">
+                      <echo level="info">Generating release notes using GitHub 
API via the gh CLI tool</echo>
+                      <echo level="info">Repository : 
${github-repository}</echo>
+                      <echo level="info">New tag    : 
${project.artifactId}-${project.version}</echo>
+                      <echo level="info">Old tag    : 
rel/${project.artifactId}-${previous-release-version}</echo>
+                      <echo level="info">Branch     : ${git-branch}</echo>
+                      <mkdir dir="issuesFixed"/>
+                      <exec executable="gh" failonerror="true" 
outputproperty="gh-release-notes">
+                        <arg value="api" />
+                        <arg value="--method" />
+                        <arg value="POST" />
+                        <arg value="-H" />
+                        <arg value="Accept: application/vnd.github+json" />
+                        <arg value="-H" />
+                        <arg value="X-GitHub-Api-Version: 2022-11-28" />
+                        <arg 
value="/repos/apache/${github-repository}/releases/generate-notes" />
+                        <arg value="-f" />
+                        <arg 
value="tag_name=${project.artifactId}-${project.version}" />
+                        <arg value="-f" />
+                        <arg value="target_commitish=${git-branch}" />
+                        <arg value="-f" />
+                        <arg 
value="previous_tag_name=rel/${project.artifactId}-${previous-release-version}" 
/>
+                      </exec>
+                      <script language="groovy">
+                        <![CDATA[
+                          import groovy.json.JsonSlurper
+                          def jsonSlurper = new JsonSlurper()
+                          def json = 
jsonSlurper.parseText(project.properties['gh-release-notes'])
+                          new 
File('issuesFixed/github-report.md').withWriter("UTF-8") { out -> 
out.write(json.body) } 
+                        ]]>
+                      </script>
+                    </sequential>
+                    <sequential xmlns:unless="ant:unless" 
unless:set="iisApacheRelease">
+                      <echo level="info">Not generating release notes - this 
is not a release build</echo>
+                    </sequential>
                   </target>
                 </configuration>
               </execution>
             </executions>
           </plugin>
-          <plugin>
-            <groupId>org.codehaus.gmaven</groupId>
-            <artifactId>groovy-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <!-- Load postNoticeText from NOTICE file -->
-                <id>gh-store-release-notes</id>
-                <phase>prepare-package</phase>
-                <goals>
-                  <goal>execute</goal>
-                </goals>
-                <configuration>
-                  <source><![CDATA[
-                    import groovy.json.JsonSlurper
-                    def jsonSlurper = new JsonSlurper()
-                    def json = 
jsonSlurper.parseText(project.properties['gh-release-notes'])
-                    new 
File('issuesFixed/github-report.md').withWriter("UTF-8") { out -> 
out.write(json.body) } 
-                  ]]></source>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
         </plugins>
       </build>
     </profile>
@@ -1943,7 +1956,7 @@
             <executions>
               <execution>
                 <id>checkout-staging</id>
-                <phase>initialize</phase>
+                <phase>${releaseStagingCheckoutPhase}</phase>
                 <goals>
                   <goal>checkout</goal>
                 </goals>
@@ -1955,7 +1968,7 @@
               </execution>
               <execution>
                 <id>add-staging-files</id>
-                <phase>deploy</phase>
+                <phase>${releaseStagingCommitPhase}</phase>
                 <goals>
                   <goal>add</goal>
                 </goals>
@@ -1968,7 +1981,7 @@
               </execution>
               <execution>
                 <id>commit-staging-files</id>
-                <phase>deploy</phase>
+                <phase>${releaseStagingCommitPhase}</phase>
                 <goals>
                   <goal>checkin</goal>
                 </goals>

Reply via email to