2 # This file contains job templates for Maven projects.
12 properties-content: "MAVEN_GOALS={mvn-goals}"
13 - shell: !include-raw-escape:
14 - ../shell/common-variables.sh
15 - ../shell/maven-build.sh
20 - shell: !include-raw:
21 - ../shell/common-variables.sh
22 - ../shell/maven-deploy.sh
25 name: lf-maven-versions-plugin
28 condition-kind: boolean-expression
29 condition-expression: "{maven-versions-plugin}"
32 properties-file: "{version-properties-file}"
34 maven-version: "{mvn-version}"
36 goals: "versions:set versions:update-child-modules versions:commit -B"
38 - "newVersion=${{release_version}}"
39 settings: "{mvn-settings}"
41 global-settings: "global-settings"
42 global-settings-type: cfp
47 - lf-provide-maven-settings:
48 global-settings-file: "{mvn-global-settings}"
49 settings-file: "{mvn-settings}"
50 - lf-infra-create-netrc:
51 server-id: "{mvn-staging-id}"
52 # include-raw-escape fails due to JJB bug
53 - shell: !include-raw-escape:
54 - ../shell/common-variables.sh
55 - ../shell/maven-stage.sh
56 - lf-provide-maven-settings-cleanup
59 name: lf-update-java-alternatives
62 # Work around inject plugin overriding our GIT_URL variable incorrectly
63 # https://issues.jenkins-ci.org/browse/JENKINS-49775
65 SET_JDK_VERSION={java-version}
67 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
69 properties-file: "/tmp/java.env"
75 - lf_maven_common: &lf_maven_common
78 ######################
79 # Default parameters #
80 ######################
85 **/target/**/feature.xml
86 **/target/failsafe-reports/failsafe-summary.xml
87 **/target/surefire-reports/*-output.txt
93 project-type: freestyle
97 - lf-infra-properties:
98 build-days-to-keep: "{build-days-to-keep}"
101 - lf-infra-parameters:
105 - lf-infra-maven-parameters:
106 mvn-opts: "{mvn-opts}"
107 mvn-params: "{mvn-params}"
108 mvn-version: "{mvn-version}"
110 name: ARCHIVE_ARTIFACTS
111 default: "{archive-artifacts}"
112 description: Artifacts to archive to the logs server.
116 build-timeout: "{build-timeout}"
117 jenkins-ssh-credential: "{jenkins-ssh-credential}"
120 # TODO: Make email notification work.
121 # - lf-infra-email-notify:
122 # email-recipients: '{email-recipients}'
123 # email-prefix: '[releng]'
130 - lf_maven_clm: &lf_maven_clm
133 ######################
134 # Default parameters #
135 ######################
138 build-days-to-keep: 30 # 30 days for troubleshooting purposes
141 git-url: "$GIT_URL/$PROJECT"
142 github-url: "https://github.com"
143 java-version: openjdk11
144 mvn-global-settings: global-settings
145 mvn-goals: clean install
149 nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
150 nexus-iq-stage: "build"
152 submodule-recursive: true
153 submodule-timeout: 10
154 submodule-disable: false
156 nexus_iq_scan_patterns:
164 - comment-added-contains-event:
165 comment-contains-value: '^Patch Set\s+\d+:\s+run-clm\s*$'
168 - lf-infra-parameters:
172 - lf-infra-maven-parameters:
173 mvn-opts: "{mvn-opts}"
174 mvn-params: "{mvn-params}"
175 mvn-version: "{mvn-version}"
177 name: ARCHIVE_ARTIFACTS
178 default: "{archive-artifacts}"
179 description: Artifacts to archive to the logs server.
181 nexus-iq-stage: "{nexus-iq-stage}"
183 #####################
184 # Job Configuration #
185 #####################
187 disabled: "{disable-job}"
192 mvn-version: "{mvn-version}"
193 - lf-update-java-alternatives:
194 java-version: "{java-version}"
195 - lf-provide-maven-settings:
196 global-settings-file: "{mvn-global-settings}"
197 settings-file: "{mvn-settings}"
198 - lf-infra-sonatype-clm:
199 mvn-goals: "{mvn-goals}"
200 - lf-provide-maven-settings-cleanup
201 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
202 - nexus-iq-policy-evaluator:
203 stage: "{nexus-iq-stage}"
204 application-type: "manual"
205 application-id: "{nexus-iq-namespace}{project-name}"
206 scan-patterns: "{obj:nexus_iq_scan_patterns}"
207 fail-build-network-error: true
210 name: lf-infra-sonatype-clm
211 # Run a CLM scan build with Maven
214 properties-content: |
215 MAVEN_GOALS={mvn-goals}
216 - shell: !include-raw-escape:
217 - ../shell/common-variables.sh
218 - ../shell/sonatype-clm.sh
221 name: "{project-name}-maven-clm-{stream}"
224 # yamllint disable-line rule:key-duplicates
228 - lf-infra-gerrit-scm:
229 jenkins-ssh-credential: "{jenkins-ssh-credential}"
231 refspec: "$GERRIT_REFSPEC"
232 branch: "$GERRIT_BRANCH"
233 submodule-recursive: "{submodule-recursive}"
234 submodule-timeout: "{submodule-timeout}"
235 submodule-disable: "{submodule-disable}"
236 choosing-strategy: default
239 # Build weekly on Saturdays
242 server-name: "{gerrit-server-name}"
243 trigger-on: "{obj:gerrit_clm_triggers}"
245 - project-compare-type: ANT
246 project-pattern: "{project}"
248 - branch-compare-type: ANT
249 branch-pattern: "**/{branch}"
257 name: "{project-name}-maven-clm-{stream}"
260 # yamllint disable-line rule:key-duplicates
264 - lf-infra-properties:
265 build-days-to-keep: "{build-days-to-keep}"
267 url: "{github-url}/{github-org}/{project}"
270 - lf-infra-github-scm:
271 url: "{git-clone-url}{github-org}/{project}"
273 branch: "refs/heads/{branch}"
274 submodule-recursive: "{submodule-recursive}"
275 submodule-timeout: "{submodule-timeout}"
276 submodule-disable: "{submodule-disable}"
277 choosing-strategy: default
278 jenkins-ssh-credential: "{jenkins-ssh-credential}"
281 # Build weekly on Saturdays
283 - github-pull-request:
284 trigger-phrase: "^run-clm$"
285 only-trigger-phrase: true
286 status-context: "CLM"
291 white-list: "{obj:github_pr_allowlist}"
292 admin-list: "{obj:github_pr_admin_list}"
293 white-list-target-branches:
296 #########################
297 # Maven Javadoc Publish #
298 #########################
300 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
301 name: lf-maven-javadoc-publish
303 ######################
304 # Default parameters #
305 ######################
308 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
311 git-url: "$GIT_URL/$PROJECT"
312 github-url: "https://github.com"
313 java-version: openjdk11
315 mvn-global-settings: global-settings
320 submodule-recursive: true
321 submodule-timeout: 10
322 submodule-disable: false
324 gerrit_merge_triggers:
325 - change-merged-event
326 - comment-added-contains-event:
327 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
329 #####################
330 # Job Configuration #
331 #####################
333 disabled: "{disable-job}"
338 mvn-version: "{mvn-version}"
339 - lf-update-java-alternatives:
340 java-version: "{java-version}"
341 - lf-provide-maven-settings:
342 global-settings-file: "{mvn-global-settings}"
343 settings-file: "{mvn-settings}"
344 - lf-infra-create-netrc:
345 server-id: "{mvn-site-id}"
347 properties-content: |
348 DEPLOY_PATH={javadoc-path}
350 - shell: !include-raw-escape:
351 - ../shell/common-variables.sh
352 - ../shell/maven-javadoc-generate.sh
353 - ../shell/maven-javadoc-publish.sh
354 - lf-provide-maven-settings-cleanup
357 name: "{project-name}-maven-javadoc-publish-{stream}-{java-version}"
358 id: gerrit-maven-javadoc-publish
360 # yamllint disable-line rule:key-duplicates
361 <<: *lf_maven_javadoc_publish
363 git-url: "$GIT_URL/$GERRIT_PROJECT"
366 - lf-infra-gerrit-scm:
370 submodule-recursive: "{submodule-recursive}"
371 submodule-timeout: "{submodule-timeout}"
372 submodule-disable: "{submodule-disable}"
373 choosing-strategy: default
374 jenkins-ssh-credential: "{jenkins-ssh-credential}"
378 server-name: "{gerrit-server-name}"
379 trigger-on: "{obj:gerrit_merge_triggers}"
381 - project-compare-type: ANT
382 project-pattern: "{project}"
384 - branch-compare-type: ANT
385 branch-pattern: "**/{branch}"
388 name: "{project-name}-maven-javadoc-publish-{stream}-{java-version}"
389 id: github-maven-javadoc-publish
391 # yamllint disable-line rule:key-duplicates
392 <<: *lf_maven_javadoc_publish
395 - lf-infra-properties:
396 build-days-to-keep: "{build-days-to-keep}"
398 url: "{github-url}/{github-org}/{project}"
401 - lf-infra-github-scm:
402 url: "{git-clone-url}{github-org}/{project}"
405 submodule-recursive: "{submodule-recursive}"
406 submodule-timeout: "{submodule-timeout}"
407 submodule-disable: "{submodule-disable}"
408 choosing-strategy: default
409 jenkins-ssh-credential: "{jenkins-ssh-credential}"
415 - github-pull-request:
416 trigger-phrase: "^remerge$"
417 only-trigger-phrase: true
418 status-context: "Maven Javadoc Publish"
423 white-list: "{obj:github_pr_allowlist}"
424 admin-list: "{obj:github_pr_admin_list}"
425 white-list-target-branches:
428 ########################
429 # Maven Javadoc Verify #
430 ########################
432 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
433 name: lf-maven-javadoc-verify
435 ######################
436 # Default parameters #
437 ######################
440 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
443 git-url: "$GIT_URL/$PROJECT"
444 github-url: "https://github.com"
445 java-version: openjdk11
447 mvn-global-settings: global-settings
452 submodule-recursive: true
453 submodule-timeout: 10
454 submodule-disable: false
456 gerrit_verify_triggers:
457 - patchset-created-event:
459 exclude-trivial-rebase: false
460 exclude-no-code-change: false
461 - draft-published-event
462 - comment-added-contains-event:
463 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
465 #####################
466 # Job Configuration #
467 #####################
470 disabled: "{disable-job}"
475 mvn-version: "{mvn-version}"
476 - lf-update-java-alternatives:
477 java-version: "{java-version}"
478 - lf-provide-maven-settings:
479 global-settings-file: "{mvn-global-settings}"
480 settings-file: "{mvn-settings}"
482 properties-content: |
484 - shell: !include-raw-escape:
485 - ../shell/common-variables.sh
486 - ../shell/maven-javadoc-generate.sh
487 - lf-provide-maven-settings-cleanup
490 name: "{project-name}-maven-javadoc-verify-{stream}-{java-version}"
491 id: gerrit-maven-javadoc-verify
493 # yamllint disable-line rule:key-duplicates
494 <<: *lf_maven_javadoc_verify
497 - lf-infra-gerrit-scm:
498 jenkins-ssh-credential: "{jenkins-ssh-credential}"
500 refspec: "$GERRIT_REFSPEC"
501 branch: "$GERRIT_BRANCH"
502 submodule-recursive: "{submodule-recursive}"
503 submodule-timeout: "{submodule-timeout}"
504 submodule-disable: "{submodule-disable}"
505 choosing-strategy: gerrit
509 server-name: "{gerrit-server-name}"
510 trigger-on: "{obj:gerrit_verify_triggers}"
512 - project-compare-type: ANT
513 project-pattern: "{project}"
515 - branch-compare-type: ANT
516 branch-pattern: "**/{branch}"
519 name: "{project-name}-maven-javadoc-verify-{stream}-{java-version}"
520 id: github-maven-javadoc-verify
522 # yamllint disable-line rule:key-duplicates
523 <<: *lf_maven_javadoc_verify
526 - lf-infra-properties:
527 build-days-to-keep: "{build-days-to-keep}"
529 url: "{github-url}/{github-org}/{project}"
532 - lf-infra-github-scm:
533 url: "{git-clone-url}{github-org}/{project}"
534 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
536 submodule-recursive: "{submodule-recursive}"
537 submodule-timeout: "{submodule-timeout}"
538 submodule-disable: "{submodule-disable}"
539 choosing-strategy: default
540 jenkins-ssh-credential: "{jenkins-ssh-credential}"
543 - github-pull-request:
544 trigger-phrase: ^(recheck|reverify)$
545 only-trigger-phrase: false
546 status-context: "Maven Javadoc Verify"
549 white-list-target-branches:
556 - lf_maven_merge: &lf_maven_merge
559 ######################
560 # Default parameters #
561 ######################
564 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
568 git-url: "$GIT_URL/$PROJECT"
569 github-url: "https://github.com"
570 java-version: openjdk11
571 mvn-global-settings: global-settings
572 mvn-goals: clean deploy
574 mvn-params: "-Dmerge"
576 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
578 submodule-recursive: true
579 submodule-timeout: 10
580 submodule-disable: false
582 gerrit_merge_triggers:
583 - change-merged-event
584 - comment-added-contains-event:
585 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
587 gerrit_trigger_file_paths:
588 - compare-type: REG_EXP
591 # github_included_regions MUST match gerrit_trigger_file_paths
592 github_included_regions:
595 post_build_trigger: ""
597 #####################
598 # Job Configuration #
599 #####################
601 disabled: "{disable-job}"
605 - lf-jacoco-nojava-workaround
607 mvn-version: "{mvn-version}"
608 - lf-update-java-alternatives:
609 java-version: "{java-version}"
610 - lf-provide-maven-settings:
611 global-settings-file: "{mvn-global-settings}"
612 settings-file: "{mvn-settings}"
613 - lf-infra-create-netrc:
614 server-id: "{mvn-snapshot-id}"
616 properties-content: |
617 NEXUS_CUT_DIRS={nexus-cut-dirs}
618 NEXUS_REPO={nexus-snapshot-repo}
619 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
621 mvn-goals: "{mvn-goals}"
623 - lf-provide-maven-settings-cleanup
629 - trigger-parameterized-builds: "{obj:post_build_trigger}"
632 name: "{project-name}-maven-merge-{stream}"
633 id: gerrit-maven-merge
635 # yamllint disable-line rule:key-duplicates
639 - lf-infra-gerrit-scm:
640 jenkins-ssh-credential: "{jenkins-ssh-credential}"
642 refspec: "$GERRIT_REFSPEC"
643 branch: "$GERRIT_BRANCH"
644 submodule-recursive: "{submodule-recursive}"
645 submodule-timeout: "{submodule-timeout}"
646 submodule-disable: "{submodule-disable}"
647 choosing-strategy: default
650 - timed: "{obj:cron}"
652 server-name: "{gerrit-server-name}"
653 trigger-on: "{obj:gerrit_merge_triggers}"
655 - project-compare-type: ANT
656 project-pattern: "{project}"
658 - branch-compare-type: ANT
659 branch-pattern: "**/{branch}"
660 file-paths: "{obj:gerrit_trigger_file_paths}"
663 name: "{project-name}-maven-merge-{stream}"
664 id: github-maven-merge
666 # yamllint disable-line rule:key-duplicates
670 - lf-infra-properties:
671 build-days-to-keep: "{build-days-to-keep}"
673 url: "{github-url}/{github-org}/{project}"
676 - lf-infra-github-scm:
677 url: "{git-clone-url}{github-org}/{project}"
679 branch: "refs/heads/{branch}"
680 submodule-recursive: "{submodule-recursive}"
681 submodule-timeout: "{submodule-timeout}"
682 submodule-disable: "{submodule-disable}"
683 choosing-strategy: default
684 jenkins-ssh-credential: "{jenkins-ssh-credential}"
687 - timed: "{obj:cron}"
691 - github-pull-request:
692 trigger-phrase: "^remerge$"
693 only-trigger-phrase: true
694 status-context: "Maven Merge"
699 white-list: "{obj:github_pr_allowlist}"
700 admin-list: "{obj:github_pr_admin_list}"
701 white-list-target-branches:
703 included-regions: "{obj:github_included_regions}"
705 ##########################
706 # Maven Merge for Docker #
707 ##########################
709 - lf_maven_docker_merge: &lf_maven_docker_merge
710 name: lf-maven-docker-merge
714 - lf-jacoco-nojava-workaround
716 mvn-version: "{mvn-version}"
717 - lf-infra-docker-login:
718 global-settings-file: "{mvn-global-settings}"
719 settings-file: "{mvn-settings}"
720 - lf-update-java-alternatives:
721 java-version: "{java-version}"
722 # must provide maven settings AFTER docker due to its cleanup
723 - lf-provide-maven-settings:
724 global-settings-file: "{mvn-global-settings}"
725 settings-file: "{mvn-settings}"
726 - lf-infra-create-netrc:
727 server-id: "{mvn-snapshot-id}"
729 properties-content: |
730 NEXUS_CUT_DIRS={nexus-cut-dirs}
731 NEXUS_REPO={nexus-snapshot-repo}
732 CONTAINER_PULL_REGISTRY={container-public-registry}
733 CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
734 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
736 mvn-goals: "{mvn-goals}"
738 - lf-provide-maven-settings-cleanup
741 name: "{project-name}-maven-docker-merge-{stream}"
742 id: gerrit-maven-docker-merge
744 # yamllint disable-line rule:key-duplicates
746 # yamllint disable-line rule:key-duplicates
747 <<: *lf_maven_docker_merge
750 - lf-infra-gerrit-scm:
751 jenkins-ssh-credential: "{jenkins-ssh-credential}"
753 refspec: "$GERRIT_REFSPEC"
754 branch: "$GERRIT_BRANCH"
755 submodule-recursive: "{submodule-recursive}"
756 submodule-timeout: "{submodule-timeout}"
757 submodule-disable: "{submodule-disable}"
758 choosing-strategy: default
762 server-name: "{gerrit-server-name}"
763 trigger-on: "{obj:gerrit_merge_triggers}"
765 - project-compare-type: ANT
766 project-pattern: "{project}"
768 - branch-compare-type: ANT
769 branch-pattern: "**/{branch}"
770 file-paths: "{obj:gerrit_trigger_file_paths}"
773 name: "{project-name}-maven-docker-merge-{stream}"
774 id: github-maven-docker-merge
776 # yamllint disable-line rule:key-duplicates
778 # yamllint disable-line rule:key-duplicates
779 <<: *lf_maven_docker_merge
782 - lf-infra-properties:
783 build-days-to-keep: "{build-days-to-keep}"
785 url: "{github-url}/{github-org}/{project}"
788 - lf-infra-github-scm:
789 url: "{git-clone-url}{github-org}/{project}"
791 branch: "refs/heads/{branch}"
792 submodule-recursive: "{submodule-recursive}"
793 submodule-timeout: "{submodule-timeout}"
794 submodule-disable: "{submodule-disable}"
795 choosing-strategy: default
796 jenkins-ssh-credential: "{jenkins-ssh-credential}"
802 - github-pull-request:
803 trigger-phrase: "^remerge$"
804 only-trigger-phrase: true
805 status-context: "Maven Docker Merge"
810 white-list: "{obj:github_pr_allowlist}"
811 admin-list: "{obj:github_pr_admin_list}"
812 white-list-target-branches:
814 included-regions: "{obj:github_included_regions}"
820 - lf_maven_stage: &lf_maven_stage
823 ######################
824 # Default parameters #
825 ######################
828 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
832 git-url: "$GIT_URL/$PROJECT"
833 github-url: "https://github.com"
834 java-version: openjdk11
835 maven-versions-plugin: false
836 version-properties-file: version.properties
838 mvn-global-settings: global-settings
839 mvn-goals: clean deploy
846 sbom-path: "$WORKSPACE"
847 sbom-generator: false
848 sbom-generator-version: "v0.0.10"
849 sign-artifacts: false
852 submodule-recursive: true
853 submodule-timeout: 10
854 submodule-disable: false
856 gerrit_release_triggers:
857 - comment-added-contains-event:
858 comment-contains-value: '^Patch Set\s+\d+:\s+stage-(maven-)?release\s*$'
860 gerrit_trigger_file_paths:
864 # github_included_regions MUST match gerrit_trigger_file_paths
865 github_included_regions:
868 #####################
869 # Job Configuration #
870 #####################
872 disabled: "{disable-job}"
875 - lf-infra-parameters:
879 - lf-infra-maven-parameters:
880 mvn-opts: "{mvn-opts}"
881 mvn-params: "{mvn-params}"
882 mvn-version: "{mvn-version}"
883 staging-profile-id: "{staging-profile-id}"
885 name: MAVEN_VERSIONS_PLUGIN
886 default: "{maven-versions-plugin}"
887 description: Use maven-versions-plugin to update pom versions.
889 name: ARCHIVE_ARTIFACTS
890 default: "{archive-artifacts}"
891 description: Artifacts to archive to the logs server.
893 name: STAGING_PROFILE_ID
894 default: "{staging-profile-id}"
895 description: Nexus staging profile ID.
897 name: SBOM_GENERATOR_VERSION
898 default: "{sbom-generator-version}"
899 description: SBOM generator version to download and run.
902 default: "{sbom-path}"
903 description: path where SBOM needs to be executed.
907 - lf-jacoco-nojava-workaround
909 mvn-version: "{mvn-version}"
910 - lf-update-java-alternatives:
911 java-version: "{java-version}"
912 - lf-provide-maven-settings:
913 global-settings-file: "{mvn-global-settings}"
914 settings-file: "{mvn-settings}"
915 - lf-maven-versions-plugin:
916 maven-versions-plugin: "{maven-versions-plugin}"
917 version-properties-file: "{version-properties-file}"
918 mvn-version: "{mvn-version}"
920 mvn-settings: "{mvn-settings}"
921 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
923 mvn-goals: "{mvn-goals}"
924 # With SBOM Generator
926 condition-kind: boolean-expression
927 condition-expression: "{sbom-generator}"
929 - shell: echo 'Running SBOM Generator'
930 - lf-infra-maven-sbom-generator:
931 sbom-flags: "{sbom-flags}"
933 sign-artifacts: "{sign-artifacts}"
934 sign-dir: "$WORKSPACE/m2repo"
935 sign-mode: "{sign-mode}"
937 mvn-global-settings: "{mvn-global-settings}"
938 mvn-settings: "{mvn-settings}"
939 mvn-staging-id: "{mvn-staging-id}"
941 mvn-central: "{mvn-central}"
942 mvn-global-settings: "{mvn-global-settings}"
943 mvn-settings: "{mvn-settings}"
944 ossrh-profile-id: "{ossrh-profile-id}"
945 - lf-provide-maven-settings-cleanup
948 name: "{project-name}-maven-stage-{stream}"
949 id: gerrit-maven-stage
951 # yamllint disable-line rule:key-duplicates
955 - lf-infra-gerrit-scm:
956 jenkins-ssh-credential: "{jenkins-ssh-credential}"
958 refspec: "$GERRIT_REFSPEC"
959 branch: "$GERRIT_BRANCH"
960 submodule-recursive: "{submodule-recursive}"
961 submodule-timeout: "{submodule-timeout}"
962 submodule-disable: "{submodule-disable}"
963 choosing-strategy: default
966 - timed: "{obj:cron}"
968 server-name: "{gerrit-server-name}"
969 trigger-on: "{obj:gerrit_release_triggers}"
971 - project-compare-type: ANT
972 project-pattern: "{project}"
974 - branch-compare-type: ANT
975 branch-pattern: "**/{branch}"
976 file-paths: "{obj:gerrit_trigger_file_paths}"
979 name: "{project-name}-maven-stage-{stream}"
980 id: github-maven-stage
982 # yamllint disable-line rule:key-duplicates
986 - lf-infra-properties:
987 build-days-to-keep: "{build-days-to-keep}"
989 url: "{github-url}/{github-org}/{project}"
992 - lf-infra-github-scm:
993 url: "{git-clone-url}{github-org}/{project}"
994 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
996 submodule-recursive: "{submodule-recursive}"
997 submodule-timeout: "{submodule-timeout}"
998 submodule-disable: "{submodule-disable}"
999 choosing-strategy: default
1000 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1003 - timed: "{obj:cron}"
1004 - github-pull-request:
1005 trigger-phrase: "^stage-(maven-)?release$"
1006 only-trigger-phrase: true
1007 status-context: "Maven Release"
1010 white-list-target-branches:
1012 included-regions: "{obj:github_included_regions}"
1014 ##########################
1015 # Maven Stage for Docker #
1016 ##########################
1018 - lf_maven_docker_stage: &lf_maven_docker_stage
1019 name: lf-maven-docker-stage
1022 - lf-infra-pre-build
1023 - lf-jacoco-nojava-workaround
1025 mvn-version: "{mvn-version}"
1026 - lf-update-java-alternatives:
1027 java-version: "{java-version}"
1028 - lf-infra-docker-login:
1029 global-settings-file: "{mvn-global-settings}"
1030 settings-file: "{mvn-settings}"
1031 # must provide maven settings AFTER docker-login due to its cleanup
1032 - lf-provide-maven-settings:
1033 global-settings-file: "{mvn-global-settings}"
1034 settings-file: "{mvn-settings}"
1035 - lf-maven-versions-plugin:
1036 maven-versions-plugin: "{maven-versions-plugin}"
1037 version-properties-file: "{version-properties-file}"
1038 mvn-version: "{mvn-version}"
1039 mvn-pom: "{mvn-pom}"
1040 mvn-settings: "{mvn-settings}"
1041 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
1043 properties-content: |
1044 CONTAINER_PULL_REGISTRY={container-public-registry}
1045 CONTAINER_PUSH_REGISTRY={container-staging-registry}
1047 mvn-goals: "{mvn-goals}"
1048 - lf-sigul-sign-dir:
1049 sign-artifacts: "{sign-artifacts}"
1050 sign-dir: "$WORKSPACE/m2repo"
1051 sign-mode: "{sign-mode}"
1053 # NO lf-maven-central
1054 - lf-provide-maven-settings-cleanup
1056 gerrit_release_docker_triggers:
1057 - comment-added-contains-event:
1058 comment-contains-value: '^Patch Set\s+\d+:\s+stage-(docker-)?release\s*$'
1061 name: "{project-name}-maven-docker-stage-{stream}"
1062 id: gerrit-maven-docker-stage
1063 <<: *lf_maven_common
1064 # yamllint disable-line rule:key-duplicates
1066 # yamllint disable-line rule:key-duplicates
1067 <<: *lf_maven_docker_stage
1070 - lf-infra-gerrit-scm:
1071 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1072 git-url: "{git-url}"
1073 refspec: "$GERRIT_REFSPEC"
1074 branch: "$GERRIT_BRANCH"
1075 submodule-recursive: "{submodule-recursive}"
1076 submodule-timeout: "{submodule-timeout}"
1077 submodule-disable: "{submodule-disable}"
1078 choosing-strategy: default
1081 - timed: "{obj:cron}"
1083 server-name: "{gerrit-server-name}"
1084 trigger-on: "{obj:gerrit_release_docker_triggers}"
1086 - project-compare-type: ANT
1087 project-pattern: "{project}"
1089 - branch-compare-type: ANT
1090 branch-pattern: "**/{branch}"
1091 file-paths: "{obj:gerrit_trigger_file_paths}"
1094 name: "{project-name}-maven-docker-stage-{stream}"
1095 id: github-maven-docker-stage
1096 <<: *lf_maven_common
1097 # yamllint disable-line rule:key-duplicates
1099 # yamllint disable-line rule:key-duplicates
1100 <<: *lf_maven_docker_stage
1103 - lf-infra-properties:
1104 build-days-to-keep: "{build-days-to-keep}"
1106 url: "{github-url}/{github-org}/{project}"
1109 - lf-infra-github-scm:
1110 url: "{git-clone-url}{github-org}/{project}"
1111 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1113 submodule-recursive: "{submodule-recursive}"
1114 submodule-timeout: "{submodule-timeout}"
1115 submodule-disable: "{submodule-disable}"
1116 choosing-strategy: default
1117 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1120 - timed: "{obj:cron}"
1121 - github-pull-request:
1122 trigger-phrase: "^stage-(docker-)?release$"
1123 only-trigger-phrase: true
1124 status-context: "Maven Release"
1127 white-list-target-branches:
1129 included-regions: "{obj:github_included_regions}"
1135 - lf_maven_sonar: &lf_maven_sonar
1136 name: lf-maven-sonar
1138 ######################
1139 # Default parameters #
1140 ######################
1142 branch: master # Sonar should always be run on master branch
1143 build-days-to-keep: 7
1145 cron: "H H * * 6" # run weekly
1147 git-url: "$GIT_URL/$PROJECT"
1148 github-url: "https://github.com"
1149 java-version: openjdk11
1151 mvn-global-settings: global-settings
1152 mvn-goals: clean install
1156 sonar-mvn-goal: "sonar:sonar"
1158 sonarcloud-project-key: ""
1159 sonarcloud-project-organization: ""
1160 sonarcloud-api-token: ""
1161 sonarcloud-qualitygate-wait: false
1162 # SonarCloud scan using jdk8 will become deprecated by Oct, 2020
1163 # Projects not compatible with jdk11 can set java-version to something else
1164 sonarcloud-java-version: openjdk11
1166 submodule-recursive: true
1167 submodule-timeout: 10
1168 submodule-disable: false
1169 scan-dev-branch: false
1171 gerrit_sonar_triggers:
1172 - comment-added-contains-event:
1173 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
1175 #####################
1176 # Job Configuration #
1177 #####################
1179 disabled: "{disable-job}"
1182 - lf-infra-parameters:
1183 project: "{project}"
1186 - lf-infra-maven-parameters:
1187 mvn-opts: "{mvn-opts}"
1188 mvn-params: "{mvn-params}"
1189 mvn-version: "{mvn-version}"
1191 name: ARCHIVE_ARTIFACTS
1192 default: "{archive-artifacts}"
1193 description: Artifacts to archive to the logs server.
1196 default: "{java-opts}"
1198 Java options. Example: -Xmx1024m
1200 name: SONAR_MAVEN_GOAL
1201 default: "{sonar-mvn-goal}"
1203 Maven goals to pass to the Sonar call. Typically sonar:sonar
1204 however to use a specific version of the sonar-maven-plugin we
1205 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
1208 - timed: "{obj:cron}"
1210 server-name: "{gerrit-server-name}"
1211 trigger-on: "{obj:gerrit_sonar_triggers}"
1213 - project-compare-type: "ANT"
1214 project-pattern: "{project}"
1216 - branch-compare-type: "ANT"
1217 branch-pattern: "**/master"
1229 - mvn_sonar_builders: &mvn_sonar_builders
1230 name: mvn-sonar-builders
1232 - lf-infra-pre-build
1235 condition-kind: boolean-expression
1236 condition-expression: "{sonarcloud}"
1238 - shell: echo 'Using SonarCloud'
1239 - lf-infra-maven-sonarcloud:
1240 java-version: "{java-version}"
1241 mvn-goals: "{mvn-goals}"
1242 mvn-settings: "{mvn-settings}"
1243 mvn-version: "{mvn-version}"
1244 sonarcloud-project-key: "{sonarcloud-project-key}"
1245 sonarcloud-project-organization: "{sonarcloud-project-organization}"
1246 sonarcloud-api-token: "{sonarcloud-api-token}"
1247 sonarcloud-java-version: "{sonarcloud-java-version}"
1248 sonarcloud-qualitygate-wait: "{sonarcloud-qualitygate-wait}"
1249 scan-dev-branch: "{scan-dev-branch}"
1254 condition-kind: boolean-expression
1255 condition-expression: "{sonarcloud}"
1257 - shell: echo 'Using SonarQube'
1258 - lf-infra-maven-sonar:
1259 java-version: "{java-version}"
1260 mvn-goals: "{mvn-goals}"
1261 mvn-settings: "{mvn-settings}"
1262 mvn-version: "{mvn-version}"
1264 - mvn_sonar_builders_prescan_script: &mvn_sonar_builders_prescan_script
1265 name: mvn-sonar-builders-prescan-script
1267 - shell: "{sonar-prescan-script}"
1268 - lf-infra-pre-build
1271 condition-kind: boolean-expression
1272 condition-expression: "{sonarcloud}"
1274 - shell: echo 'Using SonarCloud'
1275 - lf-infra-maven-sonarcloud:
1276 java-version: "{java-version}"
1277 mvn-goals: "{mvn-goals}"
1278 mvn-settings: "{mvn-settings}"
1279 mvn-version: "{mvn-version}"
1280 sonarcloud-project-key: "{sonarcloud-project-key}"
1281 sonarcloud-project-organization: "{sonarcloud-project-organization}"
1282 sonarcloud-api-token: "{sonarcloud-api-token}"
1283 sonarcloud-java-version: "{sonarcloud-java-version}"
1284 sonarcloud-qualitygate-wait: "{sonarcloud-qualitygate-wait}"
1285 scan-dev-branch: "{scan-dev-branch}"
1290 condition-kind: boolean-expression
1291 condition-expression: "{sonarcloud}"
1293 - shell: echo 'Using SonarQube'
1294 - lf-infra-maven-sonar:
1295 java-version: "{java-version}"
1296 mvn-goals: "{mvn-goals}"
1297 mvn-settings: "{mvn-settings}"
1298 mvn-version: "{mvn-version}"
1301 name: lf-infra-maven-sbom-generator
1302 # Run Maven goals and trigger SPDX SBOM Generator tool
1305 properties-content: |
1306 SBOM_FLAGS={sbom-flags}
1307 - shell: !include-raw-escape:
1308 - ../shell/sbom-generator.sh
1311 name: lf-infra-maven-sonar
1312 # Run a Sonar build with Maven
1315 mvn-version: "{mvn-version}"
1316 - lf-update-java-alternatives:
1317 java-version: "{java-version}"
1319 # Switch this to the sonar wrapper when JJB 2.0 is available
1320 properties-content: |
1321 SONAR_HOST_URL=$SONAR_URL
1322 MAVEN_GOALS={mvn-goals}
1323 - lf-provide-maven-settings:
1324 global-settings-file: global-settings
1325 settings-file: "{mvn-settings}"
1326 - shell: !include-raw-escape:
1327 - ../shell/common-variables.sh
1328 - ../shell/maven-sonar.sh
1329 - lf-provide-maven-settings-cleanup
1332 name: lf-infra-maven-sonarcloud
1333 # Run a Sonar build with Maven
1336 mvn-version: "{mvn-version}"
1337 - lf-update-java-alternatives:
1338 java-version: "{java-version}"
1340 # Switch this to the sonar wrapper when JJB 2.0 is available
1341 properties-content: |
1342 SONAR_HOST_URL=https://sonarcloud.io
1343 PROJECT_KEY={sonarcloud-project-key}
1344 PROJECT_ORGANIZATION={sonarcloud-project-organization}
1345 MAVEN_GOALS={mvn-goals}
1346 API_TOKEN={sonarcloud-api-token}
1347 SONARCLOUD_JAVA_VERSION={sonarcloud-java-version}
1348 SCAN_DEV_BRANCH={scan-dev-branch}
1349 SONARCLOUD_QUALITYGATE_WAIT={sonarcloud-qualitygate-wait}
1350 - lf-provide-maven-settings:
1351 global-settings-file: global-settings
1352 settings-file: "{mvn-settings}"
1353 - shell: !include-raw-escape:
1354 - ../shell/common-variables.sh
1355 - ../shell/maven-sonar.sh
1356 - lf-provide-maven-settings-cleanup
1359 name: "{project-name}-sonar"
1360 id: gerrit-maven-sonar
1361 <<: *lf_maven_common
1362 # yamllint disable-line rule:key-duplicates
1364 <<: *mvn_sonar_builders
1367 - lf-infra-gerrit-scm:
1368 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1369 git-url: "{git-url}"
1370 refspec: $GERRIT_REFSPEC
1371 branch: $GERRIT_BRANCH
1372 submodule-recursive: "{submodule-recursive}"
1373 submodule-timeout: "{submodule-timeout}"
1374 submodule-disable: "{submodule-disable}"
1375 choosing-strategy: default
1378 name: "{project-name}-sonar-verify"
1379 id: gerrit-maven-sonar-verify
1380 <<: *lf_maven_common
1381 # yamllint disable-line rule:key-duplicates
1383 <<: *mvn_sonar_builders
1386 scan-dev-branch: true
1387 sonarcloud-qualitygate-wait: false
1389 gerrit_sonar_triggers:
1390 - patchset-created-event:
1391 exclude-drafts: true
1392 exclude-trivial-rebase: false
1393 exclude-no-code-change: false
1394 - draft-published-event
1395 - comment-added-contains-event:
1396 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1398 gerrit_trigger_file_paths:
1399 - compare-type: REG_EXP
1404 server-name: "{gerrit-server-name}"
1405 trigger-on: "{obj:gerrit_sonar_triggers}"
1407 - project-compare-type: "ANT"
1408 project-pattern: "{project}"
1410 - branch-compare-type: "ANT"
1411 branch-pattern: "**/{branch}"
1412 file-paths: "{obj:gerrit_trigger_file_paths}"
1415 - lf-infra-gerrit-scm:
1416 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1417 git-url: "{git-url}"
1418 refspec: $GERRIT_REFSPEC
1419 branch: $GERRIT_BRANCH
1420 submodule-recursive: "{submodule-recursive}"
1421 submodule-timeout: "{submodule-timeout}"
1422 submodule-disable: "{submodule-disable}"
1423 choosing-strategy: gerrit
1426 name: "{project-name}-sonar-prescan-script"
1427 id: gerrit-maven-sonar-prescan-script
1428 <<: *lf_maven_common
1429 # yamllint disable-line rule:key-duplicates
1431 <<: *mvn_sonar_builders_prescan_script
1434 - lf-infra-gerrit-scm:
1435 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1436 git-url: "{git-url}"
1437 refspec: $GERRIT_REFSPEC
1438 branch: $GERRIT_BRANCH
1439 submodule-recursive: "{submodule-recursive}"
1440 submodule-timeout: "{submodule-timeout}"
1441 submodule-disable: "{submodule-disable}"
1442 choosing-strategy: default
1445 name: "{project-name}-sonar"
1446 id: github-maven-sonar
1447 <<: *lf_maven_common
1448 # yamllint disable-line rule:key-duplicates
1452 - lf-infra-properties:
1453 build-days-to-keep: "{build-days-to-keep}"
1455 url: "{github-url}/{github-org}/{project}"
1458 - lf-infra-github-scm:
1459 url: "{git-clone-url}{github-org}/{project}"
1460 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1462 submodule-recursive: "{submodule-recursive}"
1463 submodule-timeout: "{submodule-timeout}"
1464 submodule-disable: "{submodule-disable}"
1465 choosing-strategy: default
1466 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1469 - timed: "{obj:cron}"
1470 - github-pull-request:
1471 trigger-phrase: "^run-sonar$"
1472 only-trigger-phrase: true
1473 status-context: "Maven Sonar"
1478 white-list: "{obj:github_pr_allowlist}"
1479 admin-list: "{obj:github_pr_admin_list}"
1480 white-list-target-branches:
1484 name: "{project-name}-sonar-prescan-script"
1485 id: github-maven-sonar-prescan-script
1486 <<: *lf_maven_common
1487 # yamllint disable-line rule:key-duplicates
1489 <<: *mvn_sonar_builders_prescan_script
1492 - lf-infra-properties:
1493 build-days-to-keep: "{build-days-to-keep}"
1495 url: "{github-url}/{github-org}/{project}"
1498 - lf-infra-github-scm:
1499 url: "{git-clone-url}{github-org}/{project}"
1500 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1502 submodule-recursive: "{submodule-recursive}"
1503 submodule-timeout: "{submodule-timeout}"
1504 submodule-disable: "{submodule-disable}"
1505 choosing-strategy: default
1506 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1509 - timed: "{obj:cron}"
1510 - github-pull-request:
1511 trigger-phrase: "^run-sonar$"
1512 only-trigger-phrase: true
1513 status-context: "Maven Sonar"
1518 white-list: "{obj:github_pr_allowlist}"
1519 admin-list: "{obj:github_pr_admin_list}"
1520 white-list-target-branches:
1527 - lf_maven_verify: &lf_maven_verify
1528 name: lf-maven-verify
1530 ######################
1531 # Default parameters #
1532 ######################
1535 build-days-to-keep: 7
1538 git-url: "$GIT_URL/$PROJECT"
1539 github-url: "https://github.com"
1540 java-version: openjdk11
1541 mvn-global-settings: global-settings
1542 mvn-goals: clean deploy
1544 mvn-params: "-Dstream=$STREAM -Dmaven.source.skip=true"
1547 submodule-recursive: true
1548 submodule-timeout: 10
1549 submodule-disable: false
1551 gerrit_verify_triggers:
1552 - patchset-created-event:
1553 exclude-drafts: true
1554 exclude-trivial-rebase: false
1555 exclude-no-code-change: false
1556 - draft-published-event
1557 - comment-added-contains-event:
1558 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1560 gerrit_trigger_file_paths:
1561 - compare-type: REG_EXP
1564 # github_included_regions MUST match gerrit_trigger_file_paths
1565 github_included_regions:
1568 #####################
1569 # Job Configuration #
1570 #####################
1573 disabled: "{disable-job}"
1576 - lf-infra-pre-build
1577 - lf-jacoco-nojava-workaround
1579 mvn-version: "{mvn-version}"
1580 - lf-update-java-alternatives:
1581 java-version: "{java-version}"
1582 - lf-provide-maven-settings:
1583 global-settings-file: "{mvn-global-settings}"
1584 settings-file: "{mvn-settings}"
1586 mvn-goals: "{mvn-goals}"
1587 - lf-provide-maven-settings-cleanup
1595 name: "{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}"
1596 id: gerrit-maven-verify
1597 <<: *lf_maven_common
1598 # yamllint disable-line rule:key-duplicates
1599 <<: *lf_maven_verify
1602 - lf-infra-gerrit-scm:
1603 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1604 git-url: "{git-url}"
1605 refspec: "$GERRIT_REFSPEC"
1606 branch: "$GERRIT_BRANCH"
1607 submodule-recursive: "{submodule-recursive}"
1608 submodule-timeout: "{submodule-timeout}"
1609 submodule-disable: "{submodule-disable}"
1610 choosing-strategy: gerrit
1614 server-name: "{gerrit-server-name}"
1615 trigger-on: "{obj:gerrit_verify_triggers}"
1617 - project-compare-type: ANT
1618 project-pattern: "{project}"
1620 - branch-compare-type: ANT
1621 branch-pattern: "**/{branch}"
1622 file-paths: "{obj:gerrit_trigger_file_paths}"
1625 name: "{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}"
1626 id: github-maven-verify
1627 <<: *lf_maven_common
1628 # yamllint disable-line rule:key-duplicates
1629 <<: *lf_maven_verify
1632 - lf-infra-properties:
1633 build-days-to-keep: "{build-days-to-keep}"
1635 url: "{github-url}/{github-org}/{project}"
1638 - lf-infra-github-scm:
1639 url: "{git-clone-url}{github-org}/{project}"
1640 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1642 submodule-recursive: "{submodule-recursive}"
1643 submodule-timeout: "{submodule-timeout}"
1644 submodule-disable: "{submodule-disable}"
1645 choosing-strategy: default
1646 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1649 - github-pull-request:
1650 trigger-phrase: "^(recheck|reverify)$"
1651 only-trigger-phrase: false
1652 status-context: "Maven Verify {mvn-version}-{java-version}"
1655 white-list-target-branches:
1657 included-regions: "{obj:github_included_regions}"
1659 ###########################
1660 # Maven Verify for Docker #
1661 ###########################
1663 - lf_maven_docker_verify: &lf_maven_docker_verify
1664 name: lf-maven-docker-verify
1666 # image push not allowed during verification
1667 mvn-goals: clean install
1670 - lf-infra-pre-build
1671 - lf-jacoco-nojava-workaround
1673 mvn-version: "{mvn-version}"
1674 - lf-update-java-alternatives:
1675 java-version: "{java-version}"
1676 - lf-infra-docker-login:
1677 global-settings-file: "{mvn-global-settings}"
1678 settings-file: "{mvn-settings}"
1679 # must provide maven settings AFTER docker due to its cleanup
1680 - lf-provide-maven-settings:
1681 global-settings-file: "{mvn-global-settings}"
1682 settings-file: "{mvn-settings}"
1684 properties-content: |
1685 CONTAINER_PULL_REGISTRY={container-public-registry}
1687 mvn-goals: "{mvn-goals}"
1688 - lf-provide-maven-settings-cleanup
1691 name: "{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}"
1692 id: gerrit-maven-docker-verify
1693 <<: *lf_maven_common
1694 # yamllint disable-line rule:key-duplicates
1695 <<: *lf_maven_verify
1696 # yamllint disable-line rule:key-duplicates
1697 <<: *lf_maven_docker_verify
1700 - lf-infra-gerrit-scm:
1701 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1702 git-url: "{git-url}"
1703 refspec: "$GERRIT_REFSPEC"
1704 branch: "$GERRIT_BRANCH"
1705 submodule-recursive: "{submodule-recursive}"
1706 submodule-timeout: "{submodule-timeout}"
1707 submodule-disable: "{submodule-disable}"
1708 choosing-strategy: gerrit
1712 server-name: "{gerrit-server-name}"
1713 trigger-on: "{obj:gerrit_verify_triggers}"
1715 - project-compare-type: ANT
1716 project-pattern: "{project}"
1718 - branch-compare-type: ANT
1719 branch-pattern: "**/{branch}"
1720 file-paths: "{obj:gerrit_trigger_file_paths}"
1723 name: "{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}"
1724 id: github-maven-docker-verify
1725 <<: *lf_maven_common
1726 # yamllint disable-line rule:key-duplicates
1727 <<: *lf_maven_verify
1728 # yamllint disable-line rule:key-duplicates
1729 <<: *lf_maven_docker_verify
1732 - lf-infra-properties:
1733 build-days-to-keep: "{build-days-to-keep}"
1735 url: "{github-url}/{github-org}/{project}"
1738 - lf-infra-github-scm:
1739 url: "{git-clone-url}{github-org}/{project}"
1740 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1742 submodule-recursive: "{submodule-recursive}"
1743 submodule-timeout: "{submodule-timeout}"
1744 submodule-disable: "{submodule-disable}"
1745 choosing-strategy: default
1746 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1749 - github-pull-request:
1750 trigger-phrase: "^(recheck|reverify)$"
1751 only-trigger-phrase: false
1752 status-context: "Maven Docker Verify {mvn-version}-{java-version}"
1755 white-list-target-branches:
1757 included-regions: "{obj:github_included_regions}"
1759 #############################
1760 # Maven Verify Dependencies #
1761 #############################
1763 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1764 name: lf-maven-verify-dependencies
1766 ######################
1767 # Default parameters #
1768 ######################
1771 build-days-to-keep: 7
1774 git-url: "$GIT_URL/$PROJECT"
1775 github-url: "https://github.com"
1776 java-version: openjdk11
1777 mvn-global-settings: global-settings
1778 mvn-goals: clean deploy
1780 mvn-params: "-Dstream=$STREAM"
1783 submodule-recursive: true
1784 submodule-timeout: 10
1785 submodule-disable: false
1787 gerrit_verify_triggers:
1788 - comment-added-contains-event:
1789 comment-contains-value: "recheck: [0-9 ]+"
1790 gerrit_trigger_file_paths:
1794 #####################
1795 # Job Configuration #
1796 #####################
1799 disabled: "{disable-job}"
1802 - lf-infra-pre-build
1803 - lf-jacoco-nojava-workaround
1805 mvn-version: "{mvn-version}"
1806 - lf-update-java-alternatives:
1807 java-version: "{java-version}"
1808 - lf-provide-maven-settings:
1809 global-settings-file: "{mvn-global-settings}"
1810 settings-file: "{mvn-settings}"
1811 - lf-fetch-dependent-patches
1812 - shell: !include-raw-escape:
1813 - ../shell/common-variables.sh
1814 - ../shell/maven-build-deps.sh
1816 mvn-goals: "{mvn-goals}"
1817 - lf-provide-maven-settings-cleanup
1825 name: "{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}"
1826 id: gerrit-maven-verify-dependencies
1827 <<: *lf_maven_common
1828 # yamllint disable-line rule:key-duplicates
1829 <<: *lf_maven_verify_dependencies
1832 - lf-infra-gerrit-scm:
1833 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1834 git-url: "{git-url}"
1835 refspec: "$GERRIT_REFSPEC"
1836 branch: "$GERRIT_BRANCH"
1837 submodule-recursive: "{submodule-recursive}"
1838 submodule-timeout: "{submodule-timeout}"
1839 submodule-disable: "{submodule-disable}"
1840 choosing-strategy: gerrit
1844 server-name: "{gerrit-server-name}"
1845 trigger-on: "{obj:gerrit_verify_triggers}"
1847 - project-compare-type: ANT
1848 project-pattern: "{project}"
1850 - branch-compare-type: ANT
1851 branch-pattern: "**/{branch}"
1852 file-paths: "{obj:gerrit_trigger_file_paths}"
1853 comment-text-parameter-mode: PLAIN