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