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}'
163 mvn-version: '{mvn-version}'
164 - lf-update-java-alternatives:
165 java-version: '{java-version}'
166 - lf-provide-maven-settings:
167 global-settings-file: '{mvn-global-settings}'
168 settings-file: '{mvn-settings}'
169 - shell: !include-raw-escape:
170 - ../shell/common-variables.sh
171 - ../shell/sonatype-clm.sh
172 - lf-provide-maven-settings-cleanup
173 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
174 - nexus-iq-policy-evaluator:
175 stage: '{nexus-iq-stage}'
176 application-type: 'manual'
177 application-id: '{project-name}'
178 scan-patterns: '{obj:nexus_iq_scan_patterns}'
179 fail-build-network-error: true
182 name: '{project-name}-maven-clm-{stream}'
185 # yamllint disable-line rule:key-duplicates
189 - lf-infra-gerrit-scm:
190 jenkins-ssh-credential: '{jenkins-ssh-credential}'
192 refspec: '$GERRIT_REFSPEC'
193 branch: '$GERRIT_BRANCH'
194 submodule-recursive: '{submodule-recursive}'
195 choosing-strategy: default
198 # Build weekly on Saturdays
201 server-name: '{gerrit-server-name}'
202 trigger-on: '{obj:gerrit_clm_triggers}'
204 - project-compare-type: ANT
205 project-pattern: '{project}'
207 - branch-compare-type: ANT
208 branch-pattern: '**/{branch}'
216 name: '{project-name}-maven-clm-{stream}'
219 # yamllint disable-line rule:key-duplicates
223 - lf-infra-properties:
224 build-days-to-keep: '{build-days-to-keep}'
226 url: '{github-url}/{github-org}/{project}'
229 - lf-infra-github-scm:
230 url: '{git-clone-url}{github-org}/{project}'
232 branch: 'refs/heads/{branch}'
233 submodule-recursive: '{submodule-recursive}'
234 choosing-strategy: default
235 jenkins-ssh-credential: '{jenkins-ssh-credential}'
238 # Build weekly on Saturdays
240 - github-pull-request:
241 trigger-phrase: '^run-clm$'
242 only-trigger-phrase: true
243 status-context: 'CLM'
248 white-list: '{obj:github_pr_whitelist}'
249 admin-list: '{obj:github_pr_admin_list}'
250 white-list-target-branches:
253 #########################
254 # Maven Javadoc Publish #
255 #########################
257 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
258 name: lf-maven-javadoc-publish
260 ######################
261 # Default parameters #
262 ######################
265 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
268 git-url: '$GIT_URL/$PROJECT'
269 github-url: 'https://github.com'
270 java-version: openjdk8
271 mvn-global-settings: global-settings
276 submodule-recursive: true
278 gerrit_merge_triggers:
279 - change-merged-event
280 - comment-added-contains-event:
281 comment-contains-value: remerge$
283 #####################
284 # Job Configuration #
285 #####################
287 disabled: '{disable-job}'
291 mvn-version: '{mvn-version}'
292 - lf-update-java-alternatives:
293 java-version: '{java-version}'
294 - lf-provide-maven-settings:
295 global-settings-file: '{mvn-global-settings}'
296 settings-file: '{mvn-settings}'
297 - lf-infra-create-netrc:
298 server-id: '{mvn-site-id}'
300 properties-content: 'DEPLOY_PATH={javadoc-path}'
301 - shell: !include-raw-escape:
302 - ../shell/common-variables.sh
303 - ../shell/maven-javadoc-generate.sh
304 - ../shell/lftools-install.sh
305 - ../shell/maven-javadoc-publish.sh
306 - lf-provide-maven-settings-cleanup
309 name: '{project-name}-maven-javadoc-publish-{stream}'
310 id: gerrit-maven-javadoc-publish
312 # yamllint disable-line rule:key-duplicates
313 <<: *lf_maven_javadoc_publish
315 git-url: '$GIT_URL/$GERRIT_PROJECT'
318 - lf-infra-gerrit-scm:
322 submodule-recursive: '{submodule-recursive}'
323 choosing-strategy: default
324 jenkins-ssh-credential: '{jenkins-ssh-credential}'
328 server-name: '{gerrit-server-name}'
329 trigger-on: '{obj:gerrit_merge_triggers}'
331 - project-compare-type: ANT
332 project-pattern: '{project}'
334 - branch-compare-type: ANT
335 branch-pattern: '**/{branch}'
338 name: '{project-name}-maven-javadoc-publish-{stream}'
339 id: github-maven-javadoc-publish
341 # yamllint disable-line rule:key-duplicates
342 <<: *lf_maven_javadoc_publish
345 - lf-infra-properties:
346 build-days-to-keep: '{build-days-to-keep}'
348 url: '{github-url}/{github-org}/{project}'
351 - lf-infra-github-scm:
352 url: '{git-clone-url}{github-org}/{project}'
355 submodule-recursive: '{submodule-recursive}'
356 choosing-strategy: default
357 jenkins-ssh-credential: '{jenkins-ssh-credential}'
363 - github-pull-request:
364 trigger-phrase: '^remerge$'
365 only-trigger-phrase: true
366 status-context: 'Maven Javadoc Publish'
371 white-list: '{obj:github_pr_whitelist}'
372 admin-list: '{obj:github_pr_admin_list}'
373 white-list-target-branches:
376 ########################
377 # Maven Javadoc Verify #
378 ########################
380 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
381 name: lf-maven-javadoc-verify
383 ######################
384 # Default parameters #
385 ######################
388 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
391 git-url: '$GIT_URL/$PROJECT'
392 github-url: 'https://github.com'
393 java-version: openjdk8
394 mvn-global-settings: global-settings
399 submodule-recursive: true
401 gerrit_verify_triggers:
402 - patchset-created-event:
404 exclude-trivial-rebase: false
405 exclude-no-code-change: false
406 - draft-published-event
407 - comment-added-contains-event:
408 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
410 #####################
411 # Job Configuration #
412 #####################
415 disabled: '{disable-job}'
419 mvn-version: '{mvn-version}'
420 - lf-update-java-alternatives:
421 java-version: '{java-version}'
422 - lf-provide-maven-settings:
423 global-settings-file: '{mvn-global-settings}'
424 settings-file: '{mvn-settings}'
425 - shell: !include-raw-escape:
426 - ../shell/common-variables.sh
427 - ../shell/maven-javadoc-generate.sh
428 - lf-provide-maven-settings-cleanup
431 name: '{project-name}-maven-javadoc-verify-{stream}'
432 id: gerrit-maven-javadoc-verify
434 # yamllint disable-line rule:key-duplicates
435 <<: *lf_maven_javadoc_verify
438 - lf-infra-gerrit-scm:
439 jenkins-ssh-credential: '{jenkins-ssh-credential}'
441 refspec: '$GERRIT_REFSPEC'
442 branch: '$GERRIT_BRANCH'
443 submodule-recursive: '{submodule-recursive}'
444 choosing-strategy: gerrit
448 server-name: '{gerrit-server-name}'
449 trigger-on: '{obj:gerrit_verify_triggers}'
451 - project-compare-type: ANT
452 project-pattern: '{project}'
454 - branch-compare-type: ANT
455 branch-pattern: '**/{branch}'
458 name: '{project-name}-maven-javadoc-verify-{stream}'
459 id: github-maven-javadoc-verify
461 # yamllint disable-line rule:key-duplicates
462 <<: *lf_maven_javadoc_verify
465 - lf-infra-properties:
466 build-days-to-keep: '{build-days-to-keep}'
468 url: '{github-url}/{github-org}/{project}'
471 - lf-infra-github-scm:
472 url: '{git-clone-url}{github-org}/{project}'
473 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
475 submodule-recursive: '{submodule-recursive}'
476 choosing-strategy: default
477 jenkins-ssh-credential: '{jenkins-ssh-credential}'
480 - github-pull-request:
481 trigger-phrase: ^(recheck|reverify)$
482 only-trigger-phrase: false
483 status-context: 'Maven Javadoc Verify'
486 white-list-target-branches:
493 - lf_maven_merge: &lf_maven_merge
496 ######################
497 # Default parameters #
498 ######################
501 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
505 git-url: '$GIT_URL/$PROJECT'
506 github-url: 'https://github.com'
507 java-version: openjdk8
508 mvn-global-settings: global-settings
509 mvn-goals: clean deploy
511 mvn-params: '-Dmerge'
513 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
515 submodule-recursive: true
517 gerrit_merge_triggers:
518 - change-merged-event
519 - comment-added-contains-event:
520 comment-contains-value: remerge$
522 gerrit_trigger_file_paths:
523 - compare-type: REG_EXP
526 # github_included_regions MUST match gerrit_trigger_file_paths
527 github_included_regions:
530 post_build_trigger: ''
532 #####################
533 # Job Configuration #
534 #####################
536 disabled: '{disable-job}'
539 - lf-jacoco-nojava-workaround
541 mvn-version: '{mvn-version}'
542 - lf-update-java-alternatives:
543 java-version: '{java-version}'
544 - lf-provide-maven-settings:
545 global-settings-file: '{mvn-global-settings}'
546 settings-file: '{mvn-settings}'
547 - lf-infra-create-netrc:
548 server-id: '{mvn-snapshot-id}'
550 properties-content: |
551 NEXUS_CUT_DIRS={nexus-cut-dirs}
552 NEXUS_REPO={nexus-snapshot-repo}
553 - shell: !include-raw-escape:
554 - ../shell/lftools-install.sh
555 - ../shell/maven-fetch-metadata.sh
557 mvn-goals: '{mvn-goals}'
559 - lf-provide-maven-settings-cleanup
565 - trigger-parameterized-builds: '{obj:post_build_trigger}'
568 name: '{project-name}-maven-merge-{stream}'
569 id: gerrit-maven-merge
571 # yamllint disable-line rule:key-duplicates
575 - lf-infra-gerrit-scm:
576 jenkins-ssh-credential: '{jenkins-ssh-credential}'
578 refspec: '$GERRIT_REFSPEC'
579 branch: '$GERRIT_BRANCH'
580 submodule-recursive: '{submodule-recursive}'
581 choosing-strategy: default
584 - timed: '{obj:cron}'
586 server-name: '{gerrit-server-name}'
587 trigger-on: '{obj:gerrit_merge_triggers}'
589 - project-compare-type: ANT
590 project-pattern: '{project}'
592 - branch-compare-type: ANT
593 branch-pattern: '**/{branch}'
594 file-paths: '{obj:gerrit_trigger_file_paths}'
597 name: '{project-name}-maven-merge-{stream}'
598 id: github-maven-merge
600 # yamllint disable-line rule:key-duplicates
604 - lf-infra-properties:
605 build-days-to-keep: '{build-days-to-keep}'
607 url: '{github-url}/{github-org}/{project}'
610 - lf-infra-github-scm:
611 url: '{git-clone-url}{github-org}/{project}'
612 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
614 submodule-recursive: '{submodule-recursive}'
615 choosing-strategy: default
616 jenkins-ssh-credential: '{jenkins-ssh-credential}'
619 - timed: '{obj:cron}'
623 - github-pull-request:
624 trigger-phrase: '^remerge$'
625 only-trigger-phrase: true
626 status-context: 'Maven Merge'
631 white-list: '{obj:github_pr_whitelist}'
632 admin-list: '{obj:github_pr_admin_list}'
633 white-list-target-branches:
635 included-regions: '{obj:github_included_regions}'
641 - lf_maven_stage: &lf_maven_stage
644 ######################
645 # Default parameters #
646 ######################
649 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
653 git-url: '$GIT_URL/$PROJECT'
654 github-url: 'https://github.com'
655 java-version: openjdk8
656 mvn-global-settings: global-settings
657 mvn-goals: clean deploy
662 submodule-recursive: true
664 gerrit_release_triggers:
665 - comment-added-contains-event:
666 comment-contains-value: stage-release$
668 #####################
669 # Job Configuration #
670 #####################
672 disabled: '{disable-job}'
675 - lf-infra-parameters:
679 lftools-version: '{lftools-version}'
680 - lf-infra-maven-parameters:
681 mvn-opts: '{mvn-opts}'
682 mvn-params: '{mvn-params}'
683 mvn-version: '{mvn-version}'
684 staging-profile-id: '{staging-profile-id}'
686 name: ARCHIVE_ARTIFACTS
687 default: '{archive-artifacts}'
688 description: Artifacts to archive to the logs server.
690 name: STAGING_PROFILE_ID
691 default: '{staging-profile-id}'
692 description: Nexus staging profile ID.
695 - lf-jacoco-nojava-workaround
697 mvn-version: '{mvn-version}'
698 - lf-update-java-alternatives:
699 java-version: '{java-version}'
700 - lf-provide-maven-settings:
701 global-settings-file: '{mvn-global-settings}'
702 settings-file: '{mvn-settings}'
703 - lf-infra-create-netrc:
704 server-id: '{mvn-staging-id}'
705 - shell: !include-raw-escape:
706 - ../shell/lftools-install.sh
707 - ../shell/maven-patch-release.sh
709 mvn-goals: '{mvn-goals}'
711 - lf-provide-maven-settings-cleanup
714 name: '{project-name}-maven-stage-{stream}'
715 id: gerrit-maven-stage
717 # yamllint disable-line rule:key-duplicates
721 - lf-infra-gerrit-scm:
722 jenkins-ssh-credential: '{jenkins-ssh-credential}'
724 refspec: '$GERRIT_REFSPEC'
725 branch: '$GERRIT_BRANCH'
726 submodule-recursive: '{submodule-recursive}'
727 choosing-strategy: default
730 - timed: '{obj:cron}'
732 server-name: '{gerrit-server-name}'
733 trigger-on: '{obj:gerrit_release_triggers}'
735 - project-compare-type: ANT
736 project-pattern: '{project}'
738 - branch-compare-type: ANT
739 branch-pattern: '**/{branch}'
742 name: '{project-name}-maven-stage-{stream}'
743 id: github-maven-stage
745 # yamllint disable-line rule:key-duplicates
749 - lf-infra-properties:
750 build-days-to-keep: '{build-days-to-keep}'
752 url: '{github-url}/{github-org}/{project}'
755 - lf-infra-github-scm:
756 url: '{git-clone-url}{github-org}/{project}'
757 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
759 submodule-recursive: '{submodule-recursive}'
760 choosing-strategy: default
761 jenkins-ssh-credential: '{jenkins-ssh-credential}'
764 - timed: '{obj:cron}'
765 - github-pull-request:
766 trigger-phrase: '^build release$'
767 only-trigger-phrase: true
768 status-context: 'Maven Release'
771 white-list-target-branches:
778 - lf_maven_sonar: &lf_maven_sonar
781 ######################
782 # Default parameters #
783 ######################
785 branch: master # Sonar should always be run on master branch
786 build-days-to-keep: 7
788 cron: 'H H * * 6' # run weekly
790 git-url: '$GIT_URL/$PROJECT'
791 github-url: 'https://github.com'
792 java-version: openjdk8
793 mvn-global-settings: global-settings
797 sonar-mvn-goal: 'sonar:sonar'
799 submodule-recursive: true
801 gerrit_sonar_triggers:
802 - comment-added-contains-event:
803 comment-contains-value: run-sonar$
805 #####################
806 # Job Configuration #
807 #####################
809 disabled: '{disable-job}'
812 - lf-infra-parameters:
816 lftools-version: '{lftools-version}'
817 - lf-infra-maven-parameters:
818 mvn-opts: '{mvn-opts}'
819 mvn-params: '{mvn-params}'
820 mvn-version: '{mvn-version}'
822 name: ARCHIVE_ARTIFACTS
823 default: '{archive-artifacts}'
824 description: Artifacts to archive to the logs server.
826 name: SONAR_MAVEN_GOAL
827 default: '{sonar-mvn-goal}'
829 Maven goals to pass to the Sonar call. Typically sonar:sonar
830 however to use a specific version of the sonar-maven-plugin we
831 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
834 - timed: '{obj:cron}'
836 server-name: '{gerrit-server-name}'
837 trigger-on: '{obj:gerrit_sonar_triggers}'
839 - project-compare-type: 'ANT'
840 project-pattern: '{project}'
842 - branch-compare-type: 'ANT'
843 branch-pattern: '**/master'
851 - lf-infra-maven-sonar:
852 java-version: '{java-version}'
853 mvn-settings: '{mvn-settings}'
854 mvn-version: '{mvn-version}'
862 name: lf-infra-maven-sonar
863 # Run a Sonar build with Maven
866 mvn-version: '{mvn-version}'
867 - lf-update-java-alternatives:
868 java-version: '{java-version}'
870 # Switch this to the sonar wrapper when JJB 2.0 is available
871 properties-content: SONAR_HOST_URL=$SONAR_URL
872 - lf-provide-maven-settings:
873 global-settings-file: global-settings
874 settings-file: '{mvn-settings}'
875 - shell: !include-raw-escape:
876 - ../shell/common-variables.sh
877 - ../shell/maven-sonar.sh
878 - lf-provide-maven-settings-cleanup
881 name: '{project-name}-sonar'
882 id: gerrit-maven-sonar
884 # yamllint disable-line rule:key-duplicates
888 - lf-infra-gerrit-scm:
889 jenkins-ssh-credential: '{jenkins-ssh-credential}'
891 refspec: $GERRIT_REFSPEC
892 branch: $GERRIT_BRANCH
893 submodule-recursive: '{submodule-recursive}'
894 choosing-strategy: default
897 name: '{project-name}-sonar'
898 id: github-maven-sonar
900 # yamllint disable-line rule:key-duplicates
904 - lf-infra-properties:
905 build-days-to-keep: '{build-days-to-keep}'
907 url: '{github-url}/{github-org}/{project}'
910 - lf-infra-github-scm:
911 url: '{git-clone-url}{github-org}/{project}'
912 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
914 submodule-recursive: '{submodule-recursive}'
915 choosing-strategy: default
916 jenkins-ssh-credential: '{jenkins-ssh-credential}'
919 - github-pull-request:
920 trigger-phrase: '^run-sonar$'
921 only-trigger-phrase: false
922 status-context: 'Maven Sonar'
925 white-list-target-branches:
932 - lf_maven_verify: &lf_maven_verify
933 name: lf-maven-verify
935 ######################
936 # Default parameters #
937 ######################
940 build-days-to-keep: 7
943 git-url: '$GIT_URL/$PROJECT'
944 github-url: 'https://github.com'
945 java-version: openjdk8
946 mvn-global-settings: global-settings
947 mvn-goals: clean deploy
949 mvn-params: '-Dstream=$STREAM'
952 submodule-recursive: true
954 gerrit_verify_triggers:
955 - patchset-created-event:
957 exclude-trivial-rebase: false
958 exclude-no-code-change: false
959 - draft-published-event
960 - comment-added-contains-event:
961 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
963 gerrit_trigger_file_paths:
964 - compare-type: REG_EXP
967 # github_included_regions MUST match gerrit_trigger_file_paths
968 github_included_regions:
971 #####################
972 # Job Configuration #
973 #####################
976 disabled: '{disable-job}'
979 - lf-jacoco-nojava-workaround
981 mvn-version: '{mvn-version}'
982 - lf-update-java-alternatives:
983 java-version: '{java-version}'
984 - lf-provide-maven-settings:
985 global-settings-file: '{mvn-global-settings}'
986 settings-file: '{mvn-settings}'
987 - shell: !include-raw-escape:
988 - ../shell/lftools-install.sh
990 mvn-goals: '{mvn-goals}'
991 - lf-provide-maven-settings-cleanup
999 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1000 id: gerrit-maven-verify
1001 <<: *lf_maven_common
1002 # yamllint disable-line rule:key-duplicates
1003 <<: *lf_maven_verify
1006 - lf-infra-gerrit-scm:
1007 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1008 git-url: '{git-url}'
1009 refspec: '$GERRIT_REFSPEC'
1010 branch: '$GERRIT_BRANCH'
1011 submodule-recursive: '{submodule-recursive}'
1012 choosing-strategy: gerrit
1016 server-name: '{gerrit-server-name}'
1017 trigger-on: '{obj:gerrit_verify_triggers}'
1019 - project-compare-type: ANT
1020 project-pattern: '{project}'
1022 - branch-compare-type: ANT
1023 branch-pattern: '**/{branch}'
1024 file-paths: '{obj:gerrit_trigger_file_paths}'
1027 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1028 id: github-maven-verify
1029 <<: *lf_maven_common
1030 # yamllint disable-line rule:key-duplicates
1031 <<: *lf_maven_verify
1034 - lf-infra-properties:
1035 build-days-to-keep: '{build-days-to-keep}'
1037 url: '{github-url}/{github-org}/{project}'
1040 - lf-infra-github-scm:
1041 url: '{git-clone-url}{github-org}/{project}'
1042 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1044 submodule-recursive: '{submodule-recursive}'
1045 choosing-strategy: default
1046 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1049 - github-pull-request:
1050 trigger-phrase: '^(recheck|reverify)$'
1051 only-trigger-phrase: false
1052 status-context: 'Maven Verify'
1055 white-list-target-branches:
1057 included-regions: '{obj:github_included_regions}'
1059 #############################
1060 # Maven Verify Dependencies #
1061 #############################
1063 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1064 name: lf-maven-verify-dependencies
1066 ######################
1067 # Default parameters #
1068 ######################
1071 build-days-to-keep: 7
1074 git-url: '$GIT_URL/$PROJECT'
1075 github-url: 'https://github.com'
1076 java-version: openjdk8
1077 mvn-global-settings: global-settings
1078 mvn-goals: clean deploy
1080 mvn-params: '-Dstream=$STREAM'
1083 submodule-recursive: true
1085 gerrit_verify_triggers:
1086 - comment-added-contains-event:
1087 comment-contains-value: 'recheck: [0-9 ]+'
1088 gerrit_trigger_file_paths:
1092 #####################
1093 # Job Configuration #
1094 #####################
1097 disabled: '{disable-job}'
1100 - lf-jacoco-nojava-workaround
1102 mvn-version: '{mvn-version}'
1103 - lf-update-java-alternatives:
1104 java-version: '{java-version}'
1105 - lf-provide-maven-settings:
1106 global-settings-file: '{mvn-global-settings}'
1107 settings-file: '{mvn-settings}'
1108 - lf-fetch-dependent-patches
1109 - shell: !include-raw-escape:
1110 - ../shell/common-variables.sh
1111 - ../shell/maven-build-deps.sh
1113 mvn-goals: '{mvn-goals}'
1114 - lf-provide-maven-settings-cleanup
1122 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1123 id: gerrit-maven-verify-dependencies
1124 <<: *lf_maven_common
1125 # yamllint disable-line rule:key-duplicates
1126 <<: *lf_maven_verify_dependencies
1129 - lf-infra-gerrit-scm:
1130 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1131 git-url: '{git-url}'
1132 refspec: '$GERRIT_REFSPEC'
1133 branch: '$GERRIT_BRANCH'
1134 submodule-recursive: '{submodule-recursive}'
1135 choosing-strategy: gerrit
1139 server-name: '{gerrit-server-name}'
1140 trigger-on: '{obj:gerrit_verify_triggers}'
1142 - project-compare-type: ANT
1143 project-pattern: '{project}'
1145 - branch-compare-type: ANT
1146 branch-pattern: '**/{branch}'
1147 file-paths: '{obj:gerrit_trigger_file_paths}'