Merge "Remove Sonar job for validation scripts"
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template:
3     # Job template for Java verify jobs
4     #
5     # The purpose of this job template is to run:
6     # 1. maven clean install -DskipTests=true
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10
11     name: '{project-name}-{stream}-verify-java-skip-tests'
12
13     project-type: freestyle
14     concurrent: true
15     node: '{build-node}'
16
17     properties:
18       - infra-properties:
19           build-days-to-keep: '{build-days-to-keep}'
20
21     parameters:
22       - infra-parameters:
23           project: '{project}'
24           branch: '{branch}'
25           refspec: 'refs/heads/{branch}'
26           artifacts: '{archive-artifacts}'
27       - maven-exec:
28           maven-version: '{maven-version}'
29
30     scm:
31       - gerrit-trigger-scm:
32           refspec: '$GERRIT_REFSPEC'
33           choosing-strategy: 'gerrit'
34           submodule-recursive: '{submodule-recursive}'
35
36     wrappers:
37       - infra-wrappers:
38           build-timeout: '{build-timeout}'
39
40     triggers:
41       - gerrit-trigger-patch-submitted:
42           server: '{server-name}'
43           project: '{project}'
44           branch: '{branch}'
45           files: '**'
46
47     builders:
48       - provide-maven-settings:
49           global-settings-file: 'global-settings'
50           settings-file: '{mvn-settings}'
51       - maven-target:
52           maven-version: '{maven-version}'
53           goals: 'clean install -DskipTests=true -B
54             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
55           settings: '{mvn-settings}'
56           settings-type: cfp
57           global-settings: 'global-settings'
58           global-settings-type: cfp
59           maven-opts:
60             - maven.test.skip=true
61
62     publishers:
63       - infra-shiplogs:
64           maven-version: '{maven-version}'
65
66 - job-template:
67     # Job template for Java verify jobs
68     #
69     # The purpose of this job template is to run:
70     # 1. maven clean install
71     #
72     # Required Variables:
73     #     branch:    git branch (eg. stable/lithium or master)
74
75     name: '{project-name}-{stream}-verify-java'
76
77     project-type: freestyle
78     concurrent: true
79     node: '{build-node}'
80
81     properties:
82       - infra-properties:
83           build-days-to-keep: '{build-days-to-keep}'
84
85     parameters:
86       - infra-parameters:
87           project: '{project}'
88           branch: '{branch}'
89           refspec: 'refs/heads/{branch}'
90           artifacts: '{archive-artifacts}'
91       - maven-exec:
92           maven-version: '{maven-version}'
93       - maven-params:
94           mvn-params: '{mvn-params}'
95
96     scm:
97       - gerrit-trigger-scm:
98           refspec: '$GERRIT_REFSPEC'
99           choosing-strategy: 'gerrit'
100           submodule-recursive: '{submodule-recursive}'
101
102     wrappers:
103       - infra-wrappers:
104           build-timeout: '{build-timeout}'
105
106     triggers:
107       - gerrit-trigger-patch-submitted:
108           server: '{server-name}'
109           project: '{project}'
110           branch: '{branch}'
111           files: '**'
112
113     builders:
114       - provide-maven-settings:
115           global-settings-file: 'global-settings'
116           settings-file: '{mvn-settings}'
117       - maven-target:
118           maven-version: '{maven-version}'
119           goals: 'clean install -B
120             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
121           settings: '{mvn-settings}'
122           settings-type: cfp
123           global-settings: 'global-settings'
124           global-settings-type: cfp
125
126     publishers:
127       - infra-shiplogs:
128           maven-version: '{maven-version}'
129
130 - job-template:
131     # Job template for Java verify jobs running checkstyle at the end
132     # When checkstyle will be fully incorporated, it is meant to replace
133     #  '{project-name}-{stream}-verify-java-checkstyle'
134     #
135     # The purpose of this job template is to run:
136     # 1. maven clean install
137     #
138     # This job publishes checkstyle results.
139     #
140     # Required Variables:
141     #     branch:    git branch (eg. stable/lithium or master)
142
143     name: '{project-name}-{stream}-verify-java-checkstyle'
144     project-type: freestyle
145     concurrent: true
146     node: '{build-node}'
147     properties:
148       - infra-properties:
149           build-days-to-keep: '{build-days-to-keep}'
150     parameters:
151       - infra-parameters:
152           project: '{project}'
153           branch: '{branch}'
154           refspec: 'refs/heads/{branch}'
155           artifacts: '{archive-artifacts}'
156       - maven-exec:
157           maven-version: '{maven-version}'
158       - maven-params:
159           mvn-params: '{mvn-params}'
160     scm:
161       - gerrit-trigger-scm:
162           refspec: '$GERRIT_REFSPEC'
163           choosing-strategy: 'gerrit'
164           submodule-recursive: '{submodule-recursive}'
165     wrappers:
166       - infra-wrappers:
167           build-timeout: '{build-timeout}'
168     triggers:
169       - gerrit-trigger-patch-submitted:
170           server: '{server-name}'
171           project: '{project}'
172           branch: '{branch}'
173           files: '**'
174     builders:
175       - provide-maven-settings:
176           global-settings-file: 'global-settings'
177           settings-file: '{mvn-settings}'
178       - maven-target:
179           maven-version: '{maven-version}'
180           goals: 'clean install -B
181             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
182           settings: '{mvn-settings}'
183           settings-type: cfp
184           global-settings: 'global-settings'
185           global-settings-type: cfp
186     publishers:
187       - infra-shiplogs:
188           maven-version: '{maven-version}'
189       - checkstyle-result
190
191 - job-template:
192     # Job template for Java verify jobs that takes a maven template
193     #
194     # The purpose of this job template is to run:
195     # 1. maven clean install -P {mvn-profile}
196     #
197     # Required Variables:
198     #     branch:    git branch (eg. stable/lithium or master)
199
200     name: '{project-name}-{stream}-verify-profile-java'
201
202     project-type: freestyle
203     concurrent: true
204     node: '{build-node}'
205
206     properties:
207       - infra-properties:
208           build-days-to-keep: '{build-days-to-keep}'
209
210     parameters:
211       - infra-parameters:
212           project: '{project}'
213           branch: '{branch}'
214           refspec: 'refs/heads/{branch}'
215           artifacts: '{archive-artifacts}'
216       - maven-exec:
217           maven-version: '{maven-version}'
218
219     scm:
220       - gerrit-trigger-scm:
221           refspec: '$GERRIT_REFSPEC'
222           choosing-strategy: 'gerrit'
223           submodule-recursive: '{submodule-recursive}'
224
225     wrappers:
226       - infra-wrappers:
227           build-timeout: '{build-timeout}'
228
229     triggers:
230       - gerrit-trigger-patch-submitted:
231           server: '{server-name}'
232           project: '{project}'
233           branch: '{branch}'
234           files: '{files}'
235
236     builders:
237       - provide-maven-settings:
238           global-settings-file: 'global-settings'
239           settings-file: '{mvn-settings}'
240       - maven-target:
241           maven-version: '{maven-version}'
242           goals: 'clean install -P {mvn-profile} -B
243             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
244           settings: '{mvn-settings}'
245           settings-type: cfp
246           global-settings: 'global-settings'
247           global-settings-type: cfp
248
249     publishers:
250       - infra-shiplogs:
251           maven-version: '{maven-version}'
252
253 - job-template:
254     # Job template for Java verify jobs with POM not at the root
255     #
256     # The purpose of this job template is to run:
257     # 1. maven clean install
258     #
259     # This job supports subprojects.
260     #
261     # Required Variables:
262     #     branch:    git branch (eg. stable/lithium or master)
263     #     pom:       name/location of the pom.xml file relative to the workspace
264     #     pattern:   ant file-path pattern relative to the workspace used to
265     #                trigger the job
266
267     name: '{project-name}-{stream}-{subproject}-verify-java'
268
269     project-type: freestyle
270     concurrent: true
271     node: '{build-node}'
272
273     properties:
274       - infra-properties:
275           build-days-to-keep: '{build-days-to-keep}'
276
277     parameters:
278       - infra-parameters:
279           project: '{project}'
280           branch: '{branch}'
281           refspec: 'refs/heads/{branch}'
282           artifacts: '{archive-artifacts}'
283       - maven-exec:
284           maven-version: '{maven-version}'
285
286     scm:
287       - gerrit-trigger-scm:
288           refspec: '$GERRIT_REFSPEC'
289           choosing-strategy: 'gerrit'
290           submodule-recursive: '{submodule-recursive}'
291
292     wrappers:
293       - infra-wrappers:
294           build-timeout: '{build-timeout}'
295
296     triggers:
297       - gerrit-trigger-patch-submitted:
298           server: '{server-name}'
299           project: '{project}'
300           branch: '{branch}'
301           files: '{pattern}'
302
303     builders:
304       - provide-maven-settings:
305           global-settings-file: 'global-settings'
306           settings-file: '{mvn-settings}'
307       - maven-target:
308           maven-version: '{maven-version}'
309           pom: '{pom}'
310           goals: 'clean install -B
311             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
312           settings: '{mvn-settings}'
313           settings-type: cfp
314           global-settings: 'global-settings'
315           global-settings-type: cfp
316
317     publishers:
318       - infra-shiplogs:
319           maven-version: '{maven-version}'
320
321 - job-template:
322     # Job template for Java daily release jobs
323     #
324     # The purpose of this job template is to run:
325     # 1. maven clean deploy with Sonar scans
326     #
327     # Required Variables:
328     #     branch:    git branch (eg. stable/lithium or master)
329
330     name: '{project-name}-{stream}-release-java-daily'
331
332     project-type: freestyle
333     node: '{build-node}'
334     disabled: '{disabled}'
335     maven-deploy-properties:
336     properties:
337       - infra-properties:
338           build-days-to-keep: '{build-days-to-keep}'
339
340     parameters:
341       - infra-parameters:
342           project: '{project}'
343           branch: '{branch}'
344           refspec: 'refs/heads/{branch}'
345           artifacts: '{archive-artifacts}'
346       - maven-exec:
347           maven-version: '{maven-version}'
348
349     scm:
350       - gerrit-trigger-scm:
351           refspec: ''
352           choosing-strategy: 'default'
353           submodule-recursive: '{submodule-recursive}'
354
355     wrappers:
356       - infra-wrappers:
357           build-timeout: '{build-timeout}'
358
359     triggers:
360       # 11 AM UTC
361       - timed: 'H 11 * * *'
362       - gerrit-trigger-release-manually:
363           server: '{server-name}'
364           project: '{project}'
365           branch: '{branch}'
366
367     builders:
368       - provide-maven-settings:
369           global-settings-file: 'global-settings'
370           settings-file: '{mvn-settings}'
371
372       - maven-target:
373           maven-version: '{maven-version}'
374           goals: 'clean deploy -B
375             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
376           properties:
377             - '{maven-deploy-properties}'
378           java-opts:
379             - '-Xmx4096m -XX:MaxPermSize=512m'
380           settings: '{mvn-settings}'
381           settings-type: cfp
382           global-settings: 'global-settings'
383           global-settings-type: cfp
384
385     publishers:
386       - infra-shiplogs:
387           maven-version: '{maven-version}'
388
389 - job-template:
390     # Job template for Java daily release jobs running checkstyle at the end
391     # When checkstyle will be fully incorporated, it is meant to replace
392     #  '{project-name}-{stream}-release-java-daily'
393     #
394     # The purpose of this job template is to run:
395     # 1. maven clean deploy with Sonar scans
396     #
397     # This job publishes checkstyle results.
398     # This job uses a conditional regex match step to set versions.
399     #
400     # Required Variables:
401     #     branch:    git branch (eg. stable/lithium or master)
402
403     name: '{project-name}-{stream}-release-java-daily-checkstyle'
404     project-type: freestyle
405     node: '{build-node}'
406     disabled: '{disabled}'
407     maven-deploy-properties:
408     properties:
409       - infra-properties:
410           build-days-to-keep: '{build-days-to-keep}'
411     parameters:
412       - infra-parameters:
413           project: '{project}'
414           branch: '{branch}'
415           refspec: 'refs/heads/{branch}'
416           artifacts: '{archive-artifacts}'
417       - maven-exec:
418           maven-version: '{maven-version}'
419     scm:
420       - gerrit-trigger-scm:
421           refspec: ''
422           choosing-strategy: 'default'
423           submodule-recursive: '{submodule-recursive}'
424     wrappers:
425       - infra-wrappers:
426           build-timeout: '{build-timeout}'
427     triggers:
428       # 11 AM UTC
429       - timed: 'H 11 * * *'
430       - gerrit-trigger-release-manually:
431           server: '{server-name}'
432           project: '{project}'
433           branch: '{branch}'
434     builders:
435       - provide-maven-settings:
436           global-settings-file: 'global-settings'
437           settings-file: '{mvn-settings}'
438       - conditional-step:
439           condition-kind: regex-match
440           regex: DoSetVersion
441           label: '{setVersion}'
442           steps:
443             - inject:
444                 properties-file: version.properties
445             - maven-target:
446                 maven-version: '{maven-version}'
447                 goals: 'versions:set versions:update-child-modules versions:commit -B'
448                 properties:
449                   - 'newVersion=${{release_version}}'
450                 settings: '{mvn-settings}'
451                 settings-type: cfp
452                 global-settings: 'global-settings'
453                 global-settings-type: cfp
454       - maven-target:
455           maven-version: '{maven-version}'
456           goals: 'clean deploy -B
457             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
458           properties: '{obj:mvn_properties}'
459           settings: '{mvn-settings}'
460           settings-type: cfp
461           global-settings: 'global-settings'
462           global-settings-type: cfp
463     publishers:
464       - infra-shiplogs:
465           maven-version: '{maven-version}'
466       - checkstyle-result-daily
467
468 - job-template:
469     # Job template for Java daily release jobs
470     #
471     # The purpose of this job template is to run:
472     # 1. maven set versions
473     # 2. maven clean deploy with Sonar scans
474     #
475     # Required Variables:
476     #     branch:    git branch (eg. stable/lithium or master)
477
478     name: '{project-name}-{stream}-release-version-java-daily'
479
480     project-type: freestyle
481     disabled: '{disabled}'
482     node: '{build-node}'
483     maven-deploy-properties:
484     properties:
485       - infra-properties:
486           build-days-to-keep: '{build-days-to-keep}'
487
488     parameters:
489       - infra-parameters:
490           project: '{project}'
491           branch: '{branch}'
492           refspec: 'refs/heads/{branch}'
493           artifacts: '{archive-artifacts}'
494       - maven-exec:
495           maven-version: '{maven-version}'
496
497     scm:
498       - gerrit-trigger-scm:
499           refspec: ''
500           choosing-strategy: 'default'
501           submodule-recursive: '{submodule-recursive}'
502
503     wrappers:
504       - infra-wrappers:
505           build-timeout: '{build-timeout}'
506
507     triggers:
508       # 11 AM UTC
509       - timed: 'H H(10-17) * * *'
510       - gerrit-trigger-release-manually:
511           server: '{server-name}'
512           project: '{project}'
513           branch: '{branch}'
514
515     builders:
516       - provide-maven-settings:
517           global-settings-file: 'global-settings'
518           settings-file: '{mvn-settings}'
519
520       - inject:
521           properties-file: version.properties
522       - maven-target:
523           maven-version: '{maven-version}'
524           goals: 'versions:set versions:update-child-modules versions:commit -B'
525           properties:
526             - 'newVersion=${{release_version}}'
527           settings: '{mvn-settings}'
528           settings-type: cfp
529           global-settings: 'global-settings'
530           global-settings-type: cfp
531
532       - maven-target:
533           maven-version: '{maven-version}'
534           goals: 'clean deploy -B
535             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
536           properties:
537             - '{maven-deploy-properties}'
538           settings: '{mvn-settings}'
539           settings-type: cfp
540           global-settings: 'global-settings'
541           global-settings-type: cfp
542
543     publishers:
544       - infra-shiplogs:
545           maven-version: '{maven-version}'
546
547 - job-template:
548     # Job template for Java daily release jobs
549     #
550     # The purpose of this job template is to run:
551     # 1. maven set versions
552     # 2. maven clean deploy -P {mvn-profile} with Sonar scans
553     #
554     # Required Variables:
555     #     branch:    git branch (eg. stable/lithium or master)
556
557     name: '{project-name}-{stream}-release-version-profile-java-daily'
558
559     project-type: freestyle
560     node: '{build-node}'
561     disabled: '{disabled}'
562     maven-deploy-properties:
563     properties:
564       - infra-properties:
565           build-days-to-keep: '{build-days-to-keep}'
566
567     parameters:
568       - infra-parameters:
569           project: '{project}'
570           branch: '{branch}'
571           refspec: 'refs/heads/{branch}'
572           artifacts: '{archive-artifacts}'
573       - maven-exec:
574           maven-version: '{maven-version}'
575
576     scm:
577       - gerrit-trigger-scm:
578           refspec: ''
579           choosing-strategy: 'default'
580           submodule-recursive: '{submodule-recursive}'
581
582     wrappers:
583       - infra-wrappers:
584           build-timeout: '{build-timeout}'
585
586     triggers:
587       # 11 AM UTC
588       - timed: 'H 11 * * *'
589       - gerrit-trigger-release-manually:
590           server: '{server-name}'
591           project: '{project}'
592           branch: '{branch}'
593
594     builders:
595       - provide-maven-settings:
596           global-settings-file: 'global-settings'
597           settings-file: '{mvn-settings}'
598
599       - inject:
600           properties-file: version.properties
601       - maven-target:
602           maven-version: '{maven-version}'
603           goals: 'versions:set versions:update-child-modules versions:commit -B'
604           properties:
605             - 'newVersion=${{release_version}}'
606           settings: '{mvn-settings}'
607           settings-type: cfp
608           global-settings: 'global-settings'
609           global-settings-type: cfp
610
611       - maven-target:
612           maven-version: '{maven-version}'
613           goals: 'clean deploy -P {mvn-profile} -B
614             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
615           properties:
616             - '{maven-deploy-properties}'
617           settings: '{mvn-settings}'
618           settings-type: cfp
619           global-settings: 'global-settings'
620           global-settings-type: cfp
621
622     publishers:
623       - infra-shiplogs:
624           maven-version: '{maven-version}'
625
626
627 - job-template:
628     # Job template for Java daily release jobs with POM not at the root
629     #
630     # The purpose of this job template is to run:
631     # 1. maven clean deploy with Sonar scans
632     #
633     # This job supports subprojects.
634     #
635     # Required Variables:
636     #     branch:    git branch (eg. stable/lithium or master)
637     #     pom:       name/location of the pom.xml file relative to the workspace
638
639     name: '{project-name}-{stream}-{subproject}-release-java-daily'
640
641     project-type: freestyle
642     node: '{build-node}'
643     disabled: '{disabled}'
644     maven-deploy-properties:
645     properties:
646       - infra-properties:
647           build-days-to-keep: '{build-days-to-keep}'
648
649     parameters:
650       - infra-parameters:
651           project: '{project}'
652           branch: '{branch}'
653           refspec: 'refs/heads/{branch}'
654           artifacts: '{archive-artifacts}'
655       - maven-exec:
656           maven-version: '{maven-version}'
657
658     scm:
659       - gerrit-trigger-scm:
660           refspec: ''
661           choosing-strategy: 'default'
662           submodule-recursive: '{submodule-recursive}'
663
664     wrappers:
665       - infra-wrappers:
666           build-timeout: '{build-timeout}'
667
668     triggers:
669       # 11 AM UTC
670       - timed: 'H 11 * * *'
671       - gerrit-trigger-release-manually:
672           server: '{server-name}'
673           project: '{project}'
674           branch: '{branch}'
675
676     builders:
677       - provide-maven-settings:
678           global-settings-file: 'global-settings'
679           settings-file: '{mvn-settings}'
680
681       - maven-target:
682           maven-version: '{maven-version}'
683           pom: '{pom}'
684           goals: 'clean deploy -B
685             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
686           properties:
687             - '{maven-deploy-properties}'
688           java-opts:
689             - '-Xmx4096m -XX:MaxPermSize=512m'
690           settings: '{mvn-settings}'
691           settings-type: cfp
692           global-settings: 'global-settings'
693           global-settings-type: cfp
694
695     publishers:
696       - infra-shiplogs:
697           maven-version: '{maven-version}'
698
699 - job-template:
700     # Job template for Java daily release jobs with POM not at the root
701     #
702     # The purpose of this job template is to run:
703     # 1. maven set versions
704     # 2. maven clean deploy with Sonar scans
705     #
706     # This job supports subprojects.
707     #
708     # Required Variables:
709     #     branch:    git branch (eg. stable/lithium or master)
710     #     pom:       name/location of the pom.xml file relative to the workspace
711
712     name: '{project-name}-{stream}-{subproject}-release-version-java-daily'
713
714     project-type: freestyle
715     node: '{build-node}'
716     disabled: '{disabled}'
717     maven-deploy-properties:
718     properties:
719       - infra-properties:
720           build-days-to-keep: '{build-days-to-keep}'
721
722     parameters:
723       - infra-parameters:
724           project: '{project}'
725           branch: '{branch}'
726           refspec: 'refs/heads/{branch}'
727           artifacts: '{archive-artifacts}'
728       - maven-exec:
729           maven-version: '{maven-version}'
730
731     scm:
732       - gerrit-trigger-scm:
733           refspec: ''
734           choosing-strategy: 'default'
735           submodule-recursive: '{submodule-recursive}'
736
737     wrappers:
738       - infra-wrappers:
739           build-timeout: '{build-timeout}'
740
741     triggers:
742       # 11 AM UTC
743       - timed: 'H 11 * * *'
744       - gerrit-trigger-release-manually:
745           server: '{server-name}'
746           project: '{project}'
747           branch: '{branch}'
748
749     builders:
750       - provide-maven-settings:
751           global-settings-file: 'global-settings'
752           settings-file: '{mvn-settings}'
753
754       - inject:
755           properties-file: version.properties
756       - maven-target:
757           maven-version: '{maven-version}'
758           pom: '{pom}'
759           goals: 'versions:set versions:update-child-modules versions:commit -B'
760           properties:
761             - 'newVersion=${{release_version}}'
762           settings: '{mvn-settings}'
763           settings-type: cfp
764           global-settings: 'global-settings'
765           global-settings-type: cfp
766
767       - maven-target:
768           maven-version: '{maven-version}'
769           pom: '{pom}'
770           goals: 'clean deploy -B
771             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
772           properties:
773             - '{maven-deploy-properties}'
774           settings: '{mvn-settings}'
775           settings-type: cfp
776           global-settings: 'global-settings'
777           global-settings-type: cfp
778
779     publishers:
780       - infra-shiplogs:
781           maven-version: '{maven-version}'
782
783 - job-template:
784     # Job template for Java daily release jobs with POM not at the root
785     #
786     # The purpose of this job template is to run:
787     # 1. maven set versions
788     # 2. maven clean deploy with Sonar scans
789     #
790     # This job supports subprojects.
791     #
792     # Required Variables:
793     #     branch:    git branch (eg. stable/lithium or master)
794     #     pom:       name/location of the pom.xml file relative to the workspace
795
796     name: '{project-name}-{stream}-{subproject}-release-version-java-shell-daily'
797
798     project-type: freestyle
799     node: '{build-node}'
800     disabled: '{disabled}'
801     maven-deploy-properties:
802     properties:
803       - infra-properties:
804           build-days-to-keep: '{build-days-to-keep}'
805
806     parameters:
807       - infra-parameters:
808           project: '{project}'
809           branch: '{branch}'
810           refspec: 'refs/heads/{branch}'
811           artifacts: '{archive-artifacts}'
812       - maven-exec:
813           maven-version: '{maven-version}'
814
815     scm:
816       - gerrit-trigger-scm:
817           refspec: ''
818           choosing-strategy: 'default'
819           submodule-recursive: '{submodule-recursive}'
820
821     wrappers:
822       - infra-wrappers:
823           build-timeout: '{build-timeout}'
824
825     triggers:
826       # 11 AM UTC
827       - timed: 'H 11 * * *'
828       - gerrit-trigger-release-manually:
829           server: '{server-name}'
830           project: '{project}'
831           branch: '{branch}'
832
833     builders:
834       - provide-maven-settings:
835           global-settings-file: 'global-settings'
836           settings-file: '{mvn-settings}'
837
838       - inject:
839           properties-file: version.properties
840       - maven-target:
841           maven-version: '{maven-version}'
842           pom: '{pom}'
843           goals: 'versions:set versions:update-child-modules versions:commit -B'
844           properties:
845             - 'newVersion=${{release_version}}'
846           settings: '{mvn-settings}'
847           settings-type: cfp
848           global-settings: 'global-settings'
849           global-settings-type: cfp
850
851       - shell: '{script}'
852
853       - maven-target:
854           maven-version: '{maven-version}'
855           pom: '{pom}'
856           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
857             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
858           properties:
859             - '{maven-deploy-properties}'
860           settings: '{mvn-settings}'
861           settings-type: cfp
862           global-settings: 'global-settings'
863           global-settings-type: cfp
864
865     publishers:
866       - infra-shiplogs:
867           maven-version: '{maven-version}'
868
869 - job-template:
870     # Job template for Java merge jobs
871     #
872     # The purpose of this job template is to run:
873     # 1. maven clean deploy
874     #
875     # Required Variables:
876     #     branch:    git branch (eg. stable/lithium or master)
877
878     name: '{project-name}-{stream}-merge-java'
879
880     project-type: freestyle
881     node: '{build-node}'
882
883     properties:
884       - infra-properties:
885           build-days-to-keep: '{build-days-to-keep}'
886
887     parameters:
888       - infra-parameters:
889           project: '{project}'
890           branch: '{branch}'
891           refspec: 'refs/heads/{branch}'
892           artifacts: '{archive-artifacts}'
893       - maven-exec:
894           maven-version: '{maven-version}'
895
896     scm:
897       - gerrit-trigger-scm:
898           refspec: ''
899           choosing-strategy: 'default'
900           submodule-recursive: '{submodule-recursive}'
901
902     wrappers:
903       - infra-wrappers:
904           build-timeout: '{build-timeout}'
905
906     triggers:
907       - gerrit-trigger-patch-merged:
908           server: '{server-name}'
909           project: '{project}'
910           branch: '{branch}'
911           files: '**'
912
913     builders:
914       - provide-maven-settings:
915           global-settings-file: 'global-settings'
916           settings-file: '{mvn-settings}'
917       - maven-target:
918           maven-version: '{maven-version}'
919           goals: 'clean deploy -B
920             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
921           settings: '{mvn-settings}'
922           settings-type: cfp
923           global-settings: 'global-settings'
924           global-settings-type: cfp
925
926     publishers:
927       - infra-shiplogs:
928           maven-version: '{maven-version}'
929
930 - job-template:
931     # Job template for Java merge jobs based on
932     #   '{project-name}-{stream}-merge-java'
933     # The purpose of this job template is to run:
934     # 1. maven clean deploy
935     #
936     # This project supports maven properties.
937     #
938     # Required Variables:
939     #     branch:    git branch (eg. stable/lithium or master)
940     #     maven-properties: properties passed to maven
941
942     name: '{project-name}-{stream}-merge-properties-java'
943
944     project-type: freestyle
945     node: '{build-node}'
946
947     properties:
948       - infra-properties:
949           build-days-to-keep: '{build-days-to-keep}'
950
951     parameters:
952       - infra-parameters:
953           project: '{project}'
954           branch: '{branch}'
955           refspec: 'refs/heads/{branch}'
956           artifacts: '{archive-artifacts}'
957       - maven-exec:
958           maven-version: '{maven-version}'
959
960     scm:
961       - gerrit-trigger-scm:
962           refspec: ''
963           choosing-strategy: 'default'
964           submodule-recursive: '{submodule-recursive}'
965
966     wrappers:
967       - infra-wrappers:
968           build-timeout: '{build-timeout}'
969
970     triggers:
971       - gerrit-trigger-patch-merged:
972           server: '{server-name}'
973           project: '{project}'
974           branch: '{branch}'
975           files: '**'
976
977     builders:
978       - provide-maven-settings:
979           global-settings-file: 'global-settings'
980           settings-file: '{mvn-settings}'
981       - maven-target:
982           maven-version: '{maven-version}'
983           goals: 'clean deploy -B
984             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
985           settings: '{mvn-settings}'
986           settings-type: cfp
987           global-settings: 'global-settings'
988           global-settings-type: cfp
989           properties: '{obj:mvn_properties}'
990
991     publishers:
992       - infra-shiplogs:
993           maven-version: '{maven-version}'
994
995 - job-template:
996     # Job template for Java merge jobs that takes a maven template
997     #
998     # The purpose of this job template is to run:
999     # 1. maven clean deploy -P {mvn-profile}
1000     #
1001     # Required Variables:
1002     #     branch:    git branch (eg. stable/lithium or master)
1003
1004     name: '{project-name}-{stream}-merge-profile-java'
1005
1006     project-type: freestyle
1007     node: '{build-node}'
1008
1009     properties:
1010       - infra-properties:
1011           build-days-to-keep: '{build-days-to-keep}'
1012
1013     parameters:
1014       - infra-parameters:
1015           project: '{project}'
1016           branch: '{branch}'
1017           refspec: 'refs/heads/{branch}'
1018           artifacts: '{archive-artifacts}'
1019       - maven-exec:
1020           maven-version: '{maven-version}'
1021
1022     scm:
1023       - gerrit-trigger-scm:
1024           refspec: ''
1025           choosing-strategy: 'default'
1026           submodule-recursive: '{submodule-recursive}'
1027
1028     wrappers:
1029       - infra-wrappers:
1030           build-timeout: '{build-timeout}'
1031
1032     triggers:
1033       - gerrit-trigger-patch-merged:
1034           server: '{server-name}'
1035           project: '{project}'
1036           branch: '{branch}'
1037           files: '{files}'
1038
1039     builders:
1040       - provide-maven-settings:
1041           global-settings-file: 'global-settings'
1042           settings-file: '{mvn-settings}'
1043
1044       - docker-login
1045
1046       - maven-target:
1047           maven-version: '{maven-version}'
1048           goals: 'clean deploy -P {mvn-profile} -B
1049             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1050           settings: '{mvn-settings}'
1051           settings-type: cfp
1052           global-settings: 'global-settings'
1053           global-settings-type: cfp
1054           properties:
1055             - docker.pull.registry=nexus3.onap.org:10001
1056             - docker.push.registry=nexus3.onap.org:10003
1057
1058     publishers:
1059       - infra-shiplogs:
1060           maven-version: '{maven-version}'
1061
1062 - job-template:
1063     # Job template for Java merge jobs that should also be triggered by upstream
1064     # merges
1065     #
1066     # Required Variables:
1067     #   stream:         release stream
1068     #   branch:         git branch
1069     #   dependencies:   fully qualified upstream job name to trigger on
1070     #                   this may be ''
1071
1072     name: '{project-name}-{stream}-downstream-merge-java'
1073
1074     project-type: freestyle
1075     node: '{build-node}'
1076
1077     properties:
1078       - infra-properties:
1079           build-days-to-keep: '{build-days-to-keep}'
1080
1081     parameters:
1082       - infra-parameters:
1083           project: '{project}'
1084           branch: '{branch}'
1085           refspec: 'refs/heads/{branch}'
1086           artifacts: '{archive-artifacts}'
1087       - maven-exec:
1088           maven-version: '{maven-version}'
1089
1090     scm:
1091       - gerrit-trigger-scm:
1092           refspec: ''
1093           choosing-strategy: 'default'
1094           submodule-recursive: '{submodule-recursive}'
1095
1096     wrappers:
1097       - infra-wrappers:
1098           build-timeout: '{build-timeout}'
1099
1100     triggers:
1101       - reverse:
1102           jobs: '{dependencies}'
1103           result: 'success'
1104       - gerrit-trigger-patch-merged:
1105           server: '{server-name}'
1106           project: '{project}'
1107           branch: '{branch}'
1108           files: '**'
1109
1110     builders:
1111       - provide-maven-settings:
1112           global-settings-file: 'global-settings'
1113           settings-file: '{mvn-settings}'
1114       - maven-target:
1115           maven-version: '{maven-version}'
1116           goals: 'clean deploy -B
1117             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1118           settings: '{mvn-settings}'
1119           settings-type: cfp
1120           global-settings: 'global-settings'
1121           global-settings-type: cfp
1122
1123     publishers:
1124       - infra-shiplogs:
1125           maven-version: '{maven-version}'
1126
1127 - job-template:
1128     # Job template for Java merge jobs with POM not at the root
1129     #
1130     # The purpose of this job template is to run:
1131     # 1. maven clean deploy
1132     #
1133     # This job supports subprojects.
1134     #
1135     # Required Variables:
1136     #     branch:    git branch (eg. stable/lithium or master)
1137     #     pom:       name/location of the pom.xml file relative to the workspace
1138     #     pattern:   ant file-path pattern relative to the workspace used to
1139     #                trigger the job
1140
1141     name: '{project-name}-{stream}-{subproject}-merge-java'
1142
1143     project-type: freestyle
1144     node: '{build-node}'
1145
1146     properties:
1147       - infra-properties:
1148           build-days-to-keep: '{build-days-to-keep}'
1149
1150     parameters:
1151       - infra-parameters:
1152           project: '{project}'
1153           branch: '{branch}'
1154           refspec: 'refs/heads/{branch}'
1155           artifacts: '{archive-artifacts}'
1156       - maven-exec:
1157           maven-version: '{maven-version}'
1158
1159     scm:
1160       - gerrit-trigger-scm:
1161           refspec: ''
1162           choosing-strategy: 'default'
1163           submodule-recursive: '{submodule-recursive}'
1164
1165     wrappers:
1166       - infra-wrappers:
1167           build-timeout: '{build-timeout}'
1168
1169     triggers:
1170       - gerrit-trigger-patch-merged:
1171           server: '{server-name}'
1172           project: '{project}'
1173           branch: '{branch}'
1174           files: '{pattern}'
1175
1176     builders:
1177       - provide-maven-settings:
1178           global-settings-file: 'global-settings'
1179           settings-file: '{mvn-settings}'
1180       - maven-target:
1181           maven-version: '{maven-version}'
1182           pom: '{pom}'
1183           goals: 'clean deploy -B
1184             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1185           settings: '{mvn-settings}'
1186           settings-type: cfp
1187           global-settings: 'global-settings'
1188           global-settings-type: cfp
1189
1190     publishers:
1191       - infra-shiplogs:
1192           maven-version: '{maven-version}'
1193
1194 - job-template:
1195     # Job template for Docker daily jobs
1196     #
1197     # The purpose of this job template is to run:
1198     # 1. login to the docker registry
1199     # 2. docker push
1200     #
1201     # Required Variables:
1202     #     branch:    git branch (eg. stable/lithium or master)
1203
1204     name: '{project-name}-{stream}-docker-java-daily'
1205     project-type: freestyle
1206     node: 'ubuntu1604-docker-8c-8g'
1207     disabled: '{disabled}'
1208     properties:
1209       - infra-properties:
1210           build-days-to-keep: '{build-days-to-keep}'
1211
1212     parameters:
1213       - infra-parameters:
1214           project: '{project}'
1215           branch: '{branch}'
1216           refspec: 'refs/heads/{branch}'
1217           artifacts: '{archive-artifacts}'
1218       - maven-exec:
1219           maven-version: '{maven-version}'
1220
1221     scm:
1222       - gerrit-trigger-scm:
1223           refspec: ''
1224           choosing-strategy: 'default'
1225           submodule-recursive: '{submodule-recursive}'
1226
1227     wrappers:
1228       - infra-wrappers:
1229           build-timeout: '{build-timeout}'
1230
1231     triggers:
1232       # 12 AM UTC
1233       - timed: 'H 12 * * *'
1234       - gerrit-trigger-release-manually:
1235           server: '{server-name}'
1236           project: '{project}'
1237           branch: '{branch}'
1238
1239     builders:
1240
1241       - provide-maven-settings:
1242           global-settings-file: 'global-settings'
1243           settings-file: '{mvn-settings}'
1244
1245       - docker-login
1246
1247       - maven-docker-push-daily:
1248           maven-version: '{maven-version}'
1249           mvn-settings: '{mvn-settings}'
1250           pom: '{docker-pom}'
1251           # use default as mvn-profile if profile is not needed
1252           mvn-profile: '{mvn-profile}'
1253
1254     publishers:
1255       - infra-shiplogs:
1256           maven-version: '{maven-version}'
1257
1258 - job-template:
1259     # Job template for building & pushing docker images
1260     #
1261     # The purpose of this job template is to run:
1262     #  1. login to the docker registry
1263     #  2. maven clean deploy on the specified profile
1264     #
1265     # This job uses a conditional regex match step to set versions.
1266     # This template supports maven properties.
1267     #
1268     # Required Variables:
1269     #     pom:       name/location of the pom.xml file relative to the workspace
1270     #     profile:   the docker profile defined in the pom
1271     #     maven-properties: properties passed to maven
1272
1273     name: '{project-name}-{stream}-docker-java-properties-daily'
1274     project-type: freestyle
1275     node: 'ubuntu1604-docker-8c-8g'
1276     disabled: '{disabled}'
1277     properties:
1278       - infra-properties:
1279           build-days-to-keep: '{build-days-to-keep}'
1280     parameters:
1281       - infra-parameters:
1282           project: '{project}'
1283           branch: '{branch}'
1284           refspec: 'refs/heads/{branch}'
1285           artifacts: '{archive-artifacts}'
1286       - maven-exec:
1287           maven-version: '{maven-version}'
1288     scm:
1289       - gerrit-trigger-scm:
1290           refspec: ''
1291           choosing-strategy: 'default'
1292           submodule-recursive: '{submodule-recursive}'
1293     wrappers:
1294       - infra-wrappers:
1295           build-timeout: '{build-timeout}'
1296     triggers:
1297       # 12 AM UTC
1298       - timed: 'H 12 * * *'
1299       - gerrit-trigger-release-manually:
1300           server: '{server-name}'
1301           project: '{project}'
1302           branch: '{branch}'
1303     builders:
1304       - provide-maven-settings:
1305           global-settings-file: 'global-settings'
1306           settings-file: '{mvn-settings}'
1307       - conditional-step:
1308           condition-kind: regex-match
1309           regex: DoSetVersion
1310           label: '{setVersion}'
1311           steps:
1312             - inject:
1313                 properties-file: version.properties
1314             - maven-target:
1315                 maven-version: '{maven-version}'
1316                 goals: 'versions:set versions:update-child-modules versions:commit -B'
1317                 properties:
1318                   - 'newVersion=${{release_version}}'
1319                 settings: '{mvn-settings}'
1320                 settings-type: cfp
1321                 global-settings: 'global-settings'
1322                 global-settings-type: cfp
1323       - docker-login
1324       - maven-docker-push-daily:
1325           maven-version: '{maven-version}'
1326           mvn-settings: '{mvn-settings}'
1327           pom: '{docker-pom}'
1328           properties: '{maven-properties}'
1329           # use default as mvn-profile if profile is not needed
1330           mvn-profile: '{mvn-profile}'
1331     publishers:
1332       - infra-shiplogs:
1333           maven-version: '{maven-version}'
1334
1335 - job-template:
1336     # Job template for building & pushing docker images
1337     #
1338     # The purpose of this job template is to run:
1339     #  1. login to the docker registry
1340     #  2. run a specified shell builder
1341     #
1342     # Required Variables:
1343     #     pom:       name/location of the pom.xml file relative to the workspace
1344     #     maven-properties: properties passed to maven
1345
1346     name: '{project-name}-{stream}-docker-java-shell-daily'
1347     project-type: freestyle
1348     node: 'ubuntu1604-docker-8c-8g'
1349     disabled: '{disabled}'
1350     properties:
1351       - infra-properties:
1352           build-days-to-keep: '{build-days-to-keep}'
1353
1354     parameters:
1355       - infra-parameters:
1356           project: '{project}'
1357           branch: '{branch}'
1358           refspec: 'refs/heads/{branch}'
1359           artifacts: '{archive-artifacts}'
1360       - maven-exec:
1361           maven-version: '{maven-version}'
1362
1363     scm:
1364       - gerrit-trigger-scm:
1365           refspec: ''
1366           choosing-strategy: 'default'
1367           submodule-recursive: '{submodule-recursive}'
1368
1369     wrappers:
1370       - infra-wrappers:
1371           build-timeout: '{build-timeout}'
1372
1373     triggers:
1374       # 12 AM UTC
1375       - timed: 'H 12 * * *'
1376       - gerrit-trigger-release-manually:
1377           server: '{server-name}'
1378           project: '{project}'
1379           branch: '{branch}'
1380
1381     builders:
1382
1383       - provide-maven-settings:
1384           global-settings-file: 'global-settings'
1385           settings-file: '{mvn-settings}'
1386
1387       - docker-login
1388
1389       - maven-target:
1390           maven-version: '{maven-version}'
1391           goals: '{mvn-goals}'
1392           settings: '{mvn-settings}'
1393           settings-type: cfp
1394           global-settings: 'global-settings'
1395           global-settings-type: cfp
1396
1397       - shell: '{script}'
1398
1399     publishers:
1400       - infra-shiplogs:
1401           maven-version: '{maven-version}'
1402
1403 - job-template:
1404     # Job template for building & pushing docker images
1405     #
1406     # The purpose of this job template is to run:
1407     #  1. login to the docker registry
1408     #  2. inject a version.properties file and set versions
1409     #  3. run a specified shell builder
1410     #
1411     # Required Variables:
1412     #     pom:       name/location of the pom.xml file relative to the workspace
1413     #     maven-properties: properties passed to maven
1414
1415     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1416     project-type: freestyle
1417     node: 'ubuntu1604-docker-8c-8g'
1418     disabled: '{disabled}'
1419     properties:
1420       - infra-properties:
1421           build-days-to-keep: '{build-days-to-keep}'
1422
1423     parameters:
1424       - infra-parameters:
1425           project: '{project}'
1426           branch: '{branch}'
1427           refspec: 'refs/heads/{branch}'
1428           artifacts: '{archive-artifacts}'
1429       - maven-exec:
1430           maven-version: '{maven-version}'
1431
1432     scm:
1433       - gerrit-trigger-scm:
1434           refspec: ''
1435           choosing-strategy: 'default'
1436           submodule-recursive: '{submodule-recursive}'
1437
1438     wrappers:
1439       - infra-wrappers:
1440           build-timeout: '{build-timeout}'
1441
1442     triggers:
1443       # 12 AM UTC
1444       - timed: 'H 12 * * *'
1445       - gerrit-trigger-release-manually:
1446           server: '{server-name}'
1447           project: '{project}'
1448           branch: '{branch}'
1449
1450     builders:
1451
1452       - provide-maven-settings:
1453           global-settings-file: 'global-settings'
1454           settings-file: '{mvn-settings}'
1455
1456       - inject:
1457           properties-file: version.properties
1458
1459       - maven-target:
1460           maven-version: '{maven-version}'
1461           goals: 'versions:set versions:update-child-modules versions:commit -B'
1462           properties:
1463             - 'newVersion=${{release_version}}'
1464           settings: '{mvn-settings}'
1465           settings-type: cfp
1466           global-settings: 'global-settings'
1467           global-settings-type: cfp
1468
1469       - docker-login
1470
1471       - maven-target:
1472           maven-version: '{maven-version}'
1473           goals: '{mvn-goals}'
1474           settings: '{mvn-settings}'
1475           settings-type: cfp
1476           global-settings: 'global-settings'
1477           global-settings-type: cfp
1478
1479       - shell: '{script}'
1480
1481     publishers:
1482       - infra-shiplogs:
1483           maven-version: '{maven-version}'
1484
1485 - job-template:
1486     # Job template for building & pushing docker images
1487     #
1488     # The purpose of this job template is to run:
1489     #  1. login to the docker registry
1490     #  2. inject a version.properties file and set versions
1491     #  3. run a specified shell builder
1492     #
1493     # This template supports subprojects.
1494     #
1495     # Required Variables:
1496     #     pom:       name/location of the pom.xml file relative to the workspace
1497     #     maven-properties: properties passed to maven
1498
1499     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1500     project-type: freestyle
1501     node: 'ubuntu1604-docker-8c-8g'
1502     disabled: '{disabled}'
1503     properties:
1504       - infra-properties:
1505           build-days-to-keep: '{build-days-to-keep}'
1506
1507     parameters:
1508       - infra-parameters:
1509           project: '{project}'
1510           branch: '{branch}'
1511           refspec: 'refs/heads/{branch}'
1512           artifacts: '{archive-artifacts}'
1513       - maven-exec:
1514           maven-version: '{maven-version}'
1515
1516     scm:
1517       - gerrit-trigger-scm:
1518           refspec: ''
1519           choosing-strategy: 'default'
1520           submodule-recursive: '{submodule-recursive}'
1521
1522     wrappers:
1523       - infra-wrappers:
1524           build-timeout: '{build-timeout}'
1525
1526     triggers:
1527       # 12 AM UTC
1528       - timed: 'H 12 * * *'
1529       - gerrit-trigger-release-manually:
1530           server: '{server-name}'
1531           project: '{project}'
1532           branch: '{branch}'
1533
1534     builders:
1535
1536       - provide-maven-settings:
1537           global-settings-file: 'global-settings'
1538           settings-file: '{mvn-settings}'
1539
1540       - inject:
1541           properties-file: version.properties
1542
1543       - maven-target:
1544           maven-version: '{maven-version}'
1545           pom: '{pom}'
1546           goals: 'versions:set versions:update-child-modules versions:commit -B'
1547           properties:
1548             - 'newVersion=${{release_version}}'
1549           settings: '{mvn-settings}'
1550           settings-type: cfp
1551           global-settings: 'global-settings'
1552           global-settings-type: cfp
1553
1554       - docker-login
1555
1556       - maven-target:
1557           maven-version: '{maven-version}'
1558           pom: '{pom}'
1559           goals: '{mvn-goals}'
1560           settings: '{mvn-settings}'
1561           settings-type: cfp
1562           global-settings: 'global-settings'
1563           global-settings-type: cfp
1564
1565       - shell: '{script}'
1566
1567     publishers:
1568       - infra-shiplogs:
1569           maven-version: '{maven-version}'
1570
1571 - job-template:
1572     # Job template for building & pushing docker images
1573     #
1574     # The purpose of this job template is to run:
1575     #  1. login to the docker registry
1576     #  2. inject a version.properties file and set versions
1577     #  3. run a docker push
1578     #
1579     # Required Variables:
1580     #     pom:       name/location of the pom.xml file relative to the workspace
1581     #     profile:   the docker profile defined in the pom
1582     #     maven-properties: properties passed to maven
1583
1584     name: '{project-name}-{stream}-docker-version-java-daily'
1585     project-type: freestyle
1586     node: 'ubuntu1604-docker-8c-8g'
1587     disabled: '{disabled}'
1588     properties:
1589       - infra-properties:
1590           build-days-to-keep: '{build-days-to-keep}'
1591
1592     parameters:
1593       - infra-parameters:
1594           project: '{project}'
1595           branch: '{branch}'
1596           refspec: 'refs/heads/{branch}'
1597           artifacts: '{archive-artifacts}'
1598       - maven-exec:
1599           maven-version: '{maven-version}'
1600
1601     scm:
1602       - gerrit-trigger-scm:
1603           refspec: ''
1604           choosing-strategy: 'default'
1605           submodule-recursive: '{submodule-recursive}'
1606
1607     wrappers:
1608       - infra-wrappers:
1609           build-timeout: '{build-timeout}'
1610
1611     triggers:
1612       # 12 AM UTC
1613       - timed: 'H 12 * * *'
1614       - gerrit-trigger-release-manually:
1615           server: '{server-name}'
1616           project: '{project}'
1617           branch: '{branch}'
1618
1619     builders:
1620
1621       - provide-maven-settings:
1622           global-settings-file: 'global-settings'
1623           settings-file: '{mvn-settings}'
1624
1625       - inject:
1626           properties-file: version.properties
1627
1628       - maven-target:
1629           maven-version: '{maven-version}'
1630           goals: 'versions:set versions:update-child-modules versions:commit -B'
1631           properties:
1632             - 'newVersion=${{release_version}}'
1633           settings: '{mvn-settings}'
1634           settings-type: cfp
1635           global-settings: 'global-settings'
1636           global-settings-type: cfp
1637
1638       - docker-login
1639
1640       - maven-docker-push-daily:
1641           maven-version: '{maven-version}'
1642           mvn-settings: '{mvn-settings}'
1643           pom: '{docker-pom}'
1644           # use default as mvn-profile if profile is not needed
1645           mvn-profile: '{mvn-profile}'
1646
1647     publishers:
1648       - infra-shiplogs:
1649           maven-version: '{maven-version}'
1650
1651 - job-template:
1652     # Job template for building & pushing docker images
1653     #
1654     # The purpose of this job template is to run:
1655     #  1. inject a version.properties file and set versions
1656     #  2. login to the docker registry
1657     #  3. run a docker push
1658     #
1659     # This job supports subprojects.
1660     #
1661     # Required Variables:
1662     #     pom:       name/location of the pom.xml file relative to the workspace
1663     #     maven-properties: properties passed to maven
1664
1665     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1666     project-type: freestyle
1667     node: 'ubuntu1604-docker-8c-8g'
1668     disabled: '{disabled}'
1669     properties:
1670       - infra-properties:
1671           build-days-to-keep: '{build-days-to-keep}'
1672
1673     parameters:
1674       - infra-parameters:
1675           project: '{project}'
1676           branch: '{branch}'
1677           refspec: 'refs/heads/{branch}'
1678           artifacts: '{archive-artifacts}'
1679       - maven-exec:
1680           maven-version: '{maven-version}'
1681
1682     scm:
1683       - gerrit-trigger-scm:
1684           refspec: ''
1685           choosing-strategy: 'default'
1686           submodule-recursive: '{submodule-recursive}'
1687
1688     wrappers:
1689       - infra-wrappers:
1690           build-timeout: '{build-timeout}'
1691
1692     triggers:
1693       # 12 AM UTC
1694       - timed: 'H 12 * * *'
1695       - gerrit-trigger-release-manually:
1696           server: '{server-name}'
1697           project: '{project}'
1698           branch: '{branch}'
1699
1700     builders:
1701
1702       - provide-maven-settings:
1703           global-settings-file: 'global-settings'
1704           settings-file: '{mvn-settings}'
1705
1706       - inject:
1707           properties-file: version.properties
1708
1709       - maven-target:
1710           maven-version: '{maven-version}'
1711           pom: '{pom}'
1712           goals: 'versions:set versions:update-child-modules versions:commit -B'
1713           properties:
1714             - 'newVersion=${{release_version}}'
1715           settings: '{mvn-settings}'
1716           settings-type: cfp
1717           global-settings: 'global-settings'
1718           global-settings-type: cfp
1719
1720       - docker-login
1721
1722       - maven-docker-push-daily:
1723           maven-version: '{maven-version}'
1724           pom: '{pom}'
1725           mvn-settings: '{mvn-settings}'
1726           pom: '{docker-pom}'
1727           # use default as mvn-profile if profile is not needed
1728           mvn-profile: '{mvn-profile}'
1729
1730     publishers:
1731       - infra-shiplogs:
1732           maven-version: '{maven-version}'
1733
1734 - job-template:
1735     # Job template for building & pushing docker images for AAI specific repos
1736     #
1737     # The purpose of this job template is to run:
1738     #  1. login to the docker registry
1739     #  2. run maven goals
1740     #  3. run include-docker-push.sh
1741     #
1742     # Required Variables:
1743     #     pom:       name/location of the pom.xml file relative to the workspace
1744     #     maven-properties: properties passed to maven
1745
1746     name: '{project-name}-{stream}-aai-docker-java-daily'
1747     project-type: freestyle
1748     node: 'ubuntu1604-docker-8c-8g'
1749     docker-image-name: ''
1750     disabled: '{disabled}'
1751     properties:
1752       - infra-properties:
1753           build-days-to-keep: '{build-days-to-keep}'
1754
1755     parameters:
1756       - infra-parameters:
1757           project: '{project}'
1758           branch: '{branch}'
1759           refspec: 'refs/heads/{branch}'
1760           artifacts: '{archive-artifacts}'
1761       - maven-exec:
1762           maven-version: '{maven-version}'
1763       - docker-image-name:
1764           docker-image-name: '{docker-image-name}'
1765
1766     scm:
1767       - gerrit-trigger-scm:
1768           refspec: ''
1769           choosing-strategy: 'default'
1770           submodule-recursive: '{submodule-recursive}'
1771
1772     wrappers:
1773       - infra-wrappers:
1774           build-timeout: '{build-timeout}'
1775
1776     triggers:
1777       # 12 AM UTC
1778       - timed: 'H 12 * * *'
1779       - gerrit-trigger-release-manually:
1780           server: '{server-name}'
1781           project: '{project}'
1782           branch: '{branch}'
1783
1784     builders:
1785
1786       - provide-maven-settings:
1787           global-settings-file: 'global-settings'
1788           settings-file: '{mvn-settings}'
1789
1790       - docker-login
1791
1792       - maven-target:
1793           maven-version: '{maven-version}'
1794           pom: 'pom.xml'
1795           goals: 'clean install -DskipTests -B
1796             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1797           settings: '{mvn-settings}'
1798           settings-type: cfp
1799           global-settings: 'global-settings'
1800           global-settings-type: cfp
1801
1802       - maven-target:
1803           maven-version: '{maven-version}'
1804           pom: '{pom}'
1805           goals: '{mvn-goals}'
1806           settings: '{mvn-settings}'
1807           settings-type: cfp
1808           global-settings: 'global-settings'
1809           global-settings-type: cfp
1810           properties:
1811             - maven.test.skip=true
1812             - docker.pull.registry=nexus3.onap.org:10001
1813             - docker.push.registry=nexus3.onap.org:10003
1814
1815       - shell: !include-raw-escape: include-docker-push.sh
1816
1817     publishers:
1818       - infra-shiplogs:
1819           maven-version: '{maven-version}'
1820
1821 - job-template:
1822     # Job template for building & pushing docker images for AAI specific repos
1823     #
1824     # The purpose of this job template is to run:
1825     #  1. login to the docker registry
1826     #  2. run maven goals
1827     #  3. run include-docker-push.sh
1828     #
1829     # This job supports subprojects
1830     #
1831     # Required Variables:
1832     #     pom:       name/location of the pom.xml file relative to the workspace
1833     #     maven-properties: properties passed to maven
1834
1835     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1836     project-type: freestyle
1837     node: 'ubuntu1604-docker-8c-8g'
1838     disabled: '{disabled}'
1839     docker-image-name: ''
1840
1841     properties:
1842       - infra-properties:
1843           build-days-to-keep: '{build-days-to-keep}'
1844
1845     parameters:
1846       - infra-parameters:
1847           project: '{project}'
1848           branch: '{branch}'
1849           refspec: 'refs/heads/{branch}'
1850           artifacts: '{archive-artifacts}'
1851       - maven-exec:
1852           maven-version: '{maven-version}'
1853       - docker-image-name:
1854           docker-image-name: '{docker-image-name}'
1855
1856     scm:
1857       - gerrit-trigger-scm:
1858           refspec: ''
1859           choosing-strategy: 'default'
1860           submodule-recursive: '{submodule-recursive}'
1861
1862     wrappers:
1863       - infra-wrappers:
1864           build-timeout: '{build-timeout}'
1865
1866     triggers:
1867       # 12 AM UTC
1868       - timed: 'H 12 * * *'
1869       - gerrit-trigger-release-manually:
1870           server: '{server-name}'
1871           project: '{project}'
1872           branch: '{branch}'
1873
1874     builders:
1875
1876       - provide-maven-settings:
1877           global-settings-file: 'global-settings'
1878           settings-file: '{mvn-settings}'
1879
1880       - docker-login
1881
1882       - maven-target:
1883           maven-version: '{maven-version}'
1884           pom: 'pom.xml'
1885           goals: 'clean install -DskipTests -B
1886             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1887           settings: '{mvn-settings}'
1888           settings-type: cfp
1889           global-settings: 'global-settings'
1890           global-settings-type: cfp
1891
1892       - maven-target:
1893           maven-version: '{maven-version}'
1894           pom: '{pom}'
1895           goals: '{mvn-goals}'
1896           settings: '{mvn-settings}'
1897           settings-type: cfp
1898           global-settings: 'global-settings'
1899           global-settings-type: cfp
1900           properties:
1901             - maven.test.skip=true
1902             - docker.pull.registry=nexus3.onap.org:10001
1903             - docker.push.registry=nexus3.onap.org:10003
1904
1905       - shell: !include-raw-escape: include-docker-push.sh
1906
1907     publishers:
1908       - infra-shiplogs:
1909           maven-version: '{maven-version}'
1910
1911 - job-template:
1912     # Job template for Java daily release jobs
1913     #
1914     # The purpose of this job template is to run:
1915     # 1. inject a version.properties file and set versions
1916     # 2. change version in all POM files to the release version specified
1917     #    in version.properties. This is done using a script instread of
1918     #    the mvn version plugin that assumes some specific parent structure
1919     #
1920     # The POM files are required to use the Maven staging plugin so the deploy
1921     # does not deploy directly to the release repo.
1922     #
1923     # Required Variables:
1924     #     branch:    git branch (eg. stable/lithium or master)
1925
1926     name: '{project-name}-{stream}-release-version2-java-daily'
1927
1928     project-type: freestyle
1929     node: '{build-node}'
1930     disabled: '{disabled}'
1931     maven-deploy-properties:
1932     properties:
1933       - infra-properties:
1934           build-days-to-keep: '{build-days-to-keep}'
1935
1936     parameters:
1937       - infra-parameters:
1938           project: '{project}'
1939           branch: '{branch}'
1940           refspec: 'refs/heads/{branch}'
1941           artifacts: '{archive-artifacts}'
1942       - maven-exec:
1943           maven-version: '{maven-version}'
1944
1945     scm:
1946       - gerrit-trigger-scm:
1947           refspec: ''
1948           choosing-strategy: 'default'
1949           submodule-recursive: '{submodule-recursive}'
1950
1951     wrappers:
1952       - infra-wrappers:
1953           build-timeout: '{build-timeout}'
1954
1955     triggers:
1956       # 11 AM UTC
1957       - timed: 'H 11 * * *'
1958       - gerrit-trigger-release-manually:
1959           server: '{server-name}'
1960           project: '{project}'
1961           branch: '{branch}'
1962
1963     builders:
1964       - provide-maven-settings:
1965           global-settings-file: 'global-settings'
1966           settings-file: '{mvn-settings}'
1967       - maven-install:
1968           maven-version: '{maven-version}'
1969
1970       - inject:
1971           properties-file: version.properties
1972
1973       - shell: !include-raw-escape: include-update-pom-versions.sh
1974
1975       - maven-target:
1976           maven-version: '{maven-version}'
1977           goals: 'clean deploy site:site site:stage-deploy -B
1978             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1979           properties:
1980             - '{maven-deploy-properties}'
1981           settings: '{mvn-settings}'
1982           settings-type: cfp
1983           global-settings: 'global-settings'
1984           global-settings-type: cfp
1985
1986     publishers:
1987       - infra-shiplogs:
1988           maven-version: '{maven-version}'
1989
1990 - job-template:
1991     # Job template for Java daily release jobs
1992     #
1993     # The purpose of this job template is to run:
1994     # 1. inject a version.properties file and set versions
1995     # 2. change version in all POM files to the release version specified
1996     #     in version.properties. This is done using a script instread of
1997     #     the mvn version plugin that assumes some specific parent structure
1998     #
1999     # The POM files are required to use the Maven staging plugin so the deploy
2000     # does not deploy directly to the release repo.
2001     #
2002     # Required Variables:
2003     #     branch:    git branch (eg. stable/lithium or master)
2004     #     pom:       name/location of the pom.xml file relative to the workspace
2005     #     pattern:   ant file-path pattern relative to the workspace used to
2006     #                trigger the job
2007
2008     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
2009
2010     project-type: freestyle
2011     node: '{build-node}'
2012     disabled: '{disabled}'
2013     maven-deploy-properties:
2014     properties:
2015       - infra-properties:
2016           build-days-to-keep: '{build-days-to-keep}'
2017
2018     parameters:
2019       - infra-parameters:
2020           project: '{project}'
2021           branch: '{branch}'
2022           refspec: 'refs/heads/{branch}'
2023           artifacts: '{archive-artifacts}'
2024       - maven-exec:
2025           maven-version: '{maven-version}'
2026
2027     scm:
2028       - gerrit-trigger-scm:
2029           refspec: ''
2030           choosing-strategy: 'default'
2031           submodule-recursive: '{submodule-recursive}'
2032
2033     wrappers:
2034       - infra-wrappers:
2035           build-timeout: '{build-timeout}'
2036
2037     triggers:
2038       # 11 AM UTC
2039       - timed: 'H 11 * * *'
2040       - gerrit-trigger-release-manually:
2041           server: '{server-name}'
2042           project: '{project}'
2043           branch: '{branch}'
2044           files: '{pattern}'
2045
2046     builders:
2047       - provide-maven-settings:
2048           global-settings-file: 'global-settings'
2049           settings-file: '{mvn-settings}'
2050       - maven-install:
2051           maven-version: '{maven-version}'
2052
2053       - inject:
2054           properties-file: version.properties
2055
2056       - shell: !include-raw-escape: include-update-pom-versions.sh
2057
2058       - maven-target:
2059           maven-version: '{maven-version}'
2060           pom: '{pom}'
2061           goals: 'clean deploy site:site site:stage-deploy -B
2062             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2063           properties:
2064             - '{maven-deploy-properties}'
2065           settings: '{mvn-settings}'
2066           settings-type: cfp
2067           global-settings: 'global-settings'
2068           global-settings-type: cfp
2069
2070     publishers:
2071       - infra-shiplogs:
2072           maven-version: '{maven-version}'
2073
2074 - job-template:
2075     # Job template for Java daily release jobs
2076     #
2077     # The purpose of this job template is to run:
2078     #  1. inject a version.properties file and set versions
2079     #  2. change version in all POM files to the release version specified
2080     #     in version.properties. This is done using a script instread of
2081     #     the mvn version plugin that assumes some specific parent structure
2082     #     This version does NOT change the version within the <parent> tag
2083     #
2084     # The POM files are required to use the Maven staging plugin so the deploy
2085     # does not deploy directly to the release repo.
2086     #
2087     # Required Variables:
2088     #     branch:    git branch (eg. stable/lithium or master)
2089     #     pom:       name/location of the pom.xml file relative to the workspace
2090     #     pattern:   ant file-path pattern relative to the workspace used to
2091     #                trigger the job
2092
2093     name: '{project-name}-{stream}-{subproject}-release-version3-java-daily'
2094
2095     project-type: freestyle
2096     node: '{build-node}'
2097     disabled: '{disabled}'
2098     maven-deploy-properties:
2099     properties:
2100       - infra-properties:
2101           build-days-to-keep: '{build-days-to-keep}'
2102
2103     parameters:
2104       - infra-parameters:
2105           project: '{project}'
2106           branch: '{branch}'
2107           refspec: 'refs/heads/{branch}'
2108           artifacts: '{archive-artifacts}'
2109       - maven-exec:
2110           maven-version: '{maven-version}'
2111
2112     scm:
2113       - gerrit-trigger-scm:
2114           refspec: ''
2115           choosing-strategy: 'default'
2116           submodule-recursive: '{submodule-recursive}'
2117
2118     wrappers:
2119       - infra-wrappers:
2120           build-timeout: '{build-timeout}'
2121
2122     triggers:
2123       # 11 AM UTC
2124       - timed: 'H 11 * * *'
2125       - gerrit-trigger-release-manually:
2126           server: '{server-name}'
2127           project: '{project}'
2128           branch: '{branch}'
2129           files: '{pattern}'
2130
2131     builders:
2132       - provide-maven-settings:
2133           global-settings-file: 'global-settings'
2134           settings-file: '{mvn-settings}'
2135       - maven-install:
2136           maven-version: '{maven-version}'
2137
2138       - inject:
2139           properties-file: version.properties
2140
2141       - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh
2142
2143       - maven-target:
2144           maven-version: '{maven-version}'
2145           pom: '{pom}'
2146           goals: 'clean deploy site:site site:stage-deploy -B
2147             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2148           properties:
2149             - '{maven-deploy-properties}'
2150           settings: '{mvn-settings}'
2151           settings-type: cfp
2152           global-settings: 'global-settings'
2153           global-settings-type: cfp
2154
2155     publishers:
2156       - infra-shiplogs:
2157           maven-version: '{maven-version}'
2158
2159 - job-template:
2160     # Job template for Java merge jobs for SDC specific repos
2161     #
2162     # The purpose of this job template is to run:
2163     # 1. maven clean deploy
2164     #
2165     # Required Variables:
2166     #     branch:    git branch (eg. stable/lithium or master)
2167
2168     name: '{project-name}-{stream}-sdc-merge-java'
2169
2170     project-type: freestyle
2171     node: 'ubuntu1604-docker-8c-8g'
2172
2173     properties:
2174       - infra-properties:
2175           build-days-to-keep: '{build-days-to-keep}'
2176
2177     parameters:
2178       - infra-parameters:
2179           project: '{project}'
2180           branch: '{branch}'
2181           refspec: 'refs/heads/{branch}'
2182           artifacts: '{archive-artifacts}'
2183       - maven-exec:
2184           maven-version: '{maven-version}'
2185
2186     scm:
2187       - gerrit-trigger-scm:
2188           refspec: ''
2189           choosing-strategy: 'default'
2190           submodule-recursive: '{submodule-recursive}'
2191
2192     wrappers:
2193       - infra-wrappers:
2194           build-timeout: '{build-timeout}'
2195
2196     triggers:
2197       - gerrit-trigger-patch-merged:
2198           server: '{server-name}'
2199           project: '{project}'
2200           branch: '{branch}'
2201           files: '**'
2202
2203     builders:
2204       - provide-maven-settings:
2205           global-settings-file: 'global-settings'
2206           settings-file: '{mvn-settings}'
2207
2208       - docker-login
2209
2210       - maven-docker-push-daily-test:
2211           maven-version: '{maven-version}'
2212           mvn-settings: '{mvn-settings}'
2213           pom: '{docker-pom}'
2214           # use default as mvn-profile if profile is not needed
2215           mvn-profile: '{mvn-profile}'
2216
2217     publishers:
2218       - infra-shiplogs:
2219           maven-version: '{maven-version}'
2220
2221 - job-template:
2222     # Job template for building & pushing docker images for AAI specific repos
2223     #
2224     # The purpose of this job template is to run:
2225     #  1. login to the docker registry
2226     #  2. run maven clean install goals skipping tests
2227     #  3. run maven goals
2228     #
2229     # Required Variables:
2230     #     pom:       name/location of the pom.xml file relative to the workspace
2231     #     maven-properties: properties passed to maven
2232
2233     name: '{project-name}-{stream}-aai-docker-java-version-daily'
2234     project-type: freestyle
2235     node: 'ubuntu1604-docker-8c-8g'
2236     disabled: '{disabled}'
2237     properties:
2238       - infra-properties:
2239           build-days-to-keep: '{build-days-to-keep}'
2240
2241     parameters:
2242       - infra-parameters:
2243           project: '{project}'
2244           branch: '{branch}'
2245           refspec: 'refs/heads/{branch}'
2246           artifacts: '{archive-artifacts}'
2247       - maven-exec:
2248           maven-version: '{maven-version}'
2249
2250     scm:
2251       - gerrit-trigger-scm:
2252           refspec: ''
2253           choosing-strategy: 'default'
2254           submodule-recursive: '{submodule-recursive}'
2255
2256     wrappers:
2257       - infra-wrappers:
2258           build-timeout: '{build-timeout}'
2259
2260     triggers:
2261       # 12 AM UTC
2262       - timed: 'H 12 * * *'
2263       - gerrit-trigger-release-manually:
2264           server: '{server-name}'
2265           project: '{project}'
2266           branch: '{branch}'
2267
2268     builders:
2269
2270       - provide-maven-settings:
2271           global-settings-file: 'global-settings'
2272           settings-file: '{mvn-settings}'
2273
2274       - docker-login
2275
2276       - maven-target:
2277           maven-version: '{maven-version}'
2278           pom: 'pom.xml'
2279           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2280           settings: '{mvn-settings}'
2281           settings-type: cfp
2282           global-settings: 'global-settings'
2283           global-settings-type: cfp
2284
2285       - maven-target:
2286           maven-version: '{maven-version}'
2287           pom: '{pom}'
2288           goals: '{mvn-goals}'
2289           settings: '{mvn-settings}'
2290           settings-type: cfp
2291           global-settings: 'global-settings'
2292           global-settings-type: cfp
2293           properties:
2294             - maven.test.skip=true
2295             - docker.pull.registry=nexus3.onap.org:10001
2296             - docker.push.registry=nexus3.onap.org:10003
2297
2298     publishers:
2299       - infra-shiplogs:
2300           maven-version: '{maven-version}'
2301