0191c842896fecd0a3b6b0832eb9d8629cead415
[releng/global-jjb.git] / jjb / lf-maven-jobs.yaml
1 ---
2 # This file contains job templates for Maven projects.
3
4 - job-group:
5     name: '{project-name}-maven-jobs'
6
7     # This job group contains all the recommended jobs that should be deployed
8     # for any project ci.
9
10     jobs:
11       - gerrit-maven-clm
12       - gerrit-maven-release
13       - gerrit-maven-verify
14       - gerrit-maven-verify-dependencies
15
16 - job-group:
17     name: '{project-name}-github-maven-jobs'
18
19     # This job group contains all the recommended jobs that should be deployed
20     # for any project ci that is using github.
21
22     jobs:
23       - github-maven-clm
24       - github-maven-release
25       - github-maven-verify
26
27 - job-group:
28     name: '{project-name}-maven-javadoc-jobs'
29
30     # This job group contains all the recommended jobs that should be deployed
31     # for any project ci.
32
33     jobs:
34       - gerrit-maven-javadoc-publish
35       - gerrit-maven-javadoc-verify
36
37 - job-group:
38     name: '{project-name}-github-maven-javadoc-jobs'
39
40     # This job group contains all the recommended jobs that should be deployed
41     # for any project ci.
42
43     jobs:
44       - github-maven-javadoc-publish
45       - github-maven-javadoc-verify
46
47 ####################
48 # COMMON FUNCTIONS #
49 ####################
50
51 - lf_maven_common: &lf_maven_common
52     name: lf-maven-common
53
54     project-type: freestyle
55     node: '{build-node}'
56     jdk: '{java-version}'
57
58     properties:
59       - lf-infra-properties:
60           build-days-to-keep: '{build-days-to-keep}'
61
62     parameters:
63       - lf-infra-parameters:
64           project: '{project}'
65           branch: '{branch}'
66           stream: '{stream}'
67           lftools-version: '{lftools-version}'
68       - lf-infra-maven-parameters:
69           mvn-opts: '{mvn-opts}'
70           mvn-params: '{mvn-params}'
71           mvn-version: '{mvn-version}'
72           # Staging repos do not make sense for CLM jobs so set it blank.
73           staging-profile-id: '{staging-profile-id}'
74
75     wrappers:
76       - lf-infra-wrappers:
77           build-timeout: '{build-timeout}'
78           jenkins-ssh-credential: '{jenkins-ssh-credential}'
79
80     publishers:
81       # TODO: Make email notification work.
82       # - lf-infra-email-notify:
83       #     email-recipients: '{email-recipients}'
84       #     email-prefix: '[releng]'
85       - lf-infra-publish
86
87 #############
88 # Maven CLM #
89 #############
90
91 - lf_maven_clm: &lf_maven_clm
92     name: lf-maven-clm
93
94     ######################
95     # Default parameters #
96     ######################
97
98     branch: master
99     build-days-to-keep: 30  # 30 days for troubleshooting purposes
100     build-timeout: 15
101     git-url: '$GIT_URL/$PROJECT'
102     java-version: openjdk8
103     mvn-global-settings: global-settings
104     mvn-opts: ''
105     mvn-params: ''
106     mvn-version: mvn33
107     staging-profile-id: ''  # Unused in this job
108     stream: master
109     submodule-recursive: true
110
111     #####################
112     # Job Configuration #
113     #####################
114
115     triggers:
116       # Build weekly on Saturdays
117       - timed: 'H H * * 6'
118
119     builders:
120       - lf-maven-install:
121           mvn-version: '{mvn-version}'
122       - lf-provide-maven-settings:
123           global-settings-file: '{mvn-global-settings}'
124           settings-file: '{mvn-settings}'
125       - shell: !include-raw-escape:
126           - ../shell/common-variables.sh
127           - ../shell/sonatype-clm.sh
128       - lf-provide-maven-settings-cleanup
129       - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
130       - sonatype-clm:
131           application-name: '{project-name}'
132
133 - job-template:
134     name: '{project-name}-maven-clm-{stream}'
135     id: gerrit-maven-clm
136     <<: *lf_maven_common
137     # yamllint disable-line rule:key-duplicates
138     <<: *lf_maven_clm
139
140     scm:
141       - lf-infra-gerrit-scm:
142           jenkins-ssh-credential: '{jenkins-ssh-credential}'
143           git-url: '{git-url}'
144           refspec: '$GERRIT_REFSPEC'
145           branch: '$GERRIT_BRANCH'
146           submodule-recursive: '{submodule-recursive}'
147           choosing-strategy: default
148
149 - job-template:
150     name: '{project-name}-maven-clm-{stream}'
151     id: github-maven-clm
152     <<: *lf_maven_common
153     # yamllint disable-line rule:key-duplicates
154     <<: *lf_maven_clm
155
156     properties:
157       - github:
158           url: '{git-url}/{github-org}/{project}'
159
160     scm:
161       - lf-infra-github-scm:
162           url: '{git-clone-url}{github-org}/{project}'
163           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
164           branch: '{branch}'
165           submodule-recursive: '{submodule-recursive}'
166           choosing-strategy: default
167           jenkins-ssh-credential: '{jenkins-ssh-credential}'
168
169 #########################
170 # Maven Javadoc Publish #
171 #########################
172
173 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
174     name: lf-maven-javadoc-publish
175
176     ######################
177     # Default parameters #
178     ######################
179
180     branch: master
181     build-days-to-keep: 30  # 30 days in case a release takes long to get approved.
182     build-timeout: 30
183     git-url: '$GIT_URL/$PROJECT'
184     java-version: openjdk8
185     mvn-global-settings: global-settings
186     mvn-opts: ''
187     mvn-params: ''
188     mvn-version: mvn33
189     staging-profile-id: ''  # Unused by the javadoc jobs
190     stream: master
191     submodule-recursive: true
192
193     gerrit_merge_triggers:
194       - change-merged-event
195       - comment-added-contains-event:
196           comment-contains-value: remerge$
197
198     #####################
199     # Job Configuration #
200     #####################
201
202     builders:
203       - lf-maven-install:
204           mvn-version: '{mvn-version}'
205       - lf-provide-maven-settings:
206           global-settings-file: '{mvn-global-settings}'
207           settings-file: '{mvn-settings}'
208       - lf-infra-create-netrc:
209           server-id: '{mvn-site-id}'
210       - inject:
211           properties-content: 'DEPLOY_PATH={javadoc-path}'
212       - shell: !include-raw-escape:
213           - ../shell/common-variables.sh
214           - ../shell/maven-javadoc-generate.sh
215           - ../shell/lftools-install.sh
216           - ../shell/maven-javadoc-publish.sh
217       - lf-provide-maven-settings-cleanup
218
219 - job-template:
220     name: '{project-name}-maven-javadoc-publish-{stream}'
221     id: gerrit-maven-javadoc-publish
222     <<: *lf_maven_common
223     # yamllint disable-line rule:key-duplicates
224     <<: *lf_maven_javadoc_publish
225
226     git-url: '$GIT_URL/$GERRIT_PROJECT'
227
228     scm:
229       - lf-infra-gerrit-scm:
230           git-url: '{git-url}'
231           refspec: ''
232           branch: '{branch}'
233           submodule-recursive: '{submodule-recursive}'
234           choosing-strategy: default
235           jenkins-ssh-credential: '{jenkins-ssh-credential}'
236
237     triggers:
238       - gerrit:
239           server-name: '{gerrit-server-name}'
240           trigger-on: '{obj:gerrit_merge_triggers}'
241           projects:
242             - project-compare-type: ANT
243               project-pattern: '{project}'
244               branches:
245                 - branch-compare-type: ANT
246                   branch-pattern: '**/{branch}'
247
248 - job-template:
249     name: '{project-name}-maven-javadoc-publish-{stream}'
250     id: github-maven-javadoc-publish
251     <<: *lf_maven_common
252     # yamllint disable-line rule:key-duplicates
253     <<: *lf_maven_javadoc_publish
254
255     properties:
256       - github:
257           url: '{git-url}/{github-org}/{project}'
258
259     scm:
260       - lf-infra-github-scm:
261           url: '{git-clone-url}{github-org}/{project}'
262           refspec: ''
263           branch: '{branch}'
264           submodule-recursive: '{submodule-recursive}'
265           choosing-strategy: default
266           jenkins-ssh-credential: '{jenkins-ssh-credential}'
267
268     triggers:
269       - github
270       - pollscm:
271           cron: ''
272       - lf-infra-github-pr-trigger:
273           trigger-phrase: '^remerge$'
274           only-trigger-phrase: true
275           status-context: 'JJB Merge'
276           permit-all: false
277           github-hooks: true
278           github-org: '{github-org}'
279           github_pr_whitelist: '{obj:github_pr_whitelist}'
280           github_pr_admin_list: '{obj:github_pr_admin_list}'
281
282 ########################
283 # Maven Javadoc Verify #
284 ########################
285
286 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
287     name: lf-maven-javadoc-verify
288
289     ######################
290     # Default parameters #
291     ######################
292
293     branch: master
294     build-days-to-keep: 30  # 30 days in case a release takes long to get approved.
295     build-timeout: 30
296     git-url: '$GIT_URL/$PROJECT'
297     java-version: openjdk8
298     mvn-global-settings: global-settings
299     mvn-opts: ''
300     mvn-params: ''
301     mvn-version: mvn33
302     staging-profile-id: ''  # Unused by the javadoc jobs
303     stream: master
304     submodule-recursive: true
305
306     gerrit_verify_triggers:
307       - patchset-created-event:
308           exclude-drafts: true
309           exclude-trivial-rebase: false
310           exclude-no-code-change: false
311       - draft-published-event
312       - comment-added-contains-event:
313           comment-contains-value: recheck$
314
315     #####################
316     # Job Configuration #
317     #####################
318
319     builders:
320       - lf-maven-install:
321           mvn-version: '{mvn-version}'
322       - lf-provide-maven-settings:
323           global-settings-file: '{mvn-global-settings}'
324           settings-file: '{mvn-settings}'
325       - shell: !include-raw-escape:
326           - ../shell/common-variables.sh
327           - ../shell/maven-javadoc-generate.sh
328       - lf-provide-maven-settings-cleanup
329
330 - job-template:
331     name: '{project-name}-maven-javadoc-verify-{stream}'
332     id: gerrit-maven-javadoc-verify
333     <<: *lf_maven_common
334     # yamllint disable-line rule:key-duplicates
335     <<: *lf_maven_javadoc_verify
336
337     scm:
338       - lf-infra-gerrit-scm:
339           jenkins-ssh-credential: '{jenkins-ssh-credential}'
340           git-url: '{git-url}'
341           refspec: '$GERRIT_REFSPEC'
342           branch: '$GERRIT_BRANCH'
343           submodule-recursive: '{submodule-recursive}'
344           choosing-strategy: gerrit
345
346     triggers:
347       - gerrit:
348           server-name: '{gerrit-server-name}'
349           trigger-on: '{obj:gerrit_verify_triggers}'
350           projects:
351             - project-compare-type: ANT
352               project-pattern: '{project}'
353               branches:
354                 - branch-compare-type: ANT
355                   branch-pattern: '**/{branch}'
356
357 - job-template:
358     name: '{project-name}-maven-javadoc-verify-{stream}'
359     id: github-maven-javadoc-verify
360     <<: *lf_maven_common
361     # yamllint disable-line rule:key-duplicates
362     <<: *lf_maven_javadoc_verify
363
364     properties:
365       - github:
366           url: '{git-url}/{github-org}/{project}'
367
368     scm:
369       - lf-infra-github-scm:
370           url: '{git-clone-url}{github-org}/{project}'
371           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
372           branch: '{branch}'
373           submodule-recursive: '{submodule-recursive}'
374           choosing-strategy: default
375           jenkins-ssh-credential: '{jenkins-ssh-credential}'
376
377     triggers:
378       - lf-infra-github-pr-trigger:
379           trigger-phrase: '^recheck$'
380           only-trigger-phrase: true
381           status-context: 'Maven Javadoc'
382           permit-all: true
383           github-hooks: true
384           github-org: ''
385           github_pr_whitelist:
386             - ''
387           github_pr_admin_list:
388             - ''
389
390 #################
391 # Maven Release #
392 #################
393
394 - lf_maven_release: &lf_maven_release
395     name: lf-maven-release
396
397     ######################
398     # Default parameters #
399     ######################
400
401     branch: master
402     build-days-to-keep: 30  # 30 days in case a release takes long to get approved.
403     build-timeout: 30
404     cron: ''
405     git-url: '$GIT_URL/$PROJECT'
406     java-version: openjdk8
407     mvn-global-settings: global-settings
408     mvn-opts: ''
409     mvn-params: ''
410     mvn-version: mvn33
411     stream: master
412     submodule-recursive: true
413
414     gerrit_release_triggers:
415       - comment-added-contains-event:
416           comment-contains-value: build release$
417
418     #####################
419     # Job Configuration #
420     #####################
421
422     builders:
423       - lf-jacoco-nojava-workaround
424       - lf-maven-install:
425           mvn-version: '{mvn-version}'
426       - lf-provide-maven-settings:
427           global-settings-file: '{mvn-global-settings}'
428           settings-file: '{mvn-settings}'
429       - lf-infra-create-netrc:
430           server-id: '{mvn-staging-id}'
431       - shell: !include-raw-escape:
432           - ../shell/lftools-install.sh
433           - ../shell/common-variables.sh
434           - ../shell/maven-patch-release.sh
435           - ../shell/maven-build.sh
436           - ../shell/maven-stage.sh
437       - lf-provide-maven-settings-cleanup
438
439 - job-template:
440     name: '{project-name}-maven-release-{stream}'
441     id: gerrit-maven-release
442     <<: *lf_maven_common
443     # yamllint disable-line rule:key-duplicates
444     <<: *lf_maven_release
445
446     scm:
447       - lf-infra-gerrit-scm:
448           jenkins-ssh-credential: '{jenkins-ssh-credential}'
449           git-url: '{git-url}'
450           refspec: '$GERRIT_REFSPEC'
451           branch: '$GERRIT_BRANCH'
452           submodule-recursive: '{submodule-recursive}'
453           choosing-strategy: default
454
455     triggers:
456       - timed: '{obj:cron}'
457       - gerrit:
458           server-name: '{gerrit-server-name}'
459           trigger-on: '{obj:gerrit_release_triggers}'
460           projects:
461             - project-compare-type: ANT
462               project-pattern: '{project}'
463               branches:
464                 - branch-compare-type: ANT
465                   branch-pattern: '**/{branch}'
466
467 - job-template:
468     name: '{project-name}-maven-release-{stream}'
469     id: github-maven-release
470     <<: *lf_maven_common
471     # yamllint disable-line rule:key-duplicates
472     <<: *lf_maven_release
473
474     properties:
475       - github:
476           url: '{git-url}/{github-org}/{project}'
477
478     scm:
479       - lf-infra-github-scm:
480           url: '{git-clone-url}{github-org}/{project}'
481           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
482           branch: '{branch}'
483           submodule-recursive: '{submodule-recursive}'
484           choosing-strategy: default
485           jenkins-ssh-credential: '{jenkins-ssh-credential}'
486
487     triggers:
488       - timed: '{obj:cron}'
489       - lf-infra-github-pr-trigger:
490           trigger-phrase: '^build release$'
491           only-trigger-phrase: true
492           status-context: 'Maven Release'
493           permit-all: true
494           github-hooks: true
495           github-org: ''
496           github_pr_whitelist:
497             - ''
498           github_pr_admin_list:
499             - ''
500
501 ###############
502 # Maven Sonar #
503 ###############
504
505 - lf_maven_sonar: &lf_maven_sonar
506     name: lf-maven-sonar
507
508     ######################
509     # Default parameters #
510     ######################
511
512     branch: master  # Sonar should always be run on master branch
513     build-days-to-keep: 7
514     build-timeout: 30
515     git-url: '$GIT_URL/$PROJECT'
516     java-version: openjdk8
517     mvn-global-settings: global-settings
518     mvn-opts: ''
519     mvn-params: ''
520     mvn-version: mvn33
521     staging-profile-id: ''  # Unused in this job
522     stream: master
523     submodule-recursive: true
524
525     gerrit_sonar_triggers:
526       - comment-added-contains-event:
527           comment-contains-value: run-sonar$
528
529     #####################
530     # Job Configuration #
531     #####################
532
533     triggers:
534       - timed: 'H H * * 6'
535       - gerrit:
536           server-name: '{gerrit-server-name}'
537           trigger-on: '{obj:gerrit_sonar_triggers}'
538           projects:
539             - project-compare-type: 'ANT'
540               project-pattern: '{project}'
541               branches:
542                 - branch-compare-type: 'ANT'
543                   branch-pattern: '**/master'
544           skip-vote:
545             successful: true
546             failed: true
547             unstable: true
548             notbuilt: true
549
550     builders:
551       - lf-infra-maven-sonar:
552           mvn-settings: '{mvn-settings}'
553           mvn-version: '{mvn-version}'
554
555     publishers:
556       - lf-jacoco-report
557       - findbugs
558       - lf-infra-publish
559
560 - builder:
561     name: lf-infra-maven-sonar
562     # Run a Sonar build with Maven
563     builders:
564       - lf-maven-install:
565           mvn-version: '{mvn-version}'
566       - inject:
567           # Switch this to the sonar wrapper when JJB 2.0 is available
568           properties-content: |
569               SONAR_HOST_URL=$SONAR_URL
570               SONAR_MAVEN_GOAL=sonar:sonar
571       - lf-provide-maven-settings:
572           global-settings-file: global-settings
573           settings-file: '{mvn-settings}'
574       - shell: !include-raw-escape:
575           - ../shell/common-variables.sh
576           - ../shell/maven-sonar.sh
577       - lf-provide-maven-settings-cleanup
578
579 - job-template:
580     name: '{project-name}-sonar'
581     id: gerrit-maven-sonar
582     <<: *lf_maven_common
583     # yamllint disable-line rule:key-duplicates
584     <<: *lf_maven_sonar
585
586     scm:
587       - lf-infra-gerrit-scm:
588           jenkins-ssh-credential: '{jenkins-ssh-credential}'
589           git-url: '{git-url}'
590           refspec: $GERRIT_REFSPEC
591           branch: $GERRIT_BRANCH
592           submodule-recursive: '{submodule-recursive}'
593           choosing-strategy: default
594
595 - job-template:
596     name: '{project-name}-sonar'
597     id: github-maven-sonar
598     <<: *lf_maven_common
599     # yamllint disable-line rule:key-duplicates
600     <<: *lf_maven_sonar
601
602     properties:
603       - github:
604           url: '{git-url}/{github-org}/{project}'
605
606     scm:
607       - lf-infra-github-scm:
608           url: '{git-clone-url}{github-org}/{project}'
609           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
610           branch: '{branch}'
611           submodule-recursive: '{submodule-recursive}'
612           choosing-strategy: default
613           jenkins-ssh-credential: '{jenkins-ssh-credential}'
614
615     triggers:
616       - lf-infra-github-pr-trigger:
617           trigger-phrase: '^recheck$'
618           only-trigger-phrase: false
619           status-context: 'Maven Verify'
620           permit-all: true
621           github-hooks: true
622           github-org: ''
623           github_pr_whitelist:
624             - ''
625           github_pr_admin_list:
626             - ''
627
628 ################
629 # Maven Verify #
630 ################
631
632 - lf_maven_verify: &lf_maven_verify
633     name: lf-maven-verify
634
635     ######################
636     # Default parameters #
637     ######################
638
639     branch: master
640     build-days-to-keep: 7
641     build-timeout: 60
642     git-url: '$GIT_URL/$PROJECT'
643     java-version: openjdk8
644     mvn-global-settings: global-settings
645     mvn-opts: ''
646     mvn-params: '-Dstream=$STREAM'
647     mvn-version: mvn33
648     staging-profile-id: ''  # Unused in this job
649     stream: master
650     submodule-recursive: true
651
652     gerrit_verify_triggers:
653       - patchset-created-event:
654           exclude-drafts: true
655           exclude-trivial-rebase: false
656           exclude-no-code-change: false
657       - draft-published-event
658       - comment-added-contains-event:
659           comment-contains-value: recheck$
660     gerrit_trigger_file_paths:
661       - compare-type: ANT
662         pattern: '**'
663
664     #####################
665     # Job Configuration #
666     #####################
667
668     concurrent: true
669
670     builders:
671       - lf-jacoco-nojava-workaround
672       - lf-maven-install:
673           mvn-version: '{mvn-version}'
674       - lf-provide-maven-settings:
675           global-settings-file: '{mvn-global-settings}'
676           settings-file: '{mvn-settings}'
677       - shell: !include-raw-escape:
678           - ../shell/lftools-install.sh
679           - ../shell/common-variables.sh
680           - ../shell/maven-build.sh
681       - lf-provide-maven-settings-cleanup
682
683     publishers:
684       - findbugs
685       - lf-jacoco-report
686       - lf-infra-publish
687
688 - job-template:
689     name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
690     id: gerrit-maven-verify
691     <<: *lf_maven_common
692     # yamllint disable-line rule:key-duplicates
693     <<: *lf_maven_verify
694
695     scm:
696       - lf-infra-gerrit-scm:
697           jenkins-ssh-credential: '{jenkins-ssh-credential}'
698           git-url: '{git-url}'
699           refspec: '$GERRIT_REFSPEC'
700           branch: '$GERRIT_BRANCH'
701           submodule-recursive: '{submodule-recursive}'
702           choosing-strategy: gerrit
703
704     triggers:
705       - gerrit:
706           server-name: '{gerrit-server-name}'
707           trigger-on: '{obj:gerrit_verify_triggers}'
708           projects:
709             - project-compare-type: ANT
710               project-pattern: '{project}'
711               branches:
712                 - branch-compare-type: ANT
713                   branch-pattern: '**/{branch}'
714               file-paths: '{obj:gerrit_trigger_file_paths}'
715
716 - job-template:
717     name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
718     id: github-maven-verify
719     <<: *lf_maven_common
720     # yamllint disable-line rule:key-duplicates
721     <<: *lf_maven_verify
722
723     properties:
724       - github:
725           url: '{git-url}/{github-org}/{project}'
726
727     scm:
728       - lf-infra-github-scm:
729           url: '{git-clone-url}{github-org}/{project}'
730           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
731           branch: '{branch}'
732           submodule-recursive: '{submodule-recursive}'
733           choosing-strategy: default
734           jenkins-ssh-credential: '{jenkins-ssh-credential}'
735
736     triggers:
737       - lf-infra-github-pr-trigger:
738           trigger-phrase: '^recheck$'
739           only-trigger-phrase: false
740           status-context: 'Maven Verify'
741           permit-all: true
742           github-hooks: true
743           github-org: ''
744           github_pr_whitelist:
745             - ''
746           github_pr_admin_list:
747             - ''
748
749 #############################
750 # Maven Verify Dependencies #
751 #############################
752
753 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
754     name: lf-maven-verify-dependencies
755
756     ######################
757     # Default parameters #
758     ######################
759
760     branch: master
761     build-days-to-keep: 7
762     build-timeout: 60
763     git-url: '$GIT_URL/$PROJECT'
764     java-version: openjdk8
765     mvn-global-settings: global-settings
766     mvn-opts: ''
767     mvn-params: '-Dstream=$STREAM'
768     mvn-version: mvn33
769     staging-profile-id: ''  # Unused by this job
770     stream: master
771     submodule-recursive: true
772
773     gerrit_verify_triggers:
774       - comment-added-contains-event:
775           comment-contains-value: 'recheck: [0-9 ]+'
776     gerrit_trigger_file_paths:
777       - compare-type: ANT
778         pattern: '**'
779
780     #####################
781     # Job Configuration #
782     #####################
783
784     concurrent: true
785
786     builders:
787       - lf-jacoco-nojava-workaround
788       - lf-maven-install:
789           mvn-version: '{mvn-version}'
790       - lf-provide-maven-settings:
791           global-settings-file: '{mvn-global-settings}'
792           settings-file: '{mvn-settings}'
793       - lf-fetch-dependent-patches
794       - shell: !include-raw-escape:
795           - ../shell/common-variables.sh
796           - ../shell/maven-build-deps.sh
797       - shell: !include-raw-escape:
798           - ../shell/common-variables.sh
799           - ../shell/maven-build.sh
800       - lf-provide-maven-settings-cleanup
801
802     publishers:
803       - findbugs
804       - lf-jacoco-report
805       - lf-infra-publish
806
807 - job-template:
808     name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
809     id: gerrit-maven-verify-dependencies
810     <<: *lf_maven_common
811     # yamllint disable-line rule:key-duplicates
812     <<: *lf_maven_verify_dependencies
813
814     scm:
815       - lf-infra-gerrit-scm:
816           jenkins-ssh-credential: '{jenkins-ssh-credential}'
817           git-url: '{git-url}'
818           refspec: '$GERRIT_REFSPEC'
819           branch: '$GERRIT_BRANCH'
820           submodule-recursive: '{submodule-recursive}'
821           choosing-strategy: gerrit
822
823     triggers:
824       - gerrit:
825           server-name: '{gerrit-server-name}'
826           trigger-on: '{obj:gerrit_verify_triggers}'
827           projects:
828             - project-compare-type: ANT
829               project-pattern: '{project}'
830               branches:
831                 - branch-compare-type: ANT
832                   branch-pattern: '**/{branch}'
833               file-paths: '{obj:gerrit_trigger_file_paths}'