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-namespace: '' # Recommend a trailing dash when set. Example: odl-
124 nexus-iq-stage: 'build'
126 submodule-recursive: true
127 submodule-timeout: 10
129 nexus_iq_scan_patterns:
137 - comment-added-contains-event:
138 comment-contains-value: run-clm$
141 - lf-infra-parameters:
145 lftools-version: '{lftools-version}'
146 - lf-infra-maven-parameters:
147 mvn-opts: '{mvn-opts}'
148 mvn-params: '{mvn-params}'
149 mvn-version: '{mvn-version}'
151 name: ARCHIVE_ARTIFACTS
152 default: '{archive-artifacts}'
153 description: Artifacts to archive to the logs server.
155 nexus-iq-stage: '{nexus-iq-stage}'
157 #####################
158 # Job Configuration #
159 #####################
161 disabled: '{disable-job}'
166 mvn-version: '{mvn-version}'
167 - lf-update-java-alternatives:
168 java-version: '{java-version}'
169 - lf-provide-maven-settings:
170 global-settings-file: '{mvn-global-settings}'
171 settings-file: '{mvn-settings}'
172 - shell: !include-raw-escape:
173 - ../shell/common-variables.sh
174 - ../shell/sonatype-clm.sh
175 - lf-provide-maven-settings-cleanup
176 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
177 - nexus-iq-policy-evaluator:
178 stage: '{nexus-iq-stage}'
179 application-type: 'manual'
180 application-id: '{nexus-iq-namespace}{project-name}'
181 scan-patterns: '{obj:nexus_iq_scan_patterns}'
182 fail-build-network-error: true
185 name: '{project-name}-maven-clm-{stream}'
188 # yamllint disable-line rule:key-duplicates
192 - lf-infra-gerrit-scm:
193 jenkins-ssh-credential: '{jenkins-ssh-credential}'
195 refspec: '$GERRIT_REFSPEC'
196 branch: '$GERRIT_BRANCH'
197 submodule-recursive: '{submodule-recursive}'
198 submodule-timeout: '{submodule-timeout}'
199 choosing-strategy: default
202 # Build weekly on Saturdays
205 server-name: '{gerrit-server-name}'
206 trigger-on: '{obj:gerrit_clm_triggers}'
208 - project-compare-type: ANT
209 project-pattern: '{project}'
211 - branch-compare-type: ANT
212 branch-pattern: '**/{branch}'
220 name: '{project-name}-maven-clm-{stream}'
223 # yamllint disable-line rule:key-duplicates
227 - lf-infra-properties:
228 build-days-to-keep: '{build-days-to-keep}'
230 url: '{github-url}/{github-org}/{project}'
233 - lf-infra-github-scm:
234 url: '{git-clone-url}{github-org}/{project}'
236 branch: 'refs/heads/{branch}'
237 submodule-recursive: '{submodule-recursive}'
238 submodule-timeout: '{submodule-timeout}'
239 choosing-strategy: default
240 jenkins-ssh-credential: '{jenkins-ssh-credential}'
243 # Build weekly on Saturdays
245 - github-pull-request:
246 trigger-phrase: '^run-clm$'
247 only-trigger-phrase: true
248 status-context: 'CLM'
253 white-list: '{obj:github_pr_whitelist}'
254 admin-list: '{obj:github_pr_admin_list}'
255 white-list-target-branches:
258 #########################
259 # Maven Javadoc Publish #
260 #########################
262 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
263 name: lf-maven-javadoc-publish
265 ######################
266 # Default parameters #
267 ######################
270 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
273 git-url: '$GIT_URL/$PROJECT'
274 github-url: 'https://github.com'
275 java-version: openjdk8
276 mvn-global-settings: global-settings
281 submodule-recursive: true
282 submodule-timeout: 10
284 gerrit_merge_triggers:
285 - change-merged-event
286 - comment-added-contains-event:
287 comment-contains-value: remerge$
289 #####################
290 # Job Configuration #
291 #####################
293 disabled: '{disable-job}'
298 mvn-version: '{mvn-version}'
299 - lf-update-java-alternatives:
300 java-version: '{java-version}'
301 - lf-provide-maven-settings:
302 global-settings-file: '{mvn-global-settings}'
303 settings-file: '{mvn-settings}'
304 - lf-infra-create-netrc:
305 server-id: '{mvn-site-id}'
307 properties-content: 'DEPLOY_PATH={javadoc-path}'
308 - shell: !include-raw-escape:
309 - ../shell/common-variables.sh
310 - ../shell/maven-javadoc-generate.sh
311 - ../shell/maven-javadoc-publish.sh
312 - lf-provide-maven-settings-cleanup
315 name: '{project-name}-maven-javadoc-publish-{stream}'
316 id: gerrit-maven-javadoc-publish
318 # yamllint disable-line rule:key-duplicates
319 <<: *lf_maven_javadoc_publish
321 git-url: '$GIT_URL/$GERRIT_PROJECT'
324 - lf-infra-gerrit-scm:
328 submodule-recursive: '{submodule-recursive}'
329 submodule-timeout: '{submodule-timeout}'
330 choosing-strategy: default
331 jenkins-ssh-credential: '{jenkins-ssh-credential}'
335 server-name: '{gerrit-server-name}'
336 trigger-on: '{obj:gerrit_merge_triggers}'
338 - project-compare-type: ANT
339 project-pattern: '{project}'
341 - branch-compare-type: ANT
342 branch-pattern: '**/{branch}'
345 name: '{project-name}-maven-javadoc-publish-{stream}'
346 id: github-maven-javadoc-publish
348 # yamllint disable-line rule:key-duplicates
349 <<: *lf_maven_javadoc_publish
352 - lf-infra-properties:
353 build-days-to-keep: '{build-days-to-keep}'
355 url: '{github-url}/{github-org}/{project}'
358 - lf-infra-github-scm:
359 url: '{git-clone-url}{github-org}/{project}'
362 submodule-recursive: '{submodule-recursive}'
363 submodule-timeout: '{submodule-timeout}'
364 choosing-strategy: default
365 jenkins-ssh-credential: '{jenkins-ssh-credential}'
371 - github-pull-request:
372 trigger-phrase: '^remerge$'
373 only-trigger-phrase: true
374 status-context: 'Maven Javadoc Publish'
379 white-list: '{obj:github_pr_whitelist}'
380 admin-list: '{obj:github_pr_admin_list}'
381 white-list-target-branches:
384 ########################
385 # Maven Javadoc Verify #
386 ########################
388 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
389 name: lf-maven-javadoc-verify
391 ######################
392 # Default parameters #
393 ######################
396 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
399 git-url: '$GIT_URL/$PROJECT'
400 github-url: 'https://github.com'
401 java-version: openjdk8
402 mvn-global-settings: global-settings
407 submodule-recursive: true
408 submodule-timeout: 10
410 gerrit_verify_triggers:
411 - patchset-created-event:
413 exclude-trivial-rebase: false
414 exclude-no-code-change: false
415 - draft-published-event
416 - comment-added-contains-event:
417 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
419 #####################
420 # Job Configuration #
421 #####################
424 disabled: '{disable-job}'
429 mvn-version: '{mvn-version}'
430 - lf-update-java-alternatives:
431 java-version: '{java-version}'
432 - lf-provide-maven-settings:
433 global-settings-file: '{mvn-global-settings}'
434 settings-file: '{mvn-settings}'
435 - shell: !include-raw-escape:
436 - ../shell/common-variables.sh
437 - ../shell/maven-javadoc-generate.sh
438 - lf-provide-maven-settings-cleanup
441 name: '{project-name}-maven-javadoc-verify-{stream}'
442 id: gerrit-maven-javadoc-verify
444 # yamllint disable-line rule:key-duplicates
445 <<: *lf_maven_javadoc_verify
448 - lf-infra-gerrit-scm:
449 jenkins-ssh-credential: '{jenkins-ssh-credential}'
451 refspec: '$GERRIT_REFSPEC'
452 branch: '$GERRIT_BRANCH'
453 submodule-recursive: '{submodule-recursive}'
454 submodule-timeout: '{submodule-timeout}'
455 choosing-strategy: gerrit
459 server-name: '{gerrit-server-name}'
460 trigger-on: '{obj:gerrit_verify_triggers}'
462 - project-compare-type: ANT
463 project-pattern: '{project}'
465 - branch-compare-type: ANT
466 branch-pattern: '**/{branch}'
469 name: '{project-name}-maven-javadoc-verify-{stream}'
470 id: github-maven-javadoc-verify
472 # yamllint disable-line rule:key-duplicates
473 <<: *lf_maven_javadoc_verify
476 - lf-infra-properties:
477 build-days-to-keep: '{build-days-to-keep}'
479 url: '{github-url}/{github-org}/{project}'
482 - lf-infra-github-scm:
483 url: '{git-clone-url}{github-org}/{project}'
484 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
486 submodule-recursive: '{submodule-recursive}'
487 submodule-timeout: '{submodule-timeout}'
488 choosing-strategy: default
489 jenkins-ssh-credential: '{jenkins-ssh-credential}'
492 - github-pull-request:
493 trigger-phrase: ^(recheck|reverify)$
494 only-trigger-phrase: false
495 status-context: 'Maven Javadoc Verify'
498 white-list-target-branches:
505 - lf_maven_merge: &lf_maven_merge
508 ######################
509 # Default parameters #
510 ######################
513 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
517 git-url: '$GIT_URL/$PROJECT'
518 github-url: 'https://github.com'
519 java-version: openjdk8
520 mvn-global-settings: global-settings
521 mvn-goals: clean deploy
523 mvn-params: '-Dmerge'
525 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
527 submodule-recursive: true
528 submodule-timeout: 10
530 gerrit_merge_triggers:
531 - change-merged-event
532 - comment-added-contains-event:
533 comment-contains-value: remerge$
535 gerrit_trigger_file_paths:
536 - compare-type: REG_EXP
539 # github_included_regions MUST match gerrit_trigger_file_paths
540 github_included_regions:
543 post_build_trigger: ''
545 #####################
546 # Job Configuration #
547 #####################
549 disabled: '{disable-job}'
553 - lf-jacoco-nojava-workaround
555 mvn-version: '{mvn-version}'
556 - lf-update-java-alternatives:
557 java-version: '{java-version}'
558 - lf-provide-maven-settings:
559 global-settings-file: '{mvn-global-settings}'
560 settings-file: '{mvn-settings}'
561 - lf-infra-create-netrc:
562 server-id: '{mvn-snapshot-id}'
564 properties-content: |
565 NEXUS_CUT_DIRS={nexus-cut-dirs}
566 NEXUS_REPO={nexus-snapshot-repo}
567 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
569 mvn-goals: '{mvn-goals}'
571 - lf-provide-maven-settings-cleanup
577 - trigger-parameterized-builds: '{obj:post_build_trigger}'
580 name: '{project-name}-maven-merge-{stream}'
581 id: gerrit-maven-merge
583 # yamllint disable-line rule:key-duplicates
587 - lf-infra-gerrit-scm:
588 jenkins-ssh-credential: '{jenkins-ssh-credential}'
590 refspec: '$GERRIT_REFSPEC'
591 branch: '$GERRIT_BRANCH'
592 submodule-recursive: '{submodule-recursive}'
593 submodule-timeout: '{submodule-timeout}'
594 choosing-strategy: default
597 - timed: '{obj:cron}'
599 server-name: '{gerrit-server-name}'
600 trigger-on: '{obj:gerrit_merge_triggers}'
602 - project-compare-type: ANT
603 project-pattern: '{project}'
605 - branch-compare-type: ANT
606 branch-pattern: '**/{branch}'
607 file-paths: '{obj:gerrit_trigger_file_paths}'
610 name: '{project-name}-maven-merge-{stream}'
611 id: github-maven-merge
613 # yamllint disable-line rule:key-duplicates
617 - lf-infra-properties:
618 build-days-to-keep: '{build-days-to-keep}'
620 url: '{github-url}/{github-org}/{project}'
623 - lf-infra-github-scm:
624 url: '{git-clone-url}{github-org}/{project}'
626 branch: 'refs/heads/{branch}'
627 submodule-recursive: '{submodule-recursive}'
628 submodule-timeout: '{submodule-timeout}'
629 choosing-strategy: default
630 jenkins-ssh-credential: '{jenkins-ssh-credential}'
633 - timed: '{obj:cron}'
637 - github-pull-request:
638 trigger-phrase: '^remerge$'
639 only-trigger-phrase: true
640 status-context: 'Maven Merge'
645 white-list: '{obj:github_pr_whitelist}'
646 admin-list: '{obj:github_pr_admin_list}'
647 white-list-target-branches:
649 included-regions: '{obj:github_included_regions}'
655 - lf_maven_stage: &lf_maven_stage
658 ######################
659 # Default parameters #
660 ######################
663 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
667 git-url: '$GIT_URL/$PROJECT'
668 github-url: 'https://github.com'
669 java-version: openjdk8
671 mvn-global-settings: global-settings
672 mvn-goals: clean deploy
677 sign-artifacts: false
679 submodule-recursive: true
680 submodule-timeout: 10
682 gerrit_release_triggers:
683 - comment-added-contains-event:
684 comment-contains-value: stage-release$
686 #####################
687 # Job Configuration #
688 #####################
690 disabled: '{disable-job}'
693 - lf-infra-parameters:
697 lftools-version: '{lftools-version}'
698 - lf-infra-maven-parameters:
699 mvn-opts: '{mvn-opts}'
700 mvn-params: '{mvn-params}'
701 mvn-version: '{mvn-version}'
702 staging-profile-id: '{staging-profile-id}'
704 name: ARCHIVE_ARTIFACTS
705 default: '{archive-artifacts}'
706 description: Artifacts to archive to the logs server.
708 name: STAGING_PROFILE_ID
709 default: '{staging-profile-id}'
710 description: Nexus staging profile ID.
714 - lf-jacoco-nojava-workaround
716 mvn-version: '{mvn-version}'
717 - lf-update-java-alternatives:
718 java-version: '{java-version}'
719 - lf-provide-maven-settings:
720 global-settings-file: '{mvn-global-settings}'
721 settings-file: '{mvn-settings}'
722 - lf-infra-create-netrc:
723 server-id: '{mvn-staging-id}'
724 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
726 mvn-goals: '{mvn-goals}'
728 sign-artifacts: '{sign-artifacts}'
729 sign-dir: '$WORKSPACE/m2repo'
732 condition-kind: boolean-expression
733 condition-expression: '{mvn-central}'
735 - lf-infra-create-netrc:
738 properties-content: 'OSSRH_PROFILE_ID={ossrh-profile-id}'
739 - shell: !include-raw-escape: ../shell/maven-central.sh
740 - lf-provide-maven-settings-cleanup
743 name: '{project-name}-maven-stage-{stream}'
744 id: gerrit-maven-stage
746 # yamllint disable-line rule:key-duplicates
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 choosing-strategy: default
760 - timed: '{obj:cron}'
762 server-name: '{gerrit-server-name}'
763 trigger-on: '{obj:gerrit_release_triggers}'
765 - project-compare-type: ANT
766 project-pattern: '{project}'
768 - branch-compare-type: ANT
769 branch-pattern: '**/{branch}'
772 name: '{project-name}-maven-stage-{stream}'
773 id: github-maven-stage
775 # yamllint disable-line rule:key-duplicates
779 - lf-infra-properties:
780 build-days-to-keep: '{build-days-to-keep}'
782 url: '{github-url}/{github-org}/{project}'
785 - lf-infra-github-scm:
786 url: '{git-clone-url}{github-org}/{project}'
787 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
789 submodule-recursive: '{submodule-recursive}'
790 submodule-timeout: '{submodule-timeout}'
791 choosing-strategy: default
792 jenkins-ssh-credential: '{jenkins-ssh-credential}'
795 - timed: '{obj:cron}'
796 - github-pull-request:
797 trigger-phrase: '^build release$'
798 only-trigger-phrase: true
799 status-context: 'Maven Release'
802 white-list-target-branches:
809 - lf_maven_sonar: &lf_maven_sonar
812 ######################
813 # Default parameters #
814 ######################
816 branch: master # Sonar should always be run on master branch
817 build-days-to-keep: 7
819 cron: 'H H * * 6' # run weekly
821 git-url: '$GIT_URL/$PROJECT'
822 github-url: 'https://github.com'
823 java-version: openjdk8
824 mvn-global-settings: global-settings
828 sonar-mvn-goal: 'sonar:sonar'
830 submodule-recursive: true
831 submodule-timeout: 10
833 gerrit_sonar_triggers:
834 - comment-added-contains-event:
835 comment-contains-value: run-sonar$
837 #####################
838 # Job Configuration #
839 #####################
841 disabled: '{disable-job}'
844 - lf-infra-parameters:
848 lftools-version: '{lftools-version}'
849 - lf-infra-maven-parameters:
850 mvn-opts: '{mvn-opts}'
851 mvn-params: '{mvn-params}'
852 mvn-version: '{mvn-version}'
854 name: ARCHIVE_ARTIFACTS
855 default: '{archive-artifacts}'
856 description: Artifacts to archive to the logs server.
858 name: SONAR_MAVEN_GOAL
859 default: '{sonar-mvn-goal}'
861 Maven goals to pass to the Sonar call. Typically sonar:sonar
862 however to use a specific version of the sonar-maven-plugin we
863 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
866 - timed: '{obj:cron}'
868 server-name: '{gerrit-server-name}'
869 trigger-on: '{obj:gerrit_sonar_triggers}'
871 - project-compare-type: 'ANT'
872 project-pattern: '{project}'
874 - branch-compare-type: 'ANT'
875 branch-pattern: '**/master'
884 - lf-infra-maven-sonar:
885 java-version: '{java-version}'
886 mvn-settings: '{mvn-settings}'
887 mvn-version: '{mvn-version}'
895 name: lf-infra-maven-sonar
896 # Run a Sonar build with Maven
899 mvn-version: '{mvn-version}'
900 - lf-update-java-alternatives:
901 java-version: '{java-version}'
903 # Switch this to the sonar wrapper when JJB 2.0 is available
904 properties-content: SONAR_HOST_URL=$SONAR_URL
905 - lf-provide-maven-settings:
906 global-settings-file: global-settings
907 settings-file: '{mvn-settings}'
908 - shell: !include-raw-escape:
909 - ../shell/common-variables.sh
910 - ../shell/maven-sonar.sh
911 - lf-provide-maven-settings-cleanup
914 name: '{project-name}-sonar'
915 id: gerrit-maven-sonar
917 # yamllint disable-line rule:key-duplicates
921 - lf-infra-gerrit-scm:
922 jenkins-ssh-credential: '{jenkins-ssh-credential}'
924 refspec: $GERRIT_REFSPEC
925 branch: $GERRIT_BRANCH
926 submodule-recursive: '{submodule-recursive}'
927 submodule-timeout: '{submodule-timeout}'
928 choosing-strategy: default
931 name: '{project-name}-sonar'
932 id: github-maven-sonar
934 # yamllint disable-line rule:key-duplicates
938 - lf-infra-properties:
939 build-days-to-keep: '{build-days-to-keep}'
941 url: '{github-url}/{github-org}/{project}'
944 - lf-infra-github-scm:
945 url: '{git-clone-url}{github-org}/{project}'
946 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
948 submodule-recursive: '{submodule-recursive}'
949 submodule-timeout: '{submodule-timeout}'
950 choosing-strategy: default
951 jenkins-ssh-credential: '{jenkins-ssh-credential}'
954 - github-pull-request:
955 trigger-phrase: '^run-sonar$'
956 only-trigger-phrase: false
957 status-context: 'Maven Sonar'
960 white-list-target-branches:
967 - lf_maven_verify: &lf_maven_verify
968 name: lf-maven-verify
970 ######################
971 # Default parameters #
972 ######################
975 build-days-to-keep: 7
978 git-url: '$GIT_URL/$PROJECT'
979 github-url: 'https://github.com'
980 java-version: openjdk8
981 mvn-global-settings: global-settings
982 mvn-goals: clean deploy
984 mvn-params: '-Dstream=$STREAM'
987 submodule-recursive: true
988 submodule-timeout: 10
990 gerrit_verify_triggers:
991 - patchset-created-event:
993 exclude-trivial-rebase: false
994 exclude-no-code-change: false
995 - draft-published-event
996 - comment-added-contains-event:
997 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
999 gerrit_trigger_file_paths:
1000 - compare-type: REG_EXP
1003 # github_included_regions MUST match gerrit_trigger_file_paths
1004 github_included_regions:
1007 #####################
1008 # Job Configuration #
1009 #####################
1012 disabled: '{disable-job}'
1015 - lf-infra-pre-build
1016 - lf-jacoco-nojava-workaround
1018 mvn-version: '{mvn-version}'
1019 - lf-update-java-alternatives:
1020 java-version: '{java-version}'
1021 - lf-provide-maven-settings:
1022 global-settings-file: '{mvn-global-settings}'
1023 settings-file: '{mvn-settings}'
1025 mvn-goals: '{mvn-goals}'
1026 - lf-provide-maven-settings-cleanup
1034 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1035 id: gerrit-maven-verify
1036 <<: *lf_maven_common
1037 # yamllint disable-line rule:key-duplicates
1038 <<: *lf_maven_verify
1041 - lf-infra-gerrit-scm:
1042 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1043 git-url: '{git-url}'
1044 refspec: '$GERRIT_REFSPEC'
1045 branch: '$GERRIT_BRANCH'
1046 submodule-recursive: '{submodule-recursive}'
1047 submodule-timeout: '{submodule-timeout}'
1048 choosing-strategy: gerrit
1052 server-name: '{gerrit-server-name}'
1053 trigger-on: '{obj:gerrit_verify_triggers}'
1055 - project-compare-type: ANT
1056 project-pattern: '{project}'
1058 - branch-compare-type: ANT
1059 branch-pattern: '**/{branch}'
1060 file-paths: '{obj:gerrit_trigger_file_paths}'
1063 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1064 id: github-maven-verify
1065 <<: *lf_maven_common
1066 # yamllint disable-line rule:key-duplicates
1067 <<: *lf_maven_verify
1070 - lf-infra-properties:
1071 build-days-to-keep: '{build-days-to-keep}'
1073 url: '{github-url}/{github-org}/{project}'
1076 - lf-infra-github-scm:
1077 url: '{git-clone-url}{github-org}/{project}'
1078 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1080 submodule-recursive: '{submodule-recursive}'
1081 submodule-timeout: '{submodule-timeout}'
1082 choosing-strategy: default
1083 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1086 - github-pull-request:
1087 trigger-phrase: '^(recheck|reverify)$'
1088 only-trigger-phrase: false
1089 status-context: 'Maven Verify'
1092 white-list-target-branches:
1094 included-regions: '{obj:github_included_regions}'
1096 #############################
1097 # Maven Verify Dependencies #
1098 #############################
1100 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1101 name: lf-maven-verify-dependencies
1103 ######################
1104 # Default parameters #
1105 ######################
1108 build-days-to-keep: 7
1111 git-url: '$GIT_URL/$PROJECT'
1112 github-url: 'https://github.com'
1113 java-version: openjdk8
1114 mvn-global-settings: global-settings
1115 mvn-goals: clean deploy
1117 mvn-params: '-Dstream=$STREAM'
1120 submodule-recursive: true
1121 submodule-timeout: 10
1123 gerrit_verify_triggers:
1124 - comment-added-contains-event:
1125 comment-contains-value: 'recheck: [0-9 ]+'
1126 gerrit_trigger_file_paths:
1130 #####################
1131 # Job Configuration #
1132 #####################
1135 disabled: '{disable-job}'
1138 - lf-infra-pre-build
1139 - lf-jacoco-nojava-workaround
1141 mvn-version: '{mvn-version}'
1142 - lf-update-java-alternatives:
1143 java-version: '{java-version}'
1144 - lf-provide-maven-settings:
1145 global-settings-file: '{mvn-global-settings}'
1146 settings-file: '{mvn-settings}'
1147 - lf-fetch-dependent-patches
1148 - shell: !include-raw-escape:
1149 - ../shell/common-variables.sh
1150 - ../shell/maven-build-deps.sh
1152 mvn-goals: '{mvn-goals}'
1153 - lf-provide-maven-settings-cleanup
1161 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1162 id: gerrit-maven-verify-dependencies
1163 <<: *lf_maven_common
1164 # yamllint disable-line rule:key-duplicates
1165 <<: *lf_maven_verify_dependencies
1168 - lf-infra-gerrit-scm:
1169 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1170 git-url: '{git-url}'
1171 refspec: '$GERRIT_REFSPEC'
1172 branch: '$GERRIT_BRANCH'
1173 submodule-recursive: '{submodule-recursive}'
1174 submodule-timeout: '{submodule-timeout}'
1175 choosing-strategy: gerrit
1179 server-name: '{gerrit-server-name}'
1180 trigger-on: '{obj:gerrit_verify_triggers}'
1182 - project-compare-type: ANT
1183 project-pattern: '{project}'
1185 - branch-compare-type: ANT
1186 branch-pattern: '**/{branch}'
1187 file-paths: '{obj:gerrit_trigger_file_paths}'