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
128 nexus_iq_scan_patterns:
136 - comment-added-contains-event:
137 comment-contains-value: run-clm$
140 - lf-infra-parameters:
144 lftools-version: '{lftools-version}'
145 - lf-infra-maven-parameters:
146 mvn-opts: '{mvn-opts}'
147 mvn-params: '{mvn-params}'
148 mvn-version: '{mvn-version}'
150 name: ARCHIVE_ARTIFACTS
151 default: '{archive-artifacts}'
152 description: Artifacts to archive to the logs server.
154 nexus-iq-stage: '{nexus-iq-stage}'
156 #####################
157 # Job Configuration #
158 #####################
160 disabled: '{disable-job}'
165 mvn-version: '{mvn-version}'
166 - lf-update-java-alternatives:
167 java-version: '{java-version}'
168 - lf-provide-maven-settings:
169 global-settings-file: '{mvn-global-settings}'
170 settings-file: '{mvn-settings}'
171 - shell: !include-raw-escape:
172 - ../shell/common-variables.sh
173 - ../shell/sonatype-clm.sh
174 - lf-provide-maven-settings-cleanup
175 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
176 - nexus-iq-policy-evaluator:
177 stage: '{nexus-iq-stage}'
178 application-type: 'manual'
179 application-id: '{nexus-iq-namespace}{project-name}'
180 scan-patterns: '{obj:nexus_iq_scan_patterns}'
181 fail-build-network-error: true
184 name: '{project-name}-maven-clm-{stream}'
187 # yamllint disable-line rule:key-duplicates
191 - lf-infra-gerrit-scm:
192 jenkins-ssh-credential: '{jenkins-ssh-credential}'
194 refspec: '$GERRIT_REFSPEC'
195 branch: '$GERRIT_BRANCH'
196 submodule-recursive: '{submodule-recursive}'
197 choosing-strategy: default
200 # Build weekly on Saturdays
203 server-name: '{gerrit-server-name}'
204 trigger-on: '{obj:gerrit_clm_triggers}'
206 - project-compare-type: ANT
207 project-pattern: '{project}'
209 - branch-compare-type: ANT
210 branch-pattern: '**/{branch}'
218 name: '{project-name}-maven-clm-{stream}'
221 # yamllint disable-line rule:key-duplicates
225 - lf-infra-properties:
226 build-days-to-keep: '{build-days-to-keep}'
228 url: '{github-url}/{github-org}/{project}'
231 - lf-infra-github-scm:
232 url: '{git-clone-url}{github-org}/{project}'
234 branch: 'refs/heads/{branch}'
235 submodule-recursive: '{submodule-recursive}'
236 choosing-strategy: default
237 jenkins-ssh-credential: '{jenkins-ssh-credential}'
240 # Build weekly on Saturdays
242 - github-pull-request:
243 trigger-phrase: '^run-clm$'
244 only-trigger-phrase: true
245 status-context: 'CLM'
250 white-list: '{obj:github_pr_whitelist}'
251 admin-list: '{obj:github_pr_admin_list}'
252 white-list-target-branches:
255 #########################
256 # Maven Javadoc Publish #
257 #########################
259 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
260 name: lf-maven-javadoc-publish
262 ######################
263 # Default parameters #
264 ######################
267 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
270 git-url: '$GIT_URL/$PROJECT'
271 github-url: 'https://github.com'
272 java-version: openjdk8
273 mvn-global-settings: global-settings
278 submodule-recursive: true
280 gerrit_merge_triggers:
281 - change-merged-event
282 - comment-added-contains-event:
283 comment-contains-value: remerge$
285 #####################
286 # Job Configuration #
287 #####################
289 disabled: '{disable-job}'
294 mvn-version: '{mvn-version}'
295 - lf-update-java-alternatives:
296 java-version: '{java-version}'
297 - lf-provide-maven-settings:
298 global-settings-file: '{mvn-global-settings}'
299 settings-file: '{mvn-settings}'
300 - lf-infra-create-netrc:
301 server-id: '{mvn-site-id}'
303 properties-content: 'DEPLOY_PATH={javadoc-path}'
304 - shell: !include-raw-escape:
305 - ../shell/common-variables.sh
306 - ../shell/maven-javadoc-generate.sh
307 - ../shell/maven-javadoc-publish.sh
308 - lf-provide-maven-settings-cleanup
311 name: '{project-name}-maven-javadoc-publish-{stream}'
312 id: gerrit-maven-javadoc-publish
314 # yamllint disable-line rule:key-duplicates
315 <<: *lf_maven_javadoc_publish
317 git-url: '$GIT_URL/$GERRIT_PROJECT'
320 - lf-infra-gerrit-scm:
324 submodule-recursive: '{submodule-recursive}'
325 choosing-strategy: default
326 jenkins-ssh-credential: '{jenkins-ssh-credential}'
330 server-name: '{gerrit-server-name}'
331 trigger-on: '{obj:gerrit_merge_triggers}'
333 - project-compare-type: ANT
334 project-pattern: '{project}'
336 - branch-compare-type: ANT
337 branch-pattern: '**/{branch}'
340 name: '{project-name}-maven-javadoc-publish-{stream}'
341 id: github-maven-javadoc-publish
343 # yamllint disable-line rule:key-duplicates
344 <<: *lf_maven_javadoc_publish
347 - lf-infra-properties:
348 build-days-to-keep: '{build-days-to-keep}'
350 url: '{github-url}/{github-org}/{project}'
353 - lf-infra-github-scm:
354 url: '{git-clone-url}{github-org}/{project}'
357 submodule-recursive: '{submodule-recursive}'
358 choosing-strategy: default
359 jenkins-ssh-credential: '{jenkins-ssh-credential}'
365 - github-pull-request:
366 trigger-phrase: '^remerge$'
367 only-trigger-phrase: true
368 status-context: 'Maven Javadoc Publish'
373 white-list: '{obj:github_pr_whitelist}'
374 admin-list: '{obj:github_pr_admin_list}'
375 white-list-target-branches:
378 ########################
379 # Maven Javadoc Verify #
380 ########################
382 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
383 name: lf-maven-javadoc-verify
385 ######################
386 # Default parameters #
387 ######################
390 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
393 git-url: '$GIT_URL/$PROJECT'
394 github-url: 'https://github.com'
395 java-version: openjdk8
396 mvn-global-settings: global-settings
401 submodule-recursive: true
403 gerrit_verify_triggers:
404 - patchset-created-event:
406 exclude-trivial-rebase: false
407 exclude-no-code-change: false
408 - draft-published-event
409 - comment-added-contains-event:
410 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
412 #####################
413 # Job Configuration #
414 #####################
417 disabled: '{disable-job}'
422 mvn-version: '{mvn-version}'
423 - lf-update-java-alternatives:
424 java-version: '{java-version}'
425 - lf-provide-maven-settings:
426 global-settings-file: '{mvn-global-settings}'
427 settings-file: '{mvn-settings}'
428 - shell: !include-raw-escape:
429 - ../shell/common-variables.sh
430 - ../shell/maven-javadoc-generate.sh
431 - lf-provide-maven-settings-cleanup
434 name: '{project-name}-maven-javadoc-verify-{stream}'
435 id: gerrit-maven-javadoc-verify
437 # yamllint disable-line rule:key-duplicates
438 <<: *lf_maven_javadoc_verify
441 - lf-infra-gerrit-scm:
442 jenkins-ssh-credential: '{jenkins-ssh-credential}'
444 refspec: '$GERRIT_REFSPEC'
445 branch: '$GERRIT_BRANCH'
446 submodule-recursive: '{submodule-recursive}'
447 choosing-strategy: gerrit
451 server-name: '{gerrit-server-name}'
452 trigger-on: '{obj:gerrit_verify_triggers}'
454 - project-compare-type: ANT
455 project-pattern: '{project}'
457 - branch-compare-type: ANT
458 branch-pattern: '**/{branch}'
461 name: '{project-name}-maven-javadoc-verify-{stream}'
462 id: github-maven-javadoc-verify
464 # yamllint disable-line rule:key-duplicates
465 <<: *lf_maven_javadoc_verify
468 - lf-infra-properties:
469 build-days-to-keep: '{build-days-to-keep}'
471 url: '{github-url}/{github-org}/{project}'
474 - lf-infra-github-scm:
475 url: '{git-clone-url}{github-org}/{project}'
476 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
478 submodule-recursive: '{submodule-recursive}'
479 choosing-strategy: default
480 jenkins-ssh-credential: '{jenkins-ssh-credential}'
483 - github-pull-request:
484 trigger-phrase: ^(recheck|reverify)$
485 only-trigger-phrase: false
486 status-context: 'Maven Javadoc Verify'
489 white-list-target-branches:
496 - lf_maven_merge: &lf_maven_merge
499 ######################
500 # Default parameters #
501 ######################
504 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
508 git-url: '$GIT_URL/$PROJECT'
509 github-url: 'https://github.com'
510 java-version: openjdk8
511 mvn-global-settings: global-settings
512 mvn-goals: clean deploy
514 mvn-params: '-Dmerge'
516 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
518 submodule-recursive: true
520 gerrit_merge_triggers:
521 - change-merged-event
522 - comment-added-contains-event:
523 comment-contains-value: remerge$
525 gerrit_trigger_file_paths:
526 - compare-type: REG_EXP
529 # github_included_regions MUST match gerrit_trigger_file_paths
530 github_included_regions:
533 post_build_trigger: ''
535 #####################
536 # Job Configuration #
537 #####################
539 disabled: '{disable-job}'
543 - lf-jacoco-nojava-workaround
545 mvn-version: '{mvn-version}'
546 - lf-update-java-alternatives:
547 java-version: '{java-version}'
548 - lf-provide-maven-settings:
549 global-settings-file: '{mvn-global-settings}'
550 settings-file: '{mvn-settings}'
551 - lf-infra-create-netrc:
552 server-id: '{mvn-snapshot-id}'
554 properties-content: |
555 NEXUS_CUT_DIRS={nexus-cut-dirs}
556 NEXUS_REPO={nexus-snapshot-repo}
557 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
559 mvn-goals: '{mvn-goals}'
561 - lf-provide-maven-settings-cleanup
567 - trigger-parameterized-builds: '{obj:post_build_trigger}'
570 name: '{project-name}-maven-merge-{stream}'
571 id: gerrit-maven-merge
573 # yamllint disable-line rule:key-duplicates
577 - lf-infra-gerrit-scm:
578 jenkins-ssh-credential: '{jenkins-ssh-credential}'
580 refspec: '$GERRIT_REFSPEC'
581 branch: '$GERRIT_BRANCH'
582 submodule-recursive: '{submodule-recursive}'
583 choosing-strategy: default
586 - timed: '{obj:cron}'
588 server-name: '{gerrit-server-name}'
589 trigger-on: '{obj:gerrit_merge_triggers}'
591 - project-compare-type: ANT
592 project-pattern: '{project}'
594 - branch-compare-type: ANT
595 branch-pattern: '**/{branch}'
596 file-paths: '{obj:gerrit_trigger_file_paths}'
599 name: '{project-name}-maven-merge-{stream}'
600 id: github-maven-merge
602 # yamllint disable-line rule:key-duplicates
606 - lf-infra-properties:
607 build-days-to-keep: '{build-days-to-keep}'
609 url: '{github-url}/{github-org}/{project}'
612 - lf-infra-github-scm:
613 url: '{git-clone-url}{github-org}/{project}'
614 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
616 submodule-recursive: '{submodule-recursive}'
617 choosing-strategy: default
618 jenkins-ssh-credential: '{jenkins-ssh-credential}'
621 - timed: '{obj:cron}'
625 - github-pull-request:
626 trigger-phrase: '^remerge$'
627 only-trigger-phrase: true
628 status-context: 'Maven Merge'
633 white-list: '{obj:github_pr_whitelist}'
634 admin-list: '{obj:github_pr_admin_list}'
635 white-list-target-branches:
637 included-regions: '{obj:github_included_regions}'
643 - lf_maven_stage: &lf_maven_stage
646 ######################
647 # Default parameters #
648 ######################
651 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
655 git-url: '$GIT_URL/$PROJECT'
656 github-url: 'https://github.com'
657 java-version: openjdk8
659 mvn-global-settings: global-settings
660 mvn-goals: clean deploy
665 sign-artifacts: false
667 submodule-recursive: true
669 gerrit_release_triggers:
670 - comment-added-contains-event:
671 comment-contains-value: stage-release$
673 #####################
674 # Job Configuration #
675 #####################
677 disabled: '{disable-job}'
680 - lf-infra-parameters:
684 lftools-version: '{lftools-version}'
685 - lf-infra-maven-parameters:
686 mvn-opts: '{mvn-opts}'
687 mvn-params: '{mvn-params}'
688 mvn-version: '{mvn-version}'
689 staging-profile-id: '{staging-profile-id}'
691 name: ARCHIVE_ARTIFACTS
692 default: '{archive-artifacts}'
693 description: Artifacts to archive to the logs server.
695 name: STAGING_PROFILE_ID
696 default: '{staging-profile-id}'
697 description: Nexus staging profile ID.
701 - lf-jacoco-nojava-workaround
703 mvn-version: '{mvn-version}'
704 - lf-update-java-alternatives:
705 java-version: '{java-version}'
706 - lf-provide-maven-settings:
707 global-settings-file: '{mvn-global-settings}'
708 settings-file: '{mvn-settings}'
709 - lf-infra-create-netrc:
710 server-id: '{mvn-staging-id}'
711 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
713 mvn-goals: '{mvn-goals}'
715 sign-artifacts: '{sign-artifacts}'
716 sign-dir: '$WORKSPACE/m2repo'
719 condition-kind: boolean-expression
720 condition-expression: '{mvn-central}'
722 - lf-infra-create-netrc:
725 properties-content: 'OSSRH_PROFILE_ID={ossrh-profile-id}'
726 - shell: !include-raw-escape: ../shell/maven-central.sh
727 - lf-provide-maven-settings-cleanup
730 name: '{project-name}-maven-stage-{stream}'
731 id: gerrit-maven-stage
733 # yamllint disable-line rule:key-duplicates
737 - lf-infra-gerrit-scm:
738 jenkins-ssh-credential: '{jenkins-ssh-credential}'
740 refspec: '$GERRIT_REFSPEC'
741 branch: '$GERRIT_BRANCH'
742 submodule-recursive: '{submodule-recursive}'
743 choosing-strategy: default
746 - timed: '{obj:cron}'
748 server-name: '{gerrit-server-name}'
749 trigger-on: '{obj:gerrit_release_triggers}'
751 - project-compare-type: ANT
752 project-pattern: '{project}'
754 - branch-compare-type: ANT
755 branch-pattern: '**/{branch}'
758 name: '{project-name}-maven-stage-{stream}'
759 id: github-maven-stage
761 # yamllint disable-line rule:key-duplicates
765 - lf-infra-properties:
766 build-days-to-keep: '{build-days-to-keep}'
768 url: '{github-url}/{github-org}/{project}'
771 - lf-infra-github-scm:
772 url: '{git-clone-url}{github-org}/{project}'
773 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
775 submodule-recursive: '{submodule-recursive}'
776 choosing-strategy: default
777 jenkins-ssh-credential: '{jenkins-ssh-credential}'
780 - timed: '{obj:cron}'
781 - github-pull-request:
782 trigger-phrase: '^build release$'
783 only-trigger-phrase: true
784 status-context: 'Maven Release'
787 white-list-target-branches:
794 - lf_maven_sonar: &lf_maven_sonar
797 ######################
798 # Default parameters #
799 ######################
801 branch: master # Sonar should always be run on master branch
802 build-days-to-keep: 7
804 cron: 'H H * * 6' # run weekly
806 git-url: '$GIT_URL/$PROJECT'
807 github-url: 'https://github.com'
808 java-version: openjdk8
809 mvn-global-settings: global-settings
813 sonar-mvn-goal: 'sonar:sonar'
815 submodule-recursive: true
817 gerrit_sonar_triggers:
818 - comment-added-contains-event:
819 comment-contains-value: run-sonar$
821 #####################
822 # Job Configuration #
823 #####################
825 disabled: '{disable-job}'
828 - lf-infra-parameters:
832 lftools-version: '{lftools-version}'
833 - lf-infra-maven-parameters:
834 mvn-opts: '{mvn-opts}'
835 mvn-params: '{mvn-params}'
836 mvn-version: '{mvn-version}'
838 name: ARCHIVE_ARTIFACTS
839 default: '{archive-artifacts}'
840 description: Artifacts to archive to the logs server.
842 name: SONAR_MAVEN_GOAL
843 default: '{sonar-mvn-goal}'
845 Maven goals to pass to the Sonar call. Typically sonar:sonar
846 however to use a specific version of the sonar-maven-plugin we
847 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
850 - timed: '{obj:cron}'
852 server-name: '{gerrit-server-name}'
853 trigger-on: '{obj:gerrit_sonar_triggers}'
855 - project-compare-type: 'ANT'
856 project-pattern: '{project}'
858 - branch-compare-type: 'ANT'
859 branch-pattern: '**/master'
868 - lf-infra-maven-sonar:
869 java-version: '{java-version}'
870 mvn-settings: '{mvn-settings}'
871 mvn-version: '{mvn-version}'
879 name: lf-infra-maven-sonar
880 # Run a Sonar build with Maven
883 mvn-version: '{mvn-version}'
884 - lf-update-java-alternatives:
885 java-version: '{java-version}'
887 # Switch this to the sonar wrapper when JJB 2.0 is available
888 properties-content: SONAR_HOST_URL=$SONAR_URL
889 - lf-provide-maven-settings:
890 global-settings-file: global-settings
891 settings-file: '{mvn-settings}'
892 - shell: !include-raw-escape:
893 - ../shell/common-variables.sh
894 - ../shell/maven-sonar.sh
895 - lf-provide-maven-settings-cleanup
898 name: '{project-name}-sonar'
899 id: gerrit-maven-sonar
901 # yamllint disable-line rule:key-duplicates
905 - lf-infra-gerrit-scm:
906 jenkins-ssh-credential: '{jenkins-ssh-credential}'
908 refspec: $GERRIT_REFSPEC
909 branch: $GERRIT_BRANCH
910 submodule-recursive: '{submodule-recursive}'
911 choosing-strategy: default
914 name: '{project-name}-sonar'
915 id: github-maven-sonar
917 # yamllint disable-line rule:key-duplicates
921 - lf-infra-properties:
922 build-days-to-keep: '{build-days-to-keep}'
924 url: '{github-url}/{github-org}/{project}'
927 - lf-infra-github-scm:
928 url: '{git-clone-url}{github-org}/{project}'
929 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
931 submodule-recursive: '{submodule-recursive}'
932 choosing-strategy: default
933 jenkins-ssh-credential: '{jenkins-ssh-credential}'
936 - github-pull-request:
937 trigger-phrase: '^run-sonar$'
938 only-trigger-phrase: false
939 status-context: 'Maven Sonar'
942 white-list-target-branches:
949 - lf_maven_verify: &lf_maven_verify
950 name: lf-maven-verify
952 ######################
953 # Default parameters #
954 ######################
957 build-days-to-keep: 7
960 git-url: '$GIT_URL/$PROJECT'
961 github-url: 'https://github.com'
962 java-version: openjdk8
963 mvn-global-settings: global-settings
964 mvn-goals: clean deploy
966 mvn-params: '-Dstream=$STREAM'
969 submodule-recursive: true
971 gerrit_verify_triggers:
972 - patchset-created-event:
974 exclude-trivial-rebase: false
975 exclude-no-code-change: false
976 - draft-published-event
977 - comment-added-contains-event:
978 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
980 gerrit_trigger_file_paths:
981 - compare-type: REG_EXP
984 # github_included_regions MUST match gerrit_trigger_file_paths
985 github_included_regions:
988 #####################
989 # Job Configuration #
990 #####################
993 disabled: '{disable-job}'
997 - lf-jacoco-nojava-workaround
999 mvn-version: '{mvn-version}'
1000 - lf-update-java-alternatives:
1001 java-version: '{java-version}'
1002 - lf-provide-maven-settings:
1003 global-settings-file: '{mvn-global-settings}'
1004 settings-file: '{mvn-settings}'
1006 mvn-goals: '{mvn-goals}'
1007 - lf-provide-maven-settings-cleanup
1015 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1016 id: gerrit-maven-verify
1017 <<: *lf_maven_common
1018 # yamllint disable-line rule:key-duplicates
1019 <<: *lf_maven_verify
1022 - lf-infra-gerrit-scm:
1023 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1024 git-url: '{git-url}'
1025 refspec: '$GERRIT_REFSPEC'
1026 branch: '$GERRIT_BRANCH'
1027 submodule-recursive: '{submodule-recursive}'
1028 choosing-strategy: gerrit
1032 server-name: '{gerrit-server-name}'
1033 trigger-on: '{obj:gerrit_verify_triggers}'
1035 - project-compare-type: ANT
1036 project-pattern: '{project}'
1038 - branch-compare-type: ANT
1039 branch-pattern: '**/{branch}'
1040 file-paths: '{obj:gerrit_trigger_file_paths}'
1043 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1044 id: github-maven-verify
1045 <<: *lf_maven_common
1046 # yamllint disable-line rule:key-duplicates
1047 <<: *lf_maven_verify
1050 - lf-infra-properties:
1051 build-days-to-keep: '{build-days-to-keep}'
1053 url: '{github-url}/{github-org}/{project}'
1056 - lf-infra-github-scm:
1057 url: '{git-clone-url}{github-org}/{project}'
1058 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1060 submodule-recursive: '{submodule-recursive}'
1061 choosing-strategy: default
1062 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1065 - github-pull-request:
1066 trigger-phrase: '^(recheck|reverify)$'
1067 only-trigger-phrase: false
1068 status-context: 'Maven Verify'
1071 white-list-target-branches:
1073 included-regions: '{obj:github_included_regions}'
1075 #############################
1076 # Maven Verify Dependencies #
1077 #############################
1079 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1080 name: lf-maven-verify-dependencies
1082 ######################
1083 # Default parameters #
1084 ######################
1087 build-days-to-keep: 7
1090 git-url: '$GIT_URL/$PROJECT'
1091 github-url: 'https://github.com'
1092 java-version: openjdk8
1093 mvn-global-settings: global-settings
1094 mvn-goals: clean deploy
1096 mvn-params: '-Dstream=$STREAM'
1099 submodule-recursive: true
1101 gerrit_verify_triggers:
1102 - comment-added-contains-event:
1103 comment-contains-value: 'recheck: [0-9 ]+'
1104 gerrit_trigger_file_paths:
1108 #####################
1109 # Job Configuration #
1110 #####################
1113 disabled: '{disable-job}'
1116 - lf-infra-pre-build
1117 - lf-jacoco-nojava-workaround
1119 mvn-version: '{mvn-version}'
1120 - lf-update-java-alternatives:
1121 java-version: '{java-version}'
1122 - lf-provide-maven-settings:
1123 global-settings-file: '{mvn-global-settings}'
1124 settings-file: '{mvn-settings}'
1125 - lf-fetch-dependent-patches
1126 - shell: !include-raw-escape:
1127 - ../shell/common-variables.sh
1128 - ../shell/maven-build-deps.sh
1130 mvn-goals: '{mvn-goals}'
1131 - lf-provide-maven-settings-cleanup
1139 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1140 id: gerrit-maven-verify-dependencies
1141 <<: *lf_maven_common
1142 # yamllint disable-line rule:key-duplicates
1143 <<: *lf_maven_verify_dependencies
1146 - lf-infra-gerrit-scm:
1147 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1148 git-url: '{git-url}'
1149 refspec: '$GERRIT_REFSPEC'
1150 branch: '$GERRIT_BRANCH'
1151 submodule-recursive: '{submodule-recursive}'
1152 choosing-strategy: gerrit
1156 server-name: '{gerrit-server-name}'
1157 trigger-on: '{obj:gerrit_verify_triggers}'
1159 - project-compare-type: ANT
1160 project-pattern: '{project}'
1162 - branch-compare-type: ANT
1163 branch-pattern: '**/{branch}'
1164 file-paths: '{obj:gerrit_trigger_file_paths}'