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>
: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)
: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)
: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)
github-url: 'https://github.com'
java-version: openjdk8
mvn-global-settings: global-settings
github-url: 'https://github.com'
java-version: openjdk8
mvn-global-settings: global-settings
+ mvn-goals: clean install
mvn-opts: ''
mvn-params: ''
mvn-version: mvn35
mvn-opts: ''
mvn-params: ''
mvn-version: mvn35
- shell: echo 'Using SonarCloud'
- lf-infra-maven-sonarcloud:
java-version: '{java-version}'
- 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}'
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}'
- shell: echo 'Using SonarQube'
- lf-infra-maven-sonar:
java-version: '{java-version}'
+ mvn-goals: '{mvn-goals}'
mvn-settings: '{mvn-settings}'
mvn-version: '{mvn-version}'
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
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}'
- 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}
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
API_TOKEN={sonarcloud-api-token}
- lf-provide-maven-settings:
global-settings-file: global-settings
--- /dev/null
+---
+fixes:
+ - |
+ Allow maven goals to be configured in maven-sonar.sh.
+ Set to "clean install" by default.
# Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
# shellcheck disable=SC2086
# Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
# shellcheck disable=SC2086
-e -Dsonar \
${params[*]} \
$MAVEN_OPTIONS $MAVEN_PARAMS
-e -Dsonar \
${params[*]} \
$MAVEN_OPTIONS $MAVEN_PARAMS