X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=jjb%2Flf-maven-jobs.yaml;h=4342a8f68edaa2a48aea2f97c6c5041c2dfe6d6c;hb=refs%2Fchanges%2F63%2F15363%2F4;hp=9671ebbe9235fc28faf66f51a4460713ef574e7b;hpb=336975b670016ffcb49911b3eef486a2f093d18c;p=releng%2Fglobal-jjb.git diff --git a/jjb/lf-maven-jobs.yaml b/jjb/lf-maven-jobs.yaml index 9671ebbe..4342a8f6 100644 --- a/jjb/lf-maven-jobs.yaml +++ b/jjb/lf-maven-jobs.yaml @@ -21,13 +21,39 @@ - ../shell/common-variables.sh - ../shell/maven-deploy.sh +- builder: + name: lf-maven-versions-plugin + builders: + - conditional-step: + condition-kind: boolean-expression + condition-expression: '{maven-versions-plugin}' + steps: + - inject: + properties-file: version.properties + - maven-target: + maven-version: '{mvn-version}' + pom: '{mvn-pom}' + goals: 'versions:set versions:update-child-modules versions:commit -B' + properties: + - 'newVersion=${{maven-versions-plugin-set-version}}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - builder: name: lf-maven-stage builders: + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' + - lf-infra-create-netrc: + server-id: '{mvn-staging-id}' # include-raw-escape fails due to JJB bug - - shell: !include-raw: + - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-stage.sh + - lf-provide-maven-settings-cleanup - builder: name: lf-update-java-alternatives @@ -310,7 +336,7 @@ - lf-provide-maven-settings-cleanup - job-template: - name: '{project-name}-maven-javadoc-publish-{stream}' + name: '{project-name}-maven-javadoc-publish-{stream}-{java-version}' id: gerrit-maven-javadoc-publish <<: *lf_maven_common # yamllint disable-line rule:key-duplicates @@ -340,7 +366,7 @@ branch-pattern: '**/{branch}' - job-template: - name: '{project-name}-maven-javadoc-publish-{stream}' + name: '{project-name}-maven-javadoc-publish-{stream}-{java-version}' id: github-maven-javadoc-publish <<: *lf_maven_common # yamllint disable-line rule:key-duplicates @@ -436,7 +462,7 @@ - lf-provide-maven-settings-cleanup - job-template: - name: '{project-name}-maven-javadoc-verify-{stream}' + name: '{project-name}-maven-javadoc-verify-{stream}-{java-version}' id: gerrit-maven-javadoc-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates @@ -464,7 +490,7 @@ branch-pattern: '**/{branch}' - job-template: - name: '{project-name}-maven-javadoc-verify-{stream}' + name: '{project-name}-maven-javadoc-verify-{stream}-{java-version}' id: github-maven-javadoc-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates @@ -665,6 +691,8 @@ git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 + maven-versions-plugin: false + maven-versions-plugin-set-version: '' mvn-central: false mvn-global-settings: global-settings mvn-goals: clean deploy @@ -672,7 +700,9 @@ mvn-params: '' mvn-version: mvn35 ossrh-profile-id: '' + mvn-pom: '' sign-artifacts: false + sign-mode: serial stream: master submodule-recursive: true submodule-timeout: 10 @@ -697,6 +727,10 @@ mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' staging-profile-id: '{staging-profile-id}' + - bool: + name: MAVEN_VERSIONS_PLUGIN + default: '{maven-versions-plugin}' + description: Use maven-versions-plugin to update pom versions. - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -716,17 +750,27 @@ - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - - lf-infra-create-netrc: - server-id: '{mvn-staging-id}' + - lf-maven-versions-plugin: + maven-versions-plugin: '{maven-versions-plugin}' + mvn-version: '{mvn-version}' + mvn-pom: '{mvn-pom}' + maven-versions-plugin-set-version: '{maven-versions-plugin-set-version}' + mvn-settings: '{mvn-settings}' - shell: !include-raw-escape: ../shell/maven-patch-release.sh - lf-maven-build: mvn-goals: '{mvn-goals}' - lf-sigul-sign-dir: sign-artifacts: '{sign-artifacts}' sign-dir: '$WORKSPACE/m2repo' - - lf-maven-stage + sign-mode: '{sign-mode}' + - lf-maven-stage: + mvn-global-settings: '{mvn-global-settings}' + mvn-settings: '{mvn-settings}' + mvn-staging-id: '{mvn-staging-id}' - lf-maven-central: mvn-central: '{mvn-central}' + mvn-global-settings: '{mvn-global-settings}' + mvn-settings: '{mvn-settings}' ossrh-profile-id: '{ossrh-profile-id}' - lf-provide-maven-settings-cleanup @@ -817,6 +861,10 @@ mvn-params: '' mvn-version: mvn35 sonar-mvn-goal: 'sonar:sonar' + sonarcloud: false + sonarcloud-project-key: '' + sonarcloud-project-organization: '' + sonarcloud-api-token: '' stream: master submodule-recursive: true submodule-timeout: 10 @@ -871,10 +919,31 @@ builders: - lf-infra-pre-build - - lf-infra-maven-sonar: - java-version: '{java-version}' - mvn-settings: '{mvn-settings}' - mvn-version: '{mvn-version}' + # With SonarCloud + - conditional-step: + condition-kind: boolean-expression + condition-expression: '{sonarcloud}' + steps: + - shell: echo 'Using SonarCloud' + - lf-infra-maven-sonarcloud: + java-version: '{java-version}' + mvn-settings: '{mvn-settings}' + mvn-version: '{mvn-version}' + sonarcloud-project-key: '{sonarcloud-project-key}' + sonarcloud-project-organization: '{sonarcloud-project-organization}' + sonarcloud-api-token: '{sonarcloud-api-token}' + # With SonarQube + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: boolean-expression + condition-expression: '{sonarcloud}' + steps: + - shell: echo 'Using SonarQube' + - lf-infra-maven-sonar: + java-version: '{java-version}' + mvn-settings: '{mvn-settings}' + mvn-version: '{mvn-version}' publishers: - lf-jacoco-report @@ -900,6 +969,29 @@ - ../shell/maven-sonar.sh - lf-provide-maven-settings-cleanup +- builder: + name: lf-infra-maven-sonarcloud + # Run a Sonar build with Maven + builders: + - lf-maven-install: + mvn-version: '{mvn-version}' + - lf-update-java-alternatives: + java-version: '{java-version}' + - inject: + # Switch this to the sonar wrapper when JJB 2.0 is available + properties-content: | + SONAR_HOST_URL=https://sonarcloud.io + PROJECT_KEY={sonarcloud-project-key} + PROJECT_ORGANIZATION={sonarcloud-project-organization} + API_TOKEN={sonarcloud-api-token} + - lf-provide-maven-settings: + global-settings-file: global-settings + settings-file: '{mvn-settings}' + - shell: !include-raw-escape: + - ../shell/common-variables.sh + - ../shell/maven-sonar.sh + - lf-provide-maven-settings-cleanup + - job-template: name: '{project-name}-sonar' id: gerrit-maven-sonar @@ -941,8 +1033,7 @@ jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - # Build weekly on Saturdays - - timed: 'H H * * 6' + - timed: '{obj:cron}' - github-pull-request: trigger-phrase: '^run-sonar$' only-trigger-phrase: true @@ -977,7 +1068,7 @@ mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: '' - mvn-params: '-Dstream=$STREAM' + mvn-params: '-Dstream=$STREAM -Dmaven.source.skip=true' mvn-version: mvn35 stream: master submodule-recursive: true