Configure mvn-goals in maven-sonar.sh 04/16104/1
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Fri, 5 Jul 2019 19:26:17 +0000 (12:26 -0700)
committerJessica Wagantall <jwagantall@linuxfoundation.org>
Fri, 5 Jul 2019 19:26:17 +0000 (12:26 -0700)
Extend maven-sonar.sh to allow configuration of
maven goals for the build step. Set to default as
"clean install".
This change will not cause any issue for projects
already using this job.

Issue: RELENG-2184
Change-Id: Ic8fe16de24097ec9ef805a24de4cebaef934fb04
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
docs/jjb/lf-maven-jobs.rst
jjb/lf-maven-jobs.yaml
releasenotes/notes/configure-maven-sonar-goals-1b0018c932b2f9a1.yaml [new file with mode: 0644]
shell/maven-sonar.sh

index 85bebcc..ad59153 100644 (file)
@@ -466,6 +466,8 @@ interest in that kind of support.
     :java-version: Version of Java to use for the build. (default: openjdk8)
     :mvn-global-settings: The name of the Maven global settings to use for
         Maven configuration. (default: global-settings)
+    :mvn-goals: The maven goals to perform for the build.
+        (default: clean install)
     :mvn-opts: Sets MAVEN_OPTS. (default: '')
     :mvn-params: Additional mvn parameters to pass to the cli. (default: '')
     :mvn-version: Version of maven to use. (default: mvn35)
index f8982c0..e42dcde 100644 (file)
     github-url: 'https://github.com'
     java-version: openjdk8
     mvn-global-settings: global-settings
+    mvn-goals: clean install
     mvn-opts: ''
     mvn-params: ''
     mvn-version: mvn35
             - shell: echo 'Using SonarCloud'
             - lf-infra-maven-sonarcloud:
                 java-version: '{java-version}'
+                mvn-goals: '{mvn-goals}'
                 mvn-settings: '{mvn-settings}'
                 mvn-version: '{mvn-version}'
                 sonarcloud-project-key: '{sonarcloud-project-key}'
             - shell: echo 'Using SonarQube'
             - lf-infra-maven-sonar:
                 java-version: '{java-version}'
+                mvn-goals: '{mvn-goals}'
                 mvn-settings: '{mvn-settings}'
                 mvn-version: '{mvn-version}'
 
           java-version: '{java-version}'
       - inject:
           # Switch this to the sonar wrapper when JJB 2.0 is available
-          properties-content: SONAR_HOST_URL=$SONAR_URL
+          properties-content: |
+            SONAR_HOST_URL=$SONAR_URL
+            MAVEN_GOALS={mvn-goals}
       - lf-provide-maven-settings:
           global-settings-file: global-settings
           settings-file: '{mvn-settings}'
             SONAR_HOST_URL=https://sonarcloud.io
             PROJECT_KEY={sonarcloud-project-key}
             PROJECT_ORGANIZATION={sonarcloud-project-organization}
+            MAVEN_GOALS={mvn-goals}
             API_TOKEN={sonarcloud-api-token}
       - lf-provide-maven-settings:
           global-settings-file: global-settings
diff --git a/releasenotes/notes/configure-maven-sonar-goals-1b0018c932b2f9a1.yaml b/releasenotes/notes/configure-maven-sonar-goals-1b0018c932b2f9a1.yaml
new file mode 100644 (file)
index 0000000..642e355
--- /dev/null
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Allow maven goals to be configured in maven-sonar.sh.
+    Set to "clean install" by default.
index 706697b..e78d156 100644 (file)
@@ -25,7 +25,7 @@ params+=("--settings $SETTINGS_FILE")
 
 # Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
 # shellcheck disable=SC2086
-$MVN clean install \
+$MVN $MAVEN_GOALS \
     -e -Dsonar \
     ${params[*]} \
     $MAVEN_OPTIONS $MAVEN_PARAMS