Make javadoc-verify jobs run concurrently
[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     concurrent: true
320
321     builders:
322       - lf-maven-install:
323           mvn-version: '{mvn-version}'
324       - lf-provide-maven-settings:
325           global-settings-file: '{mvn-global-settings}'
326           settings-file: '{mvn-settings}'
327       - shell: !include-raw-escape:
328           - ../shell/common-variables.sh
329           - ../shell/maven-javadoc-generate.sh
330       - lf-provide-maven-settings-cleanup
331
332 - job-template:
333     name: '{project-name}-maven-javadoc-verify-{stream}'
334     id: gerrit-maven-javadoc-verify
335     <<: *lf_maven_common
336     # yamllint disable-line rule:key-duplicates
337     <<: *lf_maven_javadoc_verify
338
339     scm:
340       - lf-infra-gerrit-scm:
341           jenkins-ssh-credential: '{jenkins-ssh-credential}'
342           git-url: '{git-url}'
343           refspec: '$GERRIT_REFSPEC'
344           branch: '$GERRIT_BRANCH'
345           submodule-recursive: '{submodule-recursive}'
346           choosing-strategy: gerrit
347
348     triggers:
349       - gerrit:
350           server-name: '{gerrit-server-name}'
351           trigger-on: '{obj:gerrit_verify_triggers}'
352           projects:
353             - project-compare-type: ANT
354               project-pattern: '{project}'
355               branches:
356                 - branch-compare-type: ANT
357                   branch-pattern: '**/{branch}'
358
359 - job-template:
360     name: '{project-name}-maven-javadoc-verify-{stream}'
361     id: github-maven-javadoc-verify
362     <<: *lf_maven_common
363     # yamllint disable-line rule:key-duplicates
364     <<: *lf_maven_javadoc_verify
365
366     properties:
367       - github:
368           url: '{git-url}/{github-org}/{project}'
369
370     scm:
371       - lf-infra-github-scm:
372           url: '{git-clone-url}{github-org}/{project}'
373           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
374           branch: '{branch}'
375           submodule-recursive: '{submodule-recursive}'
376           choosing-strategy: default
377           jenkins-ssh-credential: '{jenkins-ssh-credential}'
378
379     triggers:
380       - lf-infra-github-pr-trigger:
381           trigger-phrase: '^recheck$'
382           only-trigger-phrase: true
383           status-context: 'Maven Javadoc'
384           permit-all: true
385           github-hooks: true
386           github-org: ''
387           github_pr_whitelist:
388             - ''
389           github_pr_admin_list:
390             - ''
391
392 #################
393 # Maven Release #
394 #################
395
396 - lf_maven_release: &lf_maven_release
397     name: lf-maven-release
398
399     ######################
400     # Default parameters #
401     ######################
402
403     branch: master
404     build-days-to-keep: 30  # 30 days in case a release takes long to get approved.
405     build-timeout: 30
406     cron: ''
407     git-url: '$GIT_URL/$PROJECT'
408     java-version: openjdk8
409     mvn-global-settings: global-settings
410     mvn-opts: ''
411     mvn-params: ''
412     mvn-version: mvn33
413     stream: master
414     submodule-recursive: true
415
416     gerrit_release_triggers:
417       - comment-added-contains-event:
418           comment-contains-value: build release$
419
420     #####################
421     # Job Configuration #
422     #####################
423
424     builders:
425       - lf-jacoco-nojava-workaround
426       - lf-maven-install:
427           mvn-version: '{mvn-version}'
428       - lf-provide-maven-settings:
429           global-settings-file: '{mvn-global-settings}'
430           settings-file: '{mvn-settings}'
431       - lf-infra-create-netrc:
432           server-id: '{mvn-staging-id}'
433       - shell: !include-raw-escape:
434           - ../shell/lftools-install.sh
435           - ../shell/common-variables.sh
436           - ../shell/maven-patch-release.sh
437           - ../shell/maven-build.sh
438           - ../shell/maven-stage.sh
439       - lf-provide-maven-settings-cleanup
440
441 - job-template:
442     name: '{project-name}-maven-release-{stream}'
443     id: gerrit-maven-release
444     <<: *lf_maven_common
445     # yamllint disable-line rule:key-duplicates
446     <<: *lf_maven_release
447
448     scm:
449       - lf-infra-gerrit-scm:
450           jenkins-ssh-credential: '{jenkins-ssh-credential}'
451           git-url: '{git-url}'
452           refspec: '$GERRIT_REFSPEC'
453           branch: '$GERRIT_BRANCH'
454           submodule-recursive: '{submodule-recursive}'
455           choosing-strategy: default
456
457     triggers:
458       - timed: '{obj:cron}'
459       - gerrit:
460           server-name: '{gerrit-server-name}'
461           trigger-on: '{obj:gerrit_release_triggers}'
462           projects:
463             - project-compare-type: ANT
464               project-pattern: '{project}'
465               branches:
466                 - branch-compare-type: ANT
467                   branch-pattern: '**/{branch}'
468
469 - job-template:
470     name: '{project-name}-maven-release-{stream}'
471     id: github-maven-release
472     <<: *lf_maven_common
473     # yamllint disable-line rule:key-duplicates
474     <<: *lf_maven_release
475
476     properties:
477       - github:
478           url: '{git-url}/{github-org}/{project}'
479
480     scm:
481       - lf-infra-github-scm:
482           url: '{git-clone-url}{github-org}/{project}'
483           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
484           branch: '{branch}'
485           submodule-recursive: '{submodule-recursive}'
486           choosing-strategy: default
487           jenkins-ssh-credential: '{jenkins-ssh-credential}'
488
489     triggers:
490       - timed: '{obj:cron}'
491       - lf-infra-github-pr-trigger:
492           trigger-phrase: '^build release$'
493           only-trigger-phrase: true
494           status-context: 'Maven Release'
495           permit-all: true
496           github-hooks: true
497           github-org: ''
498           github_pr_whitelist:
499             - ''
500           github_pr_admin_list:
501             - ''
502
503 ###############
504 # Maven Sonar #
505 ###############
506
507 - lf_maven_sonar: &lf_maven_sonar
508     name: lf-maven-sonar
509
510     ######################
511     # Default parameters #
512     ######################
513
514     branch: master  # Sonar should always be run on master branch
515     build-days-to-keep: 7
516     build-timeout: 30
517     git-url: '$GIT_URL/$PROJECT'
518     java-version: openjdk8
519     mvn-global-settings: global-settings
520     mvn-opts: ''
521     mvn-params: ''
522     mvn-version: mvn33
523     staging-profile-id: ''  # Unused in this job
524     stream: master
525     submodule-recursive: true
526
527     gerrit_sonar_triggers:
528       - comment-added-contains-event:
529           comment-contains-value: run-sonar$
530
531     #####################
532     # Job Configuration #
533     #####################
534
535     triggers:
536       - timed: 'H H * * 6'
537       - gerrit:
538           server-name: '{gerrit-server-name}'
539           trigger-on: '{obj:gerrit_sonar_triggers}'
540           projects:
541             - project-compare-type: 'ANT'
542               project-pattern: '{project}'
543               branches:
544                 - branch-compare-type: 'ANT'
545                   branch-pattern: '**/master'
546           skip-vote:
547             successful: true
548             failed: true
549             unstable: true
550             notbuilt: true
551
552     builders:
553       - lf-infra-maven-sonar:
554           mvn-settings: '{mvn-settings}'
555           mvn-version: '{mvn-version}'
556
557     publishers:
558       - lf-jacoco-report
559       - findbugs
560       - lf-infra-publish
561
562 - builder:
563     name: lf-infra-maven-sonar
564     # Run a Sonar build with Maven
565     builders:
566       - lf-maven-install:
567           mvn-version: '{mvn-version}'
568       - inject:
569           # Switch this to the sonar wrapper when JJB 2.0 is available
570           properties-content: |
571               SONAR_HOST_URL=$SONAR_URL
572               SONAR_MAVEN_GOAL=sonar:sonar
573       - lf-provide-maven-settings:
574           global-settings-file: global-settings
575           settings-file: '{mvn-settings}'
576       - shell: !include-raw-escape:
577           - ../shell/common-variables.sh
578           - ../shell/maven-sonar.sh
579       - lf-provide-maven-settings-cleanup
580
581 - job-template:
582     name: '{project-name}-sonar'
583     id: gerrit-maven-sonar
584     <<: *lf_maven_common
585     # yamllint disable-line rule:key-duplicates
586     <<: *lf_maven_sonar
587
588     scm:
589       - lf-infra-gerrit-scm:
590           jenkins-ssh-credential: '{jenkins-ssh-credential}'
591           git-url: '{git-url}'
592           refspec: $GERRIT_REFSPEC
593           branch: $GERRIT_BRANCH
594           submodule-recursive: '{submodule-recursive}'
595           choosing-strategy: default
596
597 - job-template:
598     name: '{project-name}-sonar'
599     id: github-maven-sonar
600     <<: *lf_maven_common
601     # yamllint disable-line rule:key-duplicates
602     <<: *lf_maven_sonar
603
604     properties:
605       - github:
606           url: '{git-url}/{github-org}/{project}'
607
608     scm:
609       - lf-infra-github-scm:
610           url: '{git-clone-url}{github-org}/{project}'
611           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
612           branch: '{branch}'
613           submodule-recursive: '{submodule-recursive}'
614           choosing-strategy: default
615           jenkins-ssh-credential: '{jenkins-ssh-credential}'
616
617     triggers:
618       - lf-infra-github-pr-trigger:
619           trigger-phrase: '^recheck$'
620           only-trigger-phrase: false
621           status-context: 'Maven Verify'
622           permit-all: true
623           github-hooks: true
624           github-org: ''
625           github_pr_whitelist:
626             - ''
627           github_pr_admin_list:
628             - ''
629
630 ################
631 # Maven Verify #
632 ################
633
634 - lf_maven_verify: &lf_maven_verify
635     name: lf-maven-verify
636
637     ######################
638     # Default parameters #
639     ######################
640
641     branch: master
642     build-days-to-keep: 7
643     build-timeout: 60
644     git-url: '$GIT_URL/$PROJECT'
645     java-version: openjdk8
646     mvn-global-settings: global-settings
647     mvn-opts: ''
648     mvn-params: '-Dstream=$STREAM'
649     mvn-version: mvn33
650     staging-profile-id: ''  # Unused in this job
651     stream: master
652     submodule-recursive: true
653
654     gerrit_verify_triggers:
655       - patchset-created-event:
656           exclude-drafts: true
657           exclude-trivial-rebase: false
658           exclude-no-code-change: false
659       - draft-published-event
660       - comment-added-contains-event:
661           comment-contains-value: recheck$
662     gerrit_trigger_file_paths:
663       - compare-type: ANT
664         pattern: '**'
665
666     #####################
667     # Job Configuration #
668     #####################
669
670     concurrent: true
671
672     builders:
673       - lf-jacoco-nojava-workaround
674       - lf-maven-install:
675           mvn-version: '{mvn-version}'
676       - lf-provide-maven-settings:
677           global-settings-file: '{mvn-global-settings}'
678           settings-file: '{mvn-settings}'
679       - shell: !include-raw-escape:
680           - ../shell/lftools-install.sh
681           - ../shell/common-variables.sh
682           - ../shell/maven-build.sh
683       - lf-provide-maven-settings-cleanup
684
685     publishers:
686       - findbugs
687       - lf-jacoco-report
688       - lf-infra-publish
689
690 - job-template:
691     name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
692     id: gerrit-maven-verify
693     <<: *lf_maven_common
694     # yamllint disable-line rule:key-duplicates
695     <<: *lf_maven_verify
696
697     scm:
698       - lf-infra-gerrit-scm:
699           jenkins-ssh-credential: '{jenkins-ssh-credential}'
700           git-url: '{git-url}'
701           refspec: '$GERRIT_REFSPEC'
702           branch: '$GERRIT_BRANCH'
703           submodule-recursive: '{submodule-recursive}'
704           choosing-strategy: gerrit
705
706     triggers:
707       - gerrit:
708           server-name: '{gerrit-server-name}'
709           trigger-on: '{obj:gerrit_verify_triggers}'
710           projects:
711             - project-compare-type: ANT
712               project-pattern: '{project}'
713               branches:
714                 - branch-compare-type: ANT
715                   branch-pattern: '**/{branch}'
716               file-paths: '{obj:gerrit_trigger_file_paths}'
717
718 - job-template:
719     name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
720     id: github-maven-verify
721     <<: *lf_maven_common
722     # yamllint disable-line rule:key-duplicates
723     <<: *lf_maven_verify
724
725     properties:
726       - github:
727           url: '{git-url}/{github-org}/{project}'
728
729     scm:
730       - lf-infra-github-scm:
731           url: '{git-clone-url}{github-org}/{project}'
732           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
733           branch: '{branch}'
734           submodule-recursive: '{submodule-recursive}'
735           choosing-strategy: default
736           jenkins-ssh-credential: '{jenkins-ssh-credential}'
737
738     triggers:
739       - lf-infra-github-pr-trigger:
740           trigger-phrase: '^recheck$'
741           only-trigger-phrase: false
742           status-context: 'Maven Verify'
743           permit-all: true
744           github-hooks: true
745           github-org: ''
746           github_pr_whitelist:
747             - ''
748           github_pr_admin_list:
749             - ''
750
751 #############################
752 # Maven Verify Dependencies #
753 #############################
754
755 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
756     name: lf-maven-verify-dependencies
757
758     ######################
759     # Default parameters #
760     ######################
761
762     branch: master
763     build-days-to-keep: 7
764     build-timeout: 60
765     git-url: '$GIT_URL/$PROJECT'
766     java-version: openjdk8
767     mvn-global-settings: global-settings
768     mvn-opts: ''
769     mvn-params: '-Dstream=$STREAM'
770     mvn-version: mvn33
771     staging-profile-id: ''  # Unused by this job
772     stream: master
773     submodule-recursive: true
774
775     gerrit_verify_triggers:
776       - comment-added-contains-event:
777           comment-contains-value: 'recheck: [0-9 ]+'
778     gerrit_trigger_file_paths:
779       - compare-type: ANT
780         pattern: '**'
781
782     #####################
783     # Job Configuration #
784     #####################
785
786     concurrent: true
787
788     builders:
789       - lf-jacoco-nojava-workaround
790       - lf-maven-install:
791           mvn-version: '{mvn-version}'
792       - lf-provide-maven-settings:
793           global-settings-file: '{mvn-global-settings}'
794           settings-file: '{mvn-settings}'
795       - lf-fetch-dependent-patches
796       - shell: !include-raw-escape:
797           - ../shell/common-variables.sh
798           - ../shell/maven-build-deps.sh
799       - shell: !include-raw-escape:
800           - ../shell/common-variables.sh
801           - ../shell/maven-build.sh
802       - lf-provide-maven-settings-cleanup
803
804     publishers:
805       - findbugs
806       - lf-jacoco-report
807       - lf-infra-publish
808
809 - job-template:
810     name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
811     id: gerrit-maven-verify-dependencies
812     <<: *lf_maven_common
813     # yamllint disable-line rule:key-duplicates
814     <<: *lf_maven_verify_dependencies
815
816     scm:
817       - lf-infra-gerrit-scm:
818           jenkins-ssh-credential: '{jenkins-ssh-credential}'
819           git-url: '{git-url}'
820           refspec: '$GERRIT_REFSPEC'
821           branch: '$GERRIT_BRANCH'
822           submodule-recursive: '{submodule-recursive}'
823           choosing-strategy: gerrit
824
825     triggers:
826       - gerrit:
827           server-name: '{gerrit-server-name}'
828           trigger-on: '{obj:gerrit_verify_triggers}'
829           projects:
830             - project-compare-type: ANT
831               project-pattern: '{project}'
832               branches:
833                 - branch-compare-type: ANT
834                   branch-pattern: '**/{branch}'
835               file-paths: '{obj:gerrit_trigger_file_paths}'