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
27 # include-raw-escape fails due to JJB bug
28 - shell: !include-raw:
29 - ../shell/common-variables.sh
30 - ../shell/maven-stage.sh
33 name: lf-update-java-alternatives
36 # Work around inject plugin overriding our GIT_URL variable incorrectly
37 # https://issues.jenkins-ci.org/browse/JENKINS-49775
39 SET_JDK_VERSION={java-version}
41 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
43 properties-file: '/tmp/java.env'
49 - lf_maven_common: &lf_maven_common
52 ######################
53 # Default parameters #
54 ######################
59 **/target/**/feature.xml
60 **/target/failsafe-reports/failsafe-summary.xml
61 **/target/surefire-reports/*-output.txt
67 project-type: freestyle
71 - lf-infra-properties:
72 build-days-to-keep: '{build-days-to-keep}'
75 - lf-infra-parameters:
79 lftools-version: '{lftools-version}'
80 - lf-infra-maven-parameters:
81 mvn-opts: '{mvn-opts}'
82 mvn-params: '{mvn-params}'
83 mvn-version: '{mvn-version}'
85 name: ARCHIVE_ARTIFACTS
86 default: '{archive-artifacts}'
87 description: Artifacts to archive to the logs server.
91 build-timeout: '{build-timeout}'
92 jenkins-ssh-credential: '{jenkins-ssh-credential}'
95 # TODO: Make email notification work.
96 # - lf-infra-email-notify:
97 # email-recipients: '{email-recipients}'
98 # email-prefix: '[releng]'
105 - lf_maven_clm: &lf_maven_clm
108 ######################
109 # Default parameters #
110 ######################
113 build-days-to-keep: 30 # 30 days for troubleshooting purposes
116 git-url: '$GIT_URL/$PROJECT'
117 github-url: 'https://github.com'
118 java-version: openjdk8
119 mvn-global-settings: global-settings
123 nexus-iq-stage: 'build'
125 submodule-recursive: true
127 nexus_iq_scan_patterns:
135 - comment-added-contains-event:
136 comment-contains-value: run-clm$
139 - lf-infra-parameters:
143 lftools-version: '{lftools-version}'
144 - lf-infra-maven-parameters:
145 mvn-opts: '{mvn-opts}'
146 mvn-params: '{mvn-params}'
147 mvn-version: '{mvn-version}'
149 name: ARCHIVE_ARTIFACTS
150 default: '{archive-artifacts}'
151 description: Artifacts to archive to the logs server.
153 nexus-iq-stage: '{nexus-iq-stage}'
155 #####################
156 # Job Configuration #
157 #####################
159 disabled: '{disable-job}'
164 mvn-version: '{mvn-version}'
165 - lf-update-java-alternatives:
166 java-version: '{java-version}'
167 - lf-provide-maven-settings:
168 global-settings-file: '{mvn-global-settings}'
169 settings-file: '{mvn-settings}'
170 - shell: !include-raw-escape:
171 - ../shell/common-variables.sh
172 - ../shell/sonatype-clm.sh
173 - lf-provide-maven-settings-cleanup
174 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
175 - nexus-iq-policy-evaluator:
176 stage: '{nexus-iq-stage}'
177 application-type: 'manual'
178 application-id: '{project-name}'
179 scan-patterns: '{obj:nexus_iq_scan_patterns}'
180 fail-build-network-error: true
183 name: '{project-name}-maven-clm-{stream}'
186 # yamllint disable-line rule:key-duplicates
190 - lf-infra-gerrit-scm:
191 jenkins-ssh-credential: '{jenkins-ssh-credential}'
193 refspec: '$GERRIT_REFSPEC'
194 branch: '$GERRIT_BRANCH'
195 submodule-recursive: '{submodule-recursive}'
196 choosing-strategy: default
199 # Build weekly on Saturdays
202 server-name: '{gerrit-server-name}'
203 trigger-on: '{obj:gerrit_clm_triggers}'
205 - project-compare-type: ANT
206 project-pattern: '{project}'
208 - branch-compare-type: ANT
209 branch-pattern: '**/{branch}'
217 name: '{project-name}-maven-clm-{stream}'
220 # yamllint disable-line rule:key-duplicates
224 - lf-infra-properties:
225 build-days-to-keep: '{build-days-to-keep}'
227 url: '{github-url}/{github-org}/{project}'
230 - lf-infra-github-scm:
231 url: '{git-clone-url}{github-org}/{project}'
233 branch: 'refs/heads/{branch}'
234 submodule-recursive: '{submodule-recursive}'
235 choosing-strategy: default
236 jenkins-ssh-credential: '{jenkins-ssh-credential}'
239 # Build weekly on Saturdays
241 - github-pull-request:
242 trigger-phrase: '^run-clm$'
243 only-trigger-phrase: true
244 status-context: 'CLM'
249 white-list: '{obj:github_pr_whitelist}'
250 admin-list: '{obj:github_pr_admin_list}'
251 white-list-target-branches:
254 #########################
255 # Maven Javadoc Publish #
256 #########################
258 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
259 name: lf-maven-javadoc-publish
261 ######################
262 # Default parameters #
263 ######################
266 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
269 git-url: '$GIT_URL/$PROJECT'
270 github-url: 'https://github.com'
271 java-version: openjdk8
272 mvn-global-settings: global-settings
277 submodule-recursive: true
279 gerrit_merge_triggers:
280 - change-merged-event
281 - comment-added-contains-event:
282 comment-contains-value: remerge$
284 #####################
285 # Job Configuration #
286 #####################
288 disabled: '{disable-job}'
293 mvn-version: '{mvn-version}'
294 - lf-update-java-alternatives:
295 java-version: '{java-version}'
296 - lf-provide-maven-settings:
297 global-settings-file: '{mvn-global-settings}'
298 settings-file: '{mvn-settings}'
299 - lf-infra-create-netrc:
300 server-id: '{mvn-site-id}'
302 properties-content: 'DEPLOY_PATH={javadoc-path}'
303 - shell: !include-raw-escape:
304 - ../shell/common-variables.sh
305 - ../shell/maven-javadoc-generate.sh
306 - ../shell/maven-javadoc-publish.sh
307 - lf-provide-maven-settings-cleanup
310 name: '{project-name}-maven-javadoc-publish-{stream}'
311 id: gerrit-maven-javadoc-publish
313 # yamllint disable-line rule:key-duplicates
314 <<: *lf_maven_javadoc_publish
316 git-url: '$GIT_URL/$GERRIT_PROJECT'
319 - lf-infra-gerrit-scm:
323 submodule-recursive: '{submodule-recursive}'
324 choosing-strategy: default
325 jenkins-ssh-credential: '{jenkins-ssh-credential}'
329 server-name: '{gerrit-server-name}'
330 trigger-on: '{obj:gerrit_merge_triggers}'
332 - project-compare-type: ANT
333 project-pattern: '{project}'
335 - branch-compare-type: ANT
336 branch-pattern: '**/{branch}'
339 name: '{project-name}-maven-javadoc-publish-{stream}'
340 id: github-maven-javadoc-publish
342 # yamllint disable-line rule:key-duplicates
343 <<: *lf_maven_javadoc_publish
346 - lf-infra-properties:
347 build-days-to-keep: '{build-days-to-keep}'
349 url: '{github-url}/{github-org}/{project}'
352 - lf-infra-github-scm:
353 url: '{git-clone-url}{github-org}/{project}'
356 submodule-recursive: '{submodule-recursive}'
357 choosing-strategy: default
358 jenkins-ssh-credential: '{jenkins-ssh-credential}'
364 - github-pull-request:
365 trigger-phrase: '^remerge$'
366 only-trigger-phrase: true
367 status-context: 'Maven Javadoc Publish'
372 white-list: '{obj:github_pr_whitelist}'
373 admin-list: '{obj:github_pr_admin_list}'
374 white-list-target-branches:
377 ########################
378 # Maven Javadoc Verify #
379 ########################
381 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
382 name: lf-maven-javadoc-verify
384 ######################
385 # Default parameters #
386 ######################
389 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
392 git-url: '$GIT_URL/$PROJECT'
393 github-url: 'https://github.com'
394 java-version: openjdk8
395 mvn-global-settings: global-settings
400 submodule-recursive: true
402 gerrit_verify_triggers:
403 - patchset-created-event:
405 exclude-trivial-rebase: false
406 exclude-no-code-change: false
407 - draft-published-event
408 - comment-added-contains-event:
409 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
411 #####################
412 # Job Configuration #
413 #####################
416 disabled: '{disable-job}'
421 mvn-version: '{mvn-version}'
422 - lf-update-java-alternatives:
423 java-version: '{java-version}'
424 - lf-provide-maven-settings:
425 global-settings-file: '{mvn-global-settings}'
426 settings-file: '{mvn-settings}'
427 - shell: !include-raw-escape:
428 - ../shell/common-variables.sh
429 - ../shell/maven-javadoc-generate.sh
430 - lf-provide-maven-settings-cleanup
433 name: '{project-name}-maven-javadoc-verify-{stream}'
434 id: gerrit-maven-javadoc-verify
436 # yamllint disable-line rule:key-duplicates
437 <<: *lf_maven_javadoc_verify
440 - lf-infra-gerrit-scm:
441 jenkins-ssh-credential: '{jenkins-ssh-credential}'
443 refspec: '$GERRIT_REFSPEC'
444 branch: '$GERRIT_BRANCH'
445 submodule-recursive: '{submodule-recursive}'
446 choosing-strategy: gerrit
450 server-name: '{gerrit-server-name}'
451 trigger-on: '{obj:gerrit_verify_triggers}'
453 - project-compare-type: ANT
454 project-pattern: '{project}'
456 - branch-compare-type: ANT
457 branch-pattern: '**/{branch}'
460 name: '{project-name}-maven-javadoc-verify-{stream}'
461 id: github-maven-javadoc-verify
463 # yamllint disable-line rule:key-duplicates
464 <<: *lf_maven_javadoc_verify
467 - lf-infra-properties:
468 build-days-to-keep: '{build-days-to-keep}'
470 url: '{github-url}/{github-org}/{project}'
473 - lf-infra-github-scm:
474 url: '{git-clone-url}{github-org}/{project}'
475 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
477 submodule-recursive: '{submodule-recursive}'
478 choosing-strategy: default
479 jenkins-ssh-credential: '{jenkins-ssh-credential}'
482 - github-pull-request:
483 trigger-phrase: ^(recheck|reverify)$
484 only-trigger-phrase: false
485 status-context: 'Maven Javadoc Verify'
488 white-list-target-branches:
495 - lf_maven_merge: &lf_maven_merge
498 ######################
499 # Default parameters #
500 ######################
503 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
507 git-url: '$GIT_URL/$PROJECT'
508 github-url: 'https://github.com'
509 java-version: openjdk8
510 mvn-global-settings: global-settings
511 mvn-goals: clean deploy
513 mvn-params: '-Dmerge'
515 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
517 submodule-recursive: true
519 gerrit_merge_triggers:
520 - change-merged-event
521 - comment-added-contains-event:
522 comment-contains-value: remerge$
524 gerrit_trigger_file_paths:
525 - compare-type: REG_EXP
528 # github_included_regions MUST match gerrit_trigger_file_paths
529 github_included_regions:
532 post_build_trigger: ''
534 #####################
535 # Job Configuration #
536 #####################
538 disabled: '{disable-job}'
542 - lf-jacoco-nojava-workaround
544 mvn-version: '{mvn-version}'
545 - lf-update-java-alternatives:
546 java-version: '{java-version}'
547 - lf-provide-maven-settings:
548 global-settings-file: '{mvn-global-settings}'
549 settings-file: '{mvn-settings}'
550 - lf-infra-create-netrc:
551 server-id: '{mvn-snapshot-id}'
553 properties-content: |
554 NEXUS_CUT_DIRS={nexus-cut-dirs}
555 NEXUS_REPO={nexus-snapshot-repo}
556 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
558 mvn-goals: '{mvn-goals}'
560 - lf-provide-maven-settings-cleanup
566 - trigger-parameterized-builds: '{obj:post_build_trigger}'
569 name: '{project-name}-maven-merge-{stream}'
570 id: gerrit-maven-merge
572 # yamllint disable-line rule:key-duplicates
576 - lf-infra-gerrit-scm:
577 jenkins-ssh-credential: '{jenkins-ssh-credential}'
579 refspec: '$GERRIT_REFSPEC'
580 branch: '$GERRIT_BRANCH'
581 submodule-recursive: '{submodule-recursive}'
582 choosing-strategy: default
585 - timed: '{obj:cron}'
587 server-name: '{gerrit-server-name}'
588 trigger-on: '{obj:gerrit_merge_triggers}'
590 - project-compare-type: ANT
591 project-pattern: '{project}'
593 - branch-compare-type: ANT
594 branch-pattern: '**/{branch}'
595 file-paths: '{obj:gerrit_trigger_file_paths}'
598 name: '{project-name}-maven-merge-{stream}'
599 id: github-maven-merge
601 # yamllint disable-line rule:key-duplicates
605 - lf-infra-properties:
606 build-days-to-keep: '{build-days-to-keep}'
608 url: '{github-url}/{github-org}/{project}'
611 - lf-infra-github-scm:
612 url: '{git-clone-url}{github-org}/{project}'
614 branch: 'refs/heads/{branch}'
615 submodule-recursive: '{submodule-recursive}'
616 choosing-strategy: default
617 jenkins-ssh-credential: '{jenkins-ssh-credential}'
620 - timed: '{obj:cron}'
624 - github-pull-request:
625 trigger-phrase: '^remerge$'
626 only-trigger-phrase: true
627 status-context: 'Maven Merge'
632 white-list: '{obj:github_pr_whitelist}'
633 admin-list: '{obj:github_pr_admin_list}'
634 white-list-target-branches:
636 included-regions: '{obj:github_included_regions}'
642 - lf_maven_stage: &lf_maven_stage
645 ######################
646 # Default parameters #
647 ######################
650 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
654 git-url: '$GIT_URL/$PROJECT'
655 github-url: 'https://github.com'
656 java-version: openjdk8
657 mvn-global-settings: global-settings
658 mvn-goals: clean deploy
662 sign-artifacts: false
664 submodule-recursive: true
666 gerrit_release_triggers:
667 - comment-added-contains-event:
668 comment-contains-value: stage-release$
670 #####################
671 # Job Configuration #
672 #####################
674 disabled: '{disable-job}'
677 - lf-infra-parameters:
681 lftools-version: '{lftools-version}'
682 - lf-infra-maven-parameters:
683 mvn-opts: '{mvn-opts}'
684 mvn-params: '{mvn-params}'
685 mvn-version: '{mvn-version}'
686 staging-profile-id: '{staging-profile-id}'
688 name: ARCHIVE_ARTIFACTS
689 default: '{archive-artifacts}'
690 description: Artifacts to archive to the logs server.
692 name: STAGING_PROFILE_ID
693 default: '{staging-profile-id}'
694 description: Nexus staging profile ID.
698 - lf-jacoco-nojava-workaround
700 mvn-version: '{mvn-version}'
701 - lf-update-java-alternatives:
702 java-version: '{java-version}'
703 - lf-provide-maven-settings:
704 global-settings-file: '{mvn-global-settings}'
705 settings-file: '{mvn-settings}'
706 - lf-infra-create-netrc:
707 server-id: '{mvn-staging-id}'
708 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
710 mvn-goals: '{mvn-goals}'
712 sign-artifacts: '{sign-artifacts}'
713 sign-dir: '$WORKSPACE/m2repo'
715 - lf-provide-maven-settings-cleanup
718 name: '{project-name}-maven-stage-{stream}'
719 id: gerrit-maven-stage
721 # yamllint disable-line rule:key-duplicates
725 - lf-infra-gerrit-scm:
726 jenkins-ssh-credential: '{jenkins-ssh-credential}'
728 refspec: '$GERRIT_REFSPEC'
729 branch: '$GERRIT_BRANCH'
730 submodule-recursive: '{submodule-recursive}'
731 choosing-strategy: default
734 - timed: '{obj:cron}'
736 server-name: '{gerrit-server-name}'
737 trigger-on: '{obj:gerrit_release_triggers}'
739 - project-compare-type: ANT
740 project-pattern: '{project}'
742 - branch-compare-type: ANT
743 branch-pattern: '**/{branch}'
746 name: '{project-name}-maven-stage-{stream}'
747 id: github-maven-stage
749 # yamllint disable-line rule:key-duplicates
753 - lf-infra-properties:
754 build-days-to-keep: '{build-days-to-keep}'
756 url: '{github-url}/{github-org}/{project}'
759 - lf-infra-github-scm:
760 url: '{git-clone-url}{github-org}/{project}'
761 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
763 submodule-recursive: '{submodule-recursive}'
764 choosing-strategy: default
765 jenkins-ssh-credential: '{jenkins-ssh-credential}'
768 - timed: '{obj:cron}'
769 - github-pull-request:
770 trigger-phrase: '^build release$'
771 only-trigger-phrase: true
772 status-context: 'Maven Release'
775 white-list-target-branches:
782 - lf_maven_sonar: &lf_maven_sonar
785 ######################
786 # Default parameters #
787 ######################
789 branch: master # Sonar should always be run on master branch
790 build-days-to-keep: 7
792 cron: 'H H * * 6' # run weekly
794 git-url: '$GIT_URL/$PROJECT'
795 github-url: 'https://github.com'
796 java-version: openjdk8
797 mvn-global-settings: global-settings
801 sonar-mvn-goal: 'sonar:sonar'
803 submodule-recursive: true
805 gerrit_sonar_triggers:
806 - comment-added-contains-event:
807 comment-contains-value: run-sonar$
809 #####################
810 # Job Configuration #
811 #####################
813 disabled: '{disable-job}'
816 - lf-infra-parameters:
820 lftools-version: '{lftools-version}'
821 - lf-infra-maven-parameters:
822 mvn-opts: '{mvn-opts}'
823 mvn-params: '{mvn-params}'
824 mvn-version: '{mvn-version}'
826 name: ARCHIVE_ARTIFACTS
827 default: '{archive-artifacts}'
828 description: Artifacts to archive to the logs server.
830 name: SONAR_MAVEN_GOAL
831 default: '{sonar-mvn-goal}'
833 Maven goals to pass to the Sonar call. Typically sonar:sonar
834 however to use a specific version of the sonar-maven-plugin we
835 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
838 - timed: '{obj:cron}'
840 server-name: '{gerrit-server-name}'
841 trigger-on: '{obj:gerrit_sonar_triggers}'
843 - project-compare-type: 'ANT'
844 project-pattern: '{project}'
846 - branch-compare-type: 'ANT'
847 branch-pattern: '**/master'
856 - lf-infra-maven-sonar:
857 java-version: '{java-version}'
858 mvn-settings: '{mvn-settings}'
859 mvn-version: '{mvn-version}'
867 name: lf-infra-maven-sonar
868 # Run a Sonar build with Maven
871 mvn-version: '{mvn-version}'
872 - lf-update-java-alternatives:
873 java-version: '{java-version}'
875 # Switch this to the sonar wrapper when JJB 2.0 is available
876 properties-content: SONAR_HOST_URL=$SONAR_URL
877 - lf-provide-maven-settings:
878 global-settings-file: global-settings
879 settings-file: '{mvn-settings}'
880 - shell: !include-raw-escape:
881 - ../shell/common-variables.sh
882 - ../shell/maven-sonar.sh
883 - lf-provide-maven-settings-cleanup
886 name: '{project-name}-sonar'
887 id: gerrit-maven-sonar
889 # yamllint disable-line rule:key-duplicates
893 - lf-infra-gerrit-scm:
894 jenkins-ssh-credential: '{jenkins-ssh-credential}'
896 refspec: $GERRIT_REFSPEC
897 branch: $GERRIT_BRANCH
898 submodule-recursive: '{submodule-recursive}'
899 choosing-strategy: default
902 name: '{project-name}-sonar'
903 id: github-maven-sonar
905 # yamllint disable-line rule:key-duplicates
909 - lf-infra-properties:
910 build-days-to-keep: '{build-days-to-keep}'
912 url: '{github-url}/{github-org}/{project}'
915 - lf-infra-github-scm:
916 url: '{git-clone-url}{github-org}/{project}'
917 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
919 submodule-recursive: '{submodule-recursive}'
920 choosing-strategy: default
921 jenkins-ssh-credential: '{jenkins-ssh-credential}'
924 - github-pull-request:
925 trigger-phrase: '^run-sonar$'
926 only-trigger-phrase: false
927 status-context: 'Maven Sonar'
930 white-list-target-branches:
937 - lf_maven_verify: &lf_maven_verify
938 name: lf-maven-verify
940 ######################
941 # Default parameters #
942 ######################
945 build-days-to-keep: 7
948 git-url: '$GIT_URL/$PROJECT'
949 github-url: 'https://github.com'
950 java-version: openjdk8
951 mvn-global-settings: global-settings
952 mvn-goals: clean deploy
954 mvn-params: '-Dstream=$STREAM'
957 submodule-recursive: true
959 gerrit_verify_triggers:
960 - patchset-created-event:
962 exclude-trivial-rebase: false
963 exclude-no-code-change: false
964 - draft-published-event
965 - comment-added-contains-event:
966 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
968 gerrit_trigger_file_paths:
969 - compare-type: REG_EXP
972 # github_included_regions MUST match gerrit_trigger_file_paths
973 github_included_regions:
976 #####################
977 # Job Configuration #
978 #####################
981 disabled: '{disable-job}'
985 - lf-jacoco-nojava-workaround
987 mvn-version: '{mvn-version}'
988 - lf-update-java-alternatives:
989 java-version: '{java-version}'
990 - lf-provide-maven-settings:
991 global-settings-file: '{mvn-global-settings}'
992 settings-file: '{mvn-settings}'
994 mvn-goals: '{mvn-goals}'
995 - lf-provide-maven-settings-cleanup
1003 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1004 id: gerrit-maven-verify
1005 <<: *lf_maven_common
1006 # yamllint disable-line rule:key-duplicates
1007 <<: *lf_maven_verify
1010 - lf-infra-gerrit-scm:
1011 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1012 git-url: '{git-url}'
1013 refspec: '$GERRIT_REFSPEC'
1014 branch: '$GERRIT_BRANCH'
1015 submodule-recursive: '{submodule-recursive}'
1016 choosing-strategy: gerrit
1020 server-name: '{gerrit-server-name}'
1021 trigger-on: '{obj:gerrit_verify_triggers}'
1023 - project-compare-type: ANT
1024 project-pattern: '{project}'
1026 - branch-compare-type: ANT
1027 branch-pattern: '**/{branch}'
1028 file-paths: '{obj:gerrit_trigger_file_paths}'
1031 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1032 id: github-maven-verify
1033 <<: *lf_maven_common
1034 # yamllint disable-line rule:key-duplicates
1035 <<: *lf_maven_verify
1038 - lf-infra-properties:
1039 build-days-to-keep: '{build-days-to-keep}'
1041 url: '{github-url}/{github-org}/{project}'
1044 - lf-infra-github-scm:
1045 url: '{git-clone-url}{github-org}/{project}'
1046 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1048 submodule-recursive: '{submodule-recursive}'
1049 choosing-strategy: default
1050 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1053 - github-pull-request:
1054 trigger-phrase: '^(recheck|reverify)$'
1055 only-trigger-phrase: false
1056 status-context: 'Maven Verify'
1059 white-list-target-branches:
1061 included-regions: '{obj:github_included_regions}'
1063 #############################
1064 # Maven Verify Dependencies #
1065 #############################
1067 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1068 name: lf-maven-verify-dependencies
1070 ######################
1071 # Default parameters #
1072 ######################
1075 build-days-to-keep: 7
1078 git-url: '$GIT_URL/$PROJECT'
1079 github-url: 'https://github.com'
1080 java-version: openjdk8
1081 mvn-global-settings: global-settings
1082 mvn-goals: clean deploy
1084 mvn-params: '-Dstream=$STREAM'
1087 submodule-recursive: true
1089 gerrit_verify_triggers:
1090 - comment-added-contains-event:
1091 comment-contains-value: 'recheck: [0-9 ]+'
1092 gerrit_trigger_file_paths:
1096 #####################
1097 # Job Configuration #
1098 #####################
1101 disabled: '{disable-job}'
1104 - lf-infra-pre-build
1105 - lf-jacoco-nojava-workaround
1107 mvn-version: '{mvn-version}'
1108 - lf-update-java-alternatives:
1109 java-version: '{java-version}'
1110 - lf-provide-maven-settings:
1111 global-settings-file: '{mvn-global-settings}'
1112 settings-file: '{mvn-settings}'
1113 - lf-fetch-dependent-patches
1114 - shell: !include-raw-escape:
1115 - ../shell/common-variables.sh
1116 - ../shell/maven-build-deps.sh
1118 mvn-goals: '{mvn-goals}'
1119 - lf-provide-maven-settings-cleanup
1127 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1128 id: gerrit-maven-verify-dependencies
1129 <<: *lf_maven_common
1130 # yamllint disable-line rule:key-duplicates
1131 <<: *lf_maven_verify_dependencies
1134 - lf-infra-gerrit-scm:
1135 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1136 git-url: '{git-url}'
1137 refspec: '$GERRIT_REFSPEC'
1138 branch: '$GERRIT_BRANCH'
1139 submodule-recursive: '{submodule-recursive}'
1140 choosing-strategy: gerrit
1144 server-name: '{gerrit-server-name}'
1145 trigger-on: '{obj:gerrit_verify_triggers}'
1147 - project-compare-type: ANT
1148 project-pattern: '{project}'
1150 - branch-compare-type: ANT
1151 branch-pattern: '**/{branch}'
1152 file-paths: '{obj:gerrit_trigger_file_paths}'