Merge "Prepare for Beijing branch of doc project"
[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       - maven-params:
1221           mvn-params: '{mvn-params}'
1222
1223     scm:
1224       - gerrit-trigger-scm:
1225           refspec: ''
1226           choosing-strategy: 'default'
1227           submodule-recursive: '{submodule-recursive}'
1228
1229     wrappers:
1230       - infra-wrappers:
1231           build-timeout: '{build-timeout}'
1232
1233     triggers:
1234       # 12 AM UTC
1235       - timed: 'H 12 * * *'
1236       - gerrit-trigger-release-manually:
1237           server: '{server-name}'
1238           project: '{project}'
1239           branch: '{branch}'
1240
1241     builders:
1242
1243       - provide-maven-settings:
1244           global-settings-file: 'global-settings'
1245           settings-file: '{mvn-settings}'
1246
1247       - docker-login
1248
1249       - maven-docker-push-daily:
1250           maven-version: '{maven-version}'
1251           mvn-settings: '{mvn-settings}'
1252           pom: '{docker-pom}'
1253           # use default as mvn-profile if profile is not needed
1254           mvn-profile: '{mvn-profile}'
1255           mvn-params: '{mvn-params}'
1256
1257     publishers:
1258       - infra-shiplogs:
1259           maven-version: '{maven-version}'
1260
1261 - job-template:
1262     # Job template for building & pushing docker images
1263     #
1264     # The purpose of this job template is to run:
1265     #  1. login to the docker registry
1266     #  2. maven clean deploy on the specified profile
1267     #
1268     # This job uses a conditional regex match step to set versions.
1269     # This template supports maven properties.
1270     #
1271     # Required Variables:
1272     #     pom:       name/location of the pom.xml file relative to the workspace
1273     #     profile:   the docker profile defined in the pom
1274     #     maven-properties: properties passed to maven
1275
1276     name: '{project-name}-{stream}-docker-java-properties-daily'
1277     project-type: freestyle
1278     node: 'ubuntu1604-docker-8c-8g'
1279     disabled: '{disabled}'
1280     properties:
1281       - infra-properties:
1282           build-days-to-keep: '{build-days-to-keep}'
1283     parameters:
1284       - infra-parameters:
1285           project: '{project}'
1286           branch: '{branch}'
1287           refspec: 'refs/heads/{branch}'
1288           artifacts: '{archive-artifacts}'
1289       - maven-exec:
1290           maven-version: '{maven-version}'
1291       - maven-params:
1292           mvn-params: '{mvn-params}'
1293     scm:
1294       - gerrit-trigger-scm:
1295           refspec: ''
1296           choosing-strategy: 'default'
1297           submodule-recursive: '{submodule-recursive}'
1298     wrappers:
1299       - infra-wrappers:
1300           build-timeout: '{build-timeout}'
1301     triggers:
1302       # 12 AM UTC
1303       - timed: 'H 12 * * *'
1304       - gerrit-trigger-release-manually:
1305           server: '{server-name}'
1306           project: '{project}'
1307           branch: '{branch}'
1308     builders:
1309       - provide-maven-settings:
1310           global-settings-file: 'global-settings'
1311           settings-file: '{mvn-settings}'
1312       - conditional-step:
1313           condition-kind: regex-match
1314           regex: DoSetVersion
1315           label: '{setVersion}'
1316           steps:
1317             - inject:
1318                 properties-file: version.properties
1319             - maven-target:
1320                 maven-version: '{maven-version}'
1321                 goals: 'versions:set versions:update-child-modules versions:commit -B'
1322                 properties:
1323                   - 'newVersion=${{release_version}}'
1324                 settings: '{mvn-settings}'
1325                 settings-type: cfp
1326                 global-settings: 'global-settings'
1327                 global-settings-type: cfp
1328       - docker-login
1329       - maven-docker-push-daily:
1330           maven-version: '{maven-version}'
1331           mvn-settings: '{mvn-settings}'
1332           pom: '{docker-pom}'
1333           properties: '{maven-properties}'
1334           # use default as mvn-profile if profile is not needed
1335           mvn-profile: '{mvn-profile}'
1336           mvn-params: '{mvn-params}'
1337     publishers:
1338       - infra-shiplogs:
1339           maven-version: '{maven-version}'
1340
1341 - job-template:
1342     # Job template for building & pushing docker images
1343     #
1344     # The purpose of this job template is to run:
1345     #  1. login to the docker registry
1346     #  2. run a specified shell builder
1347     #
1348     # Required Variables:
1349     #     pom:       name/location of the pom.xml file relative to the workspace
1350     #     maven-properties: properties passed to maven
1351
1352     name: '{project-name}-{stream}-docker-java-shell-daily'
1353     project-type: freestyle
1354     node: 'ubuntu1604-docker-8c-8g'
1355     disabled: '{disabled}'
1356     properties:
1357       - infra-properties:
1358           build-days-to-keep: '{build-days-to-keep}'
1359
1360     parameters:
1361       - infra-parameters:
1362           project: '{project}'
1363           branch: '{branch}'
1364           refspec: 'refs/heads/{branch}'
1365           artifacts: '{archive-artifacts}'
1366       - maven-exec:
1367           maven-version: '{maven-version}'
1368
1369     scm:
1370       - gerrit-trigger-scm:
1371           refspec: ''
1372           choosing-strategy: 'default'
1373           submodule-recursive: '{submodule-recursive}'
1374
1375     wrappers:
1376       - infra-wrappers:
1377           build-timeout: '{build-timeout}'
1378
1379     triggers:
1380       # 12 AM UTC
1381       - timed: 'H 12 * * *'
1382       - gerrit-trigger-release-manually:
1383           server: '{server-name}'
1384           project: '{project}'
1385           branch: '{branch}'
1386
1387     builders:
1388
1389       - provide-maven-settings:
1390           global-settings-file: 'global-settings'
1391           settings-file: '{mvn-settings}'
1392
1393       - docker-login
1394
1395       - maven-target:
1396           maven-version: '{maven-version}'
1397           goals: '{mvn-goals}'
1398           settings: '{mvn-settings}'
1399           settings-type: cfp
1400           global-settings: 'global-settings'
1401           global-settings-type: cfp
1402
1403       - shell: '{script}'
1404
1405     publishers:
1406       - infra-shiplogs:
1407           maven-version: '{maven-version}'
1408
1409 - job-template:
1410     # Job template for building & pushing docker images
1411     #
1412     # The purpose of this job template is to run:
1413     #  1. login to the docker registry
1414     #  2. inject a version.properties file and set versions
1415     #  3. run a specified shell builder
1416     #
1417     # Required Variables:
1418     #     pom:       name/location of the pom.xml file relative to the workspace
1419     #     maven-properties: properties passed to maven
1420
1421     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1422     project-type: freestyle
1423     node: 'ubuntu1604-docker-8c-8g'
1424     disabled: '{disabled}'
1425     properties:
1426       - infra-properties:
1427           build-days-to-keep: '{build-days-to-keep}'
1428
1429     parameters:
1430       - infra-parameters:
1431           project: '{project}'
1432           branch: '{branch}'
1433           refspec: 'refs/heads/{branch}'
1434           artifacts: '{archive-artifacts}'
1435       - maven-exec:
1436           maven-version: '{maven-version}'
1437
1438     scm:
1439       - gerrit-trigger-scm:
1440           refspec: ''
1441           choosing-strategy: 'default'
1442           submodule-recursive: '{submodule-recursive}'
1443
1444     wrappers:
1445       - infra-wrappers:
1446           build-timeout: '{build-timeout}'
1447
1448     triggers:
1449       # 12 AM UTC
1450       - timed: 'H 12 * * *'
1451       - gerrit-trigger-release-manually:
1452           server: '{server-name}'
1453           project: '{project}'
1454           branch: '{branch}'
1455
1456     builders:
1457
1458       - provide-maven-settings:
1459           global-settings-file: 'global-settings'
1460           settings-file: '{mvn-settings}'
1461
1462       - inject:
1463           properties-file: version.properties
1464
1465       - maven-target:
1466           maven-version: '{maven-version}'
1467           goals: 'versions:set versions:update-child-modules versions:commit -B'
1468           properties:
1469             - 'newVersion=${{release_version}}'
1470           settings: '{mvn-settings}'
1471           settings-type: cfp
1472           global-settings: 'global-settings'
1473           global-settings-type: cfp
1474
1475       - docker-login
1476
1477       - maven-target:
1478           maven-version: '{maven-version}'
1479           goals: '{mvn-goals}'
1480           settings: '{mvn-settings}'
1481           settings-type: cfp
1482           global-settings: 'global-settings'
1483           global-settings-type: cfp
1484
1485       - shell: '{script}'
1486
1487     publishers:
1488       - infra-shiplogs:
1489           maven-version: '{maven-version}'
1490
1491 - job-template:
1492     # Job template for building & pushing docker images
1493     #
1494     # The purpose of this job template is to run:
1495     #  1. login to the docker registry
1496     #  2. inject a version.properties file and set versions
1497     #  3. run a specified shell builder
1498     #
1499     # This template supports subprojects.
1500     #
1501     # Required Variables:
1502     #     pom:       name/location of the pom.xml file relative to the workspace
1503     #     maven-properties: properties passed to maven
1504
1505     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1506     project-type: freestyle
1507     node: 'ubuntu1604-docker-8c-8g'
1508     disabled: '{disabled}'
1509     properties:
1510       - infra-properties:
1511           build-days-to-keep: '{build-days-to-keep}'
1512
1513     parameters:
1514       - infra-parameters:
1515           project: '{project}'
1516           branch: '{branch}'
1517           refspec: 'refs/heads/{branch}'
1518           artifacts: '{archive-artifacts}'
1519       - maven-exec:
1520           maven-version: '{maven-version}'
1521
1522     scm:
1523       - gerrit-trigger-scm:
1524           refspec: ''
1525           choosing-strategy: 'default'
1526           submodule-recursive: '{submodule-recursive}'
1527
1528     wrappers:
1529       - infra-wrappers:
1530           build-timeout: '{build-timeout}'
1531
1532     triggers:
1533       # 12 AM UTC
1534       - timed: 'H 12 * * *'
1535       - gerrit-trigger-release-manually:
1536           server: '{server-name}'
1537           project: '{project}'
1538           branch: '{branch}'
1539
1540     builders:
1541
1542       - provide-maven-settings:
1543           global-settings-file: 'global-settings'
1544           settings-file: '{mvn-settings}'
1545
1546       - inject:
1547           properties-file: version.properties
1548
1549       - maven-target:
1550           maven-version: '{maven-version}'
1551           pom: '{pom}'
1552           goals: 'versions:set versions:update-child-modules versions:commit -B'
1553           properties:
1554             - 'newVersion=${{release_version}}'
1555           settings: '{mvn-settings}'
1556           settings-type: cfp
1557           global-settings: 'global-settings'
1558           global-settings-type: cfp
1559
1560       - docker-login
1561
1562       - maven-target:
1563           maven-version: '{maven-version}'
1564           pom: '{pom}'
1565           goals: '{mvn-goals}'
1566           settings: '{mvn-settings}'
1567           settings-type: cfp
1568           global-settings: 'global-settings'
1569           global-settings-type: cfp
1570
1571       - shell: '{script}'
1572
1573     publishers:
1574       - infra-shiplogs:
1575           maven-version: '{maven-version}'
1576
1577 - job-template:
1578     # Job template for building & pushing docker images
1579     #
1580     # The purpose of this job template is to run:
1581     #  1. login to the docker registry
1582     #  2. inject a version.properties file and set versions
1583     #  3. run a docker push
1584     #
1585     # Required Variables:
1586     #     pom:       name/location of the pom.xml file relative to the workspace
1587     #     profile:   the docker profile defined in the pom
1588     #     maven-properties: properties passed to maven
1589
1590     name: '{project-name}-{stream}-docker-version-java-daily'
1591     project-type: freestyle
1592     node: 'ubuntu1604-docker-8c-8g'
1593     disabled: '{disabled}'
1594     properties:
1595       - infra-properties:
1596           build-days-to-keep: '{build-days-to-keep}'
1597
1598     parameters:
1599       - infra-parameters:
1600           project: '{project}'
1601           branch: '{branch}'
1602           refspec: 'refs/heads/{branch}'
1603           artifacts: '{archive-artifacts}'
1604       - maven-exec:
1605           maven-version: '{maven-version}'
1606       - maven-params:
1607           mvn-params: '{mvn-params}'
1608
1609     scm:
1610       - gerrit-trigger-scm:
1611           refspec: ''
1612           choosing-strategy: 'default'
1613           submodule-recursive: '{submodule-recursive}'
1614
1615     wrappers:
1616       - infra-wrappers:
1617           build-timeout: '{build-timeout}'
1618
1619     triggers:
1620       # 12 AM UTC
1621       - timed: 'H 12 * * *'
1622       - gerrit-trigger-release-manually:
1623           server: '{server-name}'
1624           project: '{project}'
1625           branch: '{branch}'
1626
1627     builders:
1628
1629       - provide-maven-settings:
1630           global-settings-file: 'global-settings'
1631           settings-file: '{mvn-settings}'
1632
1633       - inject:
1634           properties-file: version.properties
1635
1636       - maven-target:
1637           maven-version: '{maven-version}'
1638           goals: 'versions:set versions:update-child-modules versions:commit -B'
1639           properties:
1640             - 'newVersion=${{release_version}}'
1641           settings: '{mvn-settings}'
1642           settings-type: cfp
1643           global-settings: 'global-settings'
1644           global-settings-type: cfp
1645
1646       - docker-login
1647
1648       - maven-docker-push-daily:
1649           maven-version: '{maven-version}'
1650           mvn-settings: '{mvn-settings}'
1651           pom: '{docker-pom}'
1652           # use default as mvn-profile if profile is not needed
1653           mvn-profile: '{mvn-profile}'
1654           mvn-params: '{mvn-params}'
1655
1656     publishers:
1657       - infra-shiplogs:
1658           maven-version: '{maven-version}'
1659
1660 - job-template:
1661     # Job template for building & pushing docker images
1662     #
1663     # The purpose of this job template is to run:
1664     #  1. inject a version.properties file and set versions
1665     #  2. login to the docker registry
1666     #  3. run a docker push
1667     #
1668     # This job supports subprojects.
1669     #
1670     # Required Variables:
1671     #     pom:       name/location of the pom.xml file relative to the workspace
1672     #     maven-properties: properties passed to maven
1673
1674     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1675     project-type: freestyle
1676     node: 'ubuntu1604-docker-8c-8g'
1677     disabled: '{disabled}'
1678     properties:
1679       - infra-properties:
1680           build-days-to-keep: '{build-days-to-keep}'
1681
1682     parameters:
1683       - infra-parameters:
1684           project: '{project}'
1685           branch: '{branch}'
1686           refspec: 'refs/heads/{branch}'
1687           artifacts: '{archive-artifacts}'
1688       - maven-exec:
1689           maven-version: '{maven-version}'
1690       - maven-params:
1691           mvn-params: '{mvn-params}'
1692
1693     scm:
1694       - gerrit-trigger-scm:
1695           refspec: ''
1696           choosing-strategy: 'default'
1697           submodule-recursive: '{submodule-recursive}'
1698
1699     wrappers:
1700       - infra-wrappers:
1701           build-timeout: '{build-timeout}'
1702
1703     triggers:
1704       # 12 AM UTC
1705       - timed: 'H 12 * * *'
1706       - gerrit-trigger-release-manually:
1707           server: '{server-name}'
1708           project: '{project}'
1709           branch: '{branch}'
1710
1711     builders:
1712
1713       - provide-maven-settings:
1714           global-settings-file: 'global-settings'
1715           settings-file: '{mvn-settings}'
1716
1717       - inject:
1718           properties-file: version.properties
1719
1720       - maven-target:
1721           maven-version: '{maven-version}'
1722           pom: '{pom}'
1723           goals: 'versions:set versions:update-child-modules versions:commit -B'
1724           properties:
1725             - 'newVersion=${{release_version}}'
1726           settings: '{mvn-settings}'
1727           settings-type: cfp
1728           global-settings: 'global-settings'
1729           global-settings-type: cfp
1730
1731       - docker-login
1732
1733       - maven-docker-push-daily:
1734           maven-version: '{maven-version}'
1735           pom: '{pom}'
1736           mvn-settings: '{mvn-settings}'
1737           pom: '{docker-pom}'
1738           # use default as mvn-profile if profile is not needed
1739           mvn-profile: '{mvn-profile}'
1740           mvn-params: '{mvn-params}'
1741
1742     publishers:
1743       - infra-shiplogs:
1744           maven-version: '{maven-version}'
1745
1746 - job-template:
1747     # Job template for building & pushing docker images for AAI specific repos
1748     #
1749     # The purpose of this job template is to run:
1750     #  1. login to the docker registry
1751     #  2. run maven goals
1752     #  3. run include-docker-push.sh
1753     #
1754     # Required Variables:
1755     #     pom:       name/location of the pom.xml file relative to the workspace
1756     #     maven-properties: properties passed to maven
1757
1758     name: '{project-name}-{stream}-aai-docker-java-daily'
1759     project-type: freestyle
1760     node: 'ubuntu1604-docker-8c-8g'
1761     docker-image-name: ''
1762     disabled: '{disabled}'
1763     properties:
1764       - infra-properties:
1765           build-days-to-keep: '{build-days-to-keep}'
1766
1767     parameters:
1768       - infra-parameters:
1769           project: '{project}'
1770           branch: '{branch}'
1771           refspec: 'refs/heads/{branch}'
1772           artifacts: '{archive-artifacts}'
1773       - maven-exec:
1774           maven-version: '{maven-version}'
1775       - docker-image-name:
1776           docker-image-name: '{docker-image-name}'
1777
1778     scm:
1779       - gerrit-trigger-scm:
1780           refspec: ''
1781           choosing-strategy: 'default'
1782           submodule-recursive: '{submodule-recursive}'
1783
1784     wrappers:
1785       - infra-wrappers:
1786           build-timeout: '{build-timeout}'
1787
1788     triggers:
1789       # 12 AM UTC
1790       - timed: 'H 12 * * *'
1791       - gerrit-trigger-release-manually:
1792           server: '{server-name}'
1793           project: '{project}'
1794           branch: '{branch}'
1795
1796     builders:
1797
1798       - provide-maven-settings:
1799           global-settings-file: 'global-settings'
1800           settings-file: '{mvn-settings}'
1801
1802       - docker-login
1803
1804       - maven-target:
1805           maven-version: '{maven-version}'
1806           pom: 'pom.xml'
1807           goals: 'clean install -DskipTests -B
1808             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1809           settings: '{mvn-settings}'
1810           settings-type: cfp
1811           global-settings: 'global-settings'
1812           global-settings-type: cfp
1813
1814       - maven-target:
1815           maven-version: '{maven-version}'
1816           pom: '{pom}'
1817           goals: '{mvn-goals}'
1818           settings: '{mvn-settings}'
1819           settings-type: cfp
1820           global-settings: 'global-settings'
1821           global-settings-type: cfp
1822           properties:
1823             - maven.test.skip=true
1824             - docker.pull.registry=nexus3.onap.org:10001
1825             - docker.push.registry=nexus3.onap.org:10003
1826
1827       - shell: !include-raw-escape: include-docker-push.sh
1828
1829     publishers:
1830       - infra-shiplogs:
1831           maven-version: '{maven-version}'
1832
1833 - job-template:
1834     # Job template for building & pushing docker images for AAI specific repos
1835     #
1836     # The purpose of this job template is to run:
1837     #  1. login to the docker registry
1838     #  2. run maven goals
1839     #  3. run include-docker-push.sh
1840     #
1841     # This job supports subprojects
1842     #
1843     # Required Variables:
1844     #     pom:       name/location of the pom.xml file relative to the workspace
1845     #     maven-properties: properties passed to maven
1846
1847     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1848     project-type: freestyle
1849     node: 'ubuntu1604-docker-8c-8g'
1850     disabled: '{disabled}'
1851     docker-image-name: ''
1852
1853     properties:
1854       - infra-properties:
1855           build-days-to-keep: '{build-days-to-keep}'
1856
1857     parameters:
1858       - infra-parameters:
1859           project: '{project}'
1860           branch: '{branch}'
1861           refspec: 'refs/heads/{branch}'
1862           artifacts: '{archive-artifacts}'
1863       - maven-exec:
1864           maven-version: '{maven-version}'
1865       - docker-image-name:
1866           docker-image-name: '{docker-image-name}'
1867
1868     scm:
1869       - gerrit-trigger-scm:
1870           refspec: ''
1871           choosing-strategy: 'default'
1872           submodule-recursive: '{submodule-recursive}'
1873
1874     wrappers:
1875       - infra-wrappers:
1876           build-timeout: '{build-timeout}'
1877
1878     triggers:
1879       # 12 AM UTC
1880       - timed: 'H 12 * * *'
1881       - gerrit-trigger-release-manually:
1882           server: '{server-name}'
1883           project: '{project}'
1884           branch: '{branch}'
1885
1886     builders:
1887
1888       - provide-maven-settings:
1889           global-settings-file: 'global-settings'
1890           settings-file: '{mvn-settings}'
1891
1892       - docker-login
1893
1894       - maven-target:
1895           maven-version: '{maven-version}'
1896           pom: 'pom.xml'
1897           goals: 'clean install -DskipTests -B
1898             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1899           settings: '{mvn-settings}'
1900           settings-type: cfp
1901           global-settings: 'global-settings'
1902           global-settings-type: cfp
1903
1904       - maven-target:
1905           maven-version: '{maven-version}'
1906           pom: '{pom}'
1907           goals: '{mvn-goals}'
1908           settings: '{mvn-settings}'
1909           settings-type: cfp
1910           global-settings: 'global-settings'
1911           global-settings-type: cfp
1912           properties:
1913             - maven.test.skip=true
1914             - docker.pull.registry=nexus3.onap.org:10001
1915             - docker.push.registry=nexus3.onap.org:10003
1916
1917       - shell: !include-raw-escape: include-docker-push.sh
1918
1919     publishers:
1920       - infra-shiplogs:
1921           maven-version: '{maven-version}'
1922
1923 - job-template:
1924     # Job template for Java daily release jobs
1925     #
1926     # The purpose of this job template is to run:
1927     # 1. inject a version.properties file and set versions
1928     # 2. change version in all POM files to the release version specified
1929     #    in version.properties. This is done using a script instread of
1930     #    the mvn version plugin that assumes some specific parent structure
1931     #
1932     # The POM files are required to use the Maven staging plugin so the deploy
1933     # does not deploy directly to the release repo.
1934     #
1935     # Required Variables:
1936     #     branch:    git branch (eg. stable/lithium or master)
1937
1938     name: '{project-name}-{stream}-release-version2-java-daily'
1939
1940     project-type: freestyle
1941     node: '{build-node}'
1942     disabled: '{disabled}'
1943     maven-deploy-properties:
1944     properties:
1945       - infra-properties:
1946           build-days-to-keep: '{build-days-to-keep}'
1947
1948     parameters:
1949       - infra-parameters:
1950           project: '{project}'
1951           branch: '{branch}'
1952           refspec: 'refs/heads/{branch}'
1953           artifacts: '{archive-artifacts}'
1954       - maven-exec:
1955           maven-version: '{maven-version}'
1956
1957     scm:
1958       - gerrit-trigger-scm:
1959           refspec: ''
1960           choosing-strategy: 'default'
1961           submodule-recursive: '{submodule-recursive}'
1962
1963     wrappers:
1964       - infra-wrappers:
1965           build-timeout: '{build-timeout}'
1966
1967     triggers:
1968       # 11 AM UTC
1969       - timed: 'H 11 * * *'
1970       - gerrit-trigger-release-manually:
1971           server: '{server-name}'
1972           project: '{project}'
1973           branch: '{branch}'
1974
1975     builders:
1976       - provide-maven-settings:
1977           global-settings-file: 'global-settings'
1978           settings-file: '{mvn-settings}'
1979       - maven-install:
1980           maven-version: '{maven-version}'
1981
1982       - inject:
1983           properties-file: version.properties
1984
1985       - shell: !include-raw-escape: include-update-pom-versions.sh
1986
1987       - maven-target:
1988           maven-version: '{maven-version}'
1989           goals: 'clean deploy site:site site:stage-deploy -B
1990             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1991           properties:
1992             - '{maven-deploy-properties}'
1993           settings: '{mvn-settings}'
1994           settings-type: cfp
1995           global-settings: 'global-settings'
1996           global-settings-type: cfp
1997
1998     publishers:
1999       - infra-shiplogs:
2000           maven-version: '{maven-version}'
2001
2002 - job-template:
2003     # Job template for Java daily release jobs
2004     #
2005     # The purpose of this job template is to run:
2006     # 1. inject a version.properties file and set versions
2007     # 2. change version in all POM files to the release version specified
2008     #     in version.properties. This is done using a script instread of
2009     #     the mvn version plugin that assumes some specific parent structure
2010     #
2011     # The POM files are required to use the Maven staging plugin so the deploy
2012     # does not deploy directly to the release repo.
2013     #
2014     # Required Variables:
2015     #     branch:    git branch (eg. stable/lithium or master)
2016     #     pom:       name/location of the pom.xml file relative to the workspace
2017     #     pattern:   ant file-path pattern relative to the workspace used to
2018     #                trigger the job
2019
2020     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
2021
2022     project-type: freestyle
2023     node: '{build-node}'
2024     disabled: '{disabled}'
2025     maven-deploy-properties:
2026     properties:
2027       - infra-properties:
2028           build-days-to-keep: '{build-days-to-keep}'
2029
2030     parameters:
2031       - infra-parameters:
2032           project: '{project}'
2033           branch: '{branch}'
2034           refspec: 'refs/heads/{branch}'
2035           artifacts: '{archive-artifacts}'
2036       - maven-exec:
2037           maven-version: '{maven-version}'
2038
2039     scm:
2040       - gerrit-trigger-scm:
2041           refspec: ''
2042           choosing-strategy: 'default'
2043           submodule-recursive: '{submodule-recursive}'
2044
2045     wrappers:
2046       - infra-wrappers:
2047           build-timeout: '{build-timeout}'
2048
2049     triggers:
2050       # 11 AM UTC
2051       - timed: 'H 11 * * *'
2052       - gerrit-trigger-release-manually:
2053           server: '{server-name}'
2054           project: '{project}'
2055           branch: '{branch}'
2056           files: '{pattern}'
2057
2058     builders:
2059       - provide-maven-settings:
2060           global-settings-file: 'global-settings'
2061           settings-file: '{mvn-settings}'
2062       - maven-install:
2063           maven-version: '{maven-version}'
2064
2065       - inject:
2066           properties-file: version.properties
2067
2068       - shell: !include-raw-escape: include-update-pom-versions.sh
2069
2070       - maven-target:
2071           maven-version: '{maven-version}'
2072           pom: '{pom}'
2073           goals: 'clean deploy site:site site:stage-deploy -B
2074             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2075           properties:
2076             - '{maven-deploy-properties}'
2077           settings: '{mvn-settings}'
2078           settings-type: cfp
2079           global-settings: 'global-settings'
2080           global-settings-type: cfp
2081
2082     publishers:
2083       - infra-shiplogs:
2084           maven-version: '{maven-version}'
2085
2086 - job-template:
2087     # Job template for Java daily release jobs
2088     #
2089     # The purpose of this job template is to run:
2090     #  1. inject a version.properties file and set versions
2091     #  2. change version in all POM files to the release version specified
2092     #     in version.properties. This is done using a script instread of
2093     #     the mvn version plugin that assumes some specific parent structure
2094     #     This version does NOT change the version within the <parent> tag
2095     #
2096     # The POM files are required to use the Maven staging plugin so the deploy
2097     # does not deploy directly to the release repo.
2098     #
2099     # Required Variables:
2100     #     branch:    git branch (eg. stable/lithium or master)
2101     #     pom:       name/location of the pom.xml file relative to the workspace
2102     #     pattern:   ant file-path pattern relative to the workspace used to
2103     #                trigger the job
2104
2105     name: '{project-name}-{stream}-{subproject}-release-version3-java-daily'
2106
2107     project-type: freestyle
2108     node: '{build-node}'
2109     disabled: '{disabled}'
2110     maven-deploy-properties:
2111     properties:
2112       - infra-properties:
2113           build-days-to-keep: '{build-days-to-keep}'
2114
2115     parameters:
2116       - infra-parameters:
2117           project: '{project}'
2118           branch: '{branch}'
2119           refspec: 'refs/heads/{branch}'
2120           artifacts: '{archive-artifacts}'
2121       - maven-exec:
2122           maven-version: '{maven-version}'
2123
2124     scm:
2125       - gerrit-trigger-scm:
2126           refspec: ''
2127           choosing-strategy: 'default'
2128           submodule-recursive: '{submodule-recursive}'
2129
2130     wrappers:
2131       - infra-wrappers:
2132           build-timeout: '{build-timeout}'
2133
2134     triggers:
2135       # 11 AM UTC
2136       - timed: 'H 11 * * *'
2137       - gerrit-trigger-release-manually:
2138           server: '{server-name}'
2139           project: '{project}'
2140           branch: '{branch}'
2141           files: '{pattern}'
2142
2143     builders:
2144       - provide-maven-settings:
2145           global-settings-file: 'global-settings'
2146           settings-file: '{mvn-settings}'
2147       - maven-install:
2148           maven-version: '{maven-version}'
2149
2150       - inject:
2151           properties-file: version.properties
2152
2153       - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh
2154
2155       - maven-target:
2156           maven-version: '{maven-version}'
2157           pom: '{pom}'
2158           goals: 'clean deploy site:site site:stage-deploy -B
2159             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2160           properties:
2161             - '{maven-deploy-properties}'
2162           settings: '{mvn-settings}'
2163           settings-type: cfp
2164           global-settings: 'global-settings'
2165           global-settings-type: cfp
2166
2167     publishers:
2168       - infra-shiplogs:
2169           maven-version: '{maven-version}'
2170
2171 - job-template:
2172     # Job template for Java merge jobs for SDC specific repos
2173     #
2174     # The purpose of this job template is to run:
2175     # 1. maven clean deploy
2176     #
2177     # Required Variables:
2178     #     branch:    git branch (eg. stable/lithium or master)
2179
2180     name: '{project-name}-{stream}-sdc-merge-java'
2181
2182     project-type: freestyle
2183     node: 'ubuntu1604-docker-8c-8g'
2184     build-timeout: 120
2185
2186     properties:
2187       - infra-properties:
2188           build-days-to-keep: '{build-days-to-keep}'
2189
2190     parameters:
2191       - infra-parameters:
2192           project: '{project}'
2193           branch: '{branch}'
2194           refspec: 'refs/heads/{branch}'
2195           artifacts: '{archive-artifacts}'
2196       - maven-exec:
2197           maven-version: '{maven-version}'
2198
2199     scm:
2200       - gerrit-trigger-scm:
2201           refspec: ''
2202           choosing-strategy: 'default'
2203           submodule-recursive: '{submodule-recursive}'
2204
2205     wrappers:
2206       - infra-wrappers:
2207           build-timeout: '{build-timeout}'
2208
2209     triggers:
2210       - gerrit-trigger-patch-merged:
2211           server: '{server-name}'
2212           project: '{project}'
2213           branch: '{branch}'
2214           files: '**'
2215
2216     builders:
2217       - provide-maven-settings:
2218           global-settings-file: 'global-settings'
2219           settings-file: '{mvn-settings}'
2220
2221       - docker-login
2222
2223       - maven-docker-push-daily-test:
2224           maven-version: '{maven-version}'
2225           mvn-settings: '{mvn-settings}'
2226           pom: '{docker-pom}'
2227           # use default as mvn-profile if profile is not needed
2228           mvn-profile: '{mvn-profile}'
2229
2230     publishers:
2231       - infra-shiplogs:
2232           maven-version: '{maven-version}'
2233
2234 - job-template:
2235     # Job template for building & pushing docker images for AAI specific repos
2236     #
2237     # The purpose of this job template is to run:
2238     #  1. login to the docker registry
2239     #  2. run maven clean install goals skipping tests
2240     #  3. run maven goals
2241     #
2242     # Required Variables:
2243     #     pom:       name/location of the pom.xml file relative to the workspace
2244     #     maven-properties: properties passed to maven
2245
2246     name: '{project-name}-{stream}-aai-docker-java-version-daily'
2247     project-type: freestyle
2248     node: 'ubuntu1604-docker-8c-8g'
2249     disabled: '{disabled}'
2250     properties:
2251       - infra-properties:
2252           build-days-to-keep: '{build-days-to-keep}'
2253
2254     parameters:
2255       - infra-parameters:
2256           project: '{project}'
2257           branch: '{branch}'
2258           refspec: 'refs/heads/{branch}'
2259           artifacts: '{archive-artifacts}'
2260       - maven-exec:
2261           maven-version: '{maven-version}'
2262
2263     scm:
2264       - gerrit-trigger-scm:
2265           refspec: ''
2266           choosing-strategy: 'default'
2267           submodule-recursive: '{submodule-recursive}'
2268
2269     wrappers:
2270       - infra-wrappers:
2271           build-timeout: '{build-timeout}'
2272
2273     triggers:
2274       # 12 AM UTC
2275       - timed: 'H 12 * * *'
2276       - gerrit-trigger-release-manually:
2277           server: '{server-name}'
2278           project: '{project}'
2279           branch: '{branch}'
2280
2281     builders:
2282
2283       - provide-maven-settings:
2284           global-settings-file: 'global-settings'
2285           settings-file: '{mvn-settings}'
2286
2287       - docker-login
2288
2289       - maven-target:
2290           maven-version: '{maven-version}'
2291           pom: 'pom.xml'
2292           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2293           settings: '{mvn-settings}'
2294           settings-type: cfp
2295           global-settings: 'global-settings'
2296           global-settings-type: cfp
2297
2298       - maven-target:
2299           maven-version: '{maven-version}'
2300           pom: '{pom}'
2301           goals: '{mvn-goals}'
2302           settings: '{mvn-settings}'
2303           settings-type: cfp
2304           global-settings: 'global-settings'
2305           global-settings-type: cfp
2306           properties:
2307             - maven.test.skip=true
2308             - docker.pull.registry=nexus3.onap.org:10001
2309             - docker.push.registry=nexus3.onap.org:10003
2310
2311     publishers:
2312       - infra-shiplogs:
2313           maven-version: '{maven-version}'
2314