Remove older merge/release jobs
[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: false
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: false
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     node: '{build-node}'
478     disabled: false
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: false
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: false
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: false
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 merge jobs
781     #
782     # The purpose of this job template is to run:
783     # 1. maven clean deploy
784     #
785     # Required Variables:
786     #     branch:    git branch (eg. stable/lithium or master)
787
788     name: '{project-name}-{stream}-merge-java'
789
790     project-type: freestyle
791     node: '{build-node}'
792
793     properties:
794       - infra-properties:
795           build-days-to-keep: '{build-days-to-keep}'
796
797     parameters:
798       - infra-parameters:
799           project: '{project}'
800           branch: '{branch}'
801           refspec: 'refs/heads/{branch}'
802           artifacts: '{archive-artifacts}'
803       - maven-exec:
804           maven-version: '{maven-version}'
805
806     scm:
807       - gerrit-trigger-scm:
808           refspec: ''
809           choosing-strategy: 'default'
810           submodule-recursive: '{submodule-recursive}'
811
812     wrappers:
813       - infra-wrappers:
814           build-timeout: '{build-timeout}'
815
816     triggers:
817       - gerrit-trigger-patch-merged:
818           server: '{server-name}'
819           project: '{project}'
820           branch: '{branch}'
821           files: '**'
822
823     builders:
824       - provide-maven-settings:
825           global-settings-file: 'global-settings'
826           settings-file: '{mvn-settings}'
827       - maven-target:
828           maven-version: '{maven-version}'
829           goals: 'clean deploy -B
830             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
831           settings: '{mvn-settings}'
832           settings-type: cfp
833           global-settings: 'global-settings'
834           global-settings-type: cfp
835
836     publishers:
837       - infra-shiplogs:
838           maven-version: '{maven-version}'
839
840 - job-template:
841     # Job template for Java merge jobs based on
842     #   '{project-name}-{stream}-merge-java'
843     # The purpose of this job template is to run:
844     # 1. maven clean deploy
845     #
846     # This project supports maven properties.
847     #
848     # Required Variables:
849     #     branch:    git branch (eg. stable/lithium or master)
850     #     maven-properties: properties passed to maven
851
852     name: '{project-name}-{stream}-merge-properties-java'
853
854     project-type: freestyle
855     node: '{build-node}'
856
857     properties:
858       - infra-properties:
859           build-days-to-keep: '{build-days-to-keep}'
860
861     parameters:
862       - infra-parameters:
863           project: '{project}'
864           branch: '{branch}'
865           refspec: 'refs/heads/{branch}'
866           artifacts: '{archive-artifacts}'
867       - maven-exec:
868           maven-version: '{maven-version}'
869
870     scm:
871       - gerrit-trigger-scm:
872           refspec: ''
873           choosing-strategy: 'default'
874           submodule-recursive: '{submodule-recursive}'
875
876     wrappers:
877       - infra-wrappers:
878           build-timeout: '{build-timeout}'
879
880     triggers:
881       - gerrit-trigger-patch-merged:
882           server: '{server-name}'
883           project: '{project}'
884           branch: '{branch}'
885           files: '**'
886
887     builders:
888       - provide-maven-settings:
889           global-settings-file: 'global-settings'
890           settings-file: '{mvn-settings}'
891       - maven-target:
892           maven-version: '{maven-version}'
893           goals: 'clean deploy -B
894             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
895           settings: '{mvn-settings}'
896           settings-type: cfp
897           global-settings: 'global-settings'
898           global-settings-type: cfp
899           properties: '{obj:mvn_properties}'
900
901     publishers:
902       - infra-shiplogs:
903           maven-version: '{maven-version}'
904
905 - job-template:
906     # Job template for Java merge jobs that takes a maven template
907     #
908     # The purpose of this job template is to run:
909     # 1. maven clean deploy -P {mvn-profile}
910     #
911     # Required Variables:
912     #     branch:    git branch (eg. stable/lithium or master)
913
914     name: '{project-name}-{stream}-merge-profile-java'
915
916     project-type: freestyle
917     node: '{build-node}'
918
919     properties:
920       - infra-properties:
921           build-days-to-keep: '{build-days-to-keep}'
922
923     parameters:
924       - infra-parameters:
925           project: '{project}'
926           branch: '{branch}'
927           refspec: 'refs/heads/{branch}'
928           artifacts: '{archive-artifacts}'
929       - maven-exec:
930           maven-version: '{maven-version}'
931
932     scm:
933       - gerrit-trigger-scm:
934           refspec: ''
935           choosing-strategy: 'default'
936           submodule-recursive: '{submodule-recursive}'
937
938     wrappers:
939       - infra-wrappers:
940           build-timeout: '{build-timeout}'
941
942     triggers:
943       - gerrit-trigger-patch-merged:
944           server: '{server-name}'
945           project: '{project}'
946           branch: '{branch}'
947           files: '**'
948
949     builders:
950       - provide-maven-settings:
951           global-settings-file: 'global-settings'
952           settings-file: '{mvn-settings}'
953
954       - docker-login
955
956       - maven-target:
957           maven-version: '{maven-version}'
958           goals: 'clean deploy -P {mvn-profile} -B
959             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
960           settings: '{mvn-settings}'
961           settings-type: cfp
962           global-settings: 'global-settings'
963           global-settings-type: cfp
964           properties:
965             - docker.pull.registry=nexus3.onap.org:10001
966             - docker.push.registry=nexus3.onap.org:10003
967
968     publishers:
969       - infra-shiplogs:
970           maven-version: '{maven-version}'
971
972 - job-template:
973     # Job template for Java merge jobs that should also be triggered by upstream
974     # merges
975     #
976     # Required Variables:
977     #   stream:         release stream
978     #   branch:         git branch
979     #   dependencies:   fully qualified upstream job name to trigger on
980     #                   this may be ''
981
982     name: '{project-name}-{stream}-downstream-merge-java'
983
984     project-type: freestyle
985     node: '{build-node}'
986
987     properties:
988       - infra-properties:
989           build-days-to-keep: '{build-days-to-keep}'
990
991     parameters:
992       - infra-parameters:
993           project: '{project}'
994           branch: '{branch}'
995           refspec: 'refs/heads/{branch}'
996           artifacts: '{archive-artifacts}'
997       - maven-exec:
998           maven-version: '{maven-version}'
999
1000     scm:
1001       - gerrit-trigger-scm:
1002           refspec: ''
1003           choosing-strategy: 'default'
1004           submodule-recursive: '{submodule-recursive}'
1005
1006     wrappers:
1007       - infra-wrappers:
1008           build-timeout: '{build-timeout}'
1009
1010     triggers:
1011       - reverse:
1012           jobs: '{dependencies}'
1013           result: 'success'
1014       - gerrit-trigger-patch-merged:
1015           server: '{server-name}'
1016           project: '{project}'
1017           branch: '{branch}'
1018           files: '**'
1019
1020     builders:
1021       - provide-maven-settings:
1022           global-settings-file: 'global-settings'
1023           settings-file: '{mvn-settings}'
1024       - maven-target:
1025           maven-version: '{maven-version}'
1026           goals: 'clean deploy -B
1027             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1028           settings: '{mvn-settings}'
1029           settings-type: cfp
1030           global-settings: 'global-settings'
1031           global-settings-type: cfp
1032
1033     publishers:
1034       - infra-shiplogs:
1035           maven-version: '{maven-version}'
1036
1037 - job-template:
1038     # Job template for Java merge jobs with POM not at the root
1039     #
1040     # The purpose of this job template is to run:
1041     # 1. maven clean deploy
1042     #
1043     # This job supports subprojects.
1044     #
1045     # Required Variables:
1046     #     branch:    git branch (eg. stable/lithium or master)
1047     #     pom:       name/location of the pom.xml file relative to the workspace
1048     #     pattern:   ant file-path pattern relative to the workspace used to
1049     #                trigger the job
1050
1051     name: '{project-name}-{stream}-{subproject}-merge-java'
1052
1053     project-type: freestyle
1054     node: '{build-node}'
1055
1056     properties:
1057       - infra-properties:
1058           build-days-to-keep: '{build-days-to-keep}'
1059
1060     parameters:
1061       - infra-parameters:
1062           project: '{project}'
1063           branch: '{branch}'
1064           refspec: 'refs/heads/{branch}'
1065           artifacts: '{archive-artifacts}'
1066       - maven-exec:
1067           maven-version: '{maven-version}'
1068
1069     scm:
1070       - gerrit-trigger-scm:
1071           refspec: ''
1072           choosing-strategy: 'default'
1073           submodule-recursive: '{submodule-recursive}'
1074
1075     wrappers:
1076       - infra-wrappers:
1077           build-timeout: '{build-timeout}'
1078
1079     triggers:
1080       - gerrit-trigger-patch-merged:
1081           server: '{server-name}'
1082           project: '{project}'
1083           branch: '{branch}'
1084           files: '{pattern}'
1085
1086     builders:
1087       - provide-maven-settings:
1088           global-settings-file: 'global-settings'
1089           settings-file: '{mvn-settings}'
1090       - maven-target:
1091           maven-version: '{maven-version}'
1092           pom: '{pom}'
1093           goals: 'clean deploy -B
1094             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1095           settings: '{mvn-settings}'
1096           settings-type: cfp
1097           global-settings: 'global-settings'
1098           global-settings-type: cfp
1099
1100     publishers:
1101       - infra-shiplogs:
1102           maven-version: '{maven-version}'
1103
1104 - job-template:
1105     # Job template for Docker daily jobs
1106     #
1107     # The purpose of this job template is to run:
1108     # 1. login to the docker registry
1109     # 2. docker push
1110     #
1111     # Required Variables:
1112     #     branch:    git branch (eg. stable/lithium or master)
1113
1114     name: '{project-name}-{stream}-docker-java-daily'
1115     project-type: freestyle
1116     node: 'ubuntu1604-docker-8c-8g'
1117     disabled: false
1118     properties:
1119       - infra-properties:
1120           build-days-to-keep: '{build-days-to-keep}'
1121
1122     parameters:
1123       - infra-parameters:
1124           project: '{project}'
1125           branch: '{branch}'
1126           refspec: 'refs/heads/{branch}'
1127           artifacts: '{archive-artifacts}'
1128       - maven-exec:
1129           maven-version: '{maven-version}'
1130
1131     scm:
1132       - gerrit-trigger-scm:
1133           refspec: ''
1134           choosing-strategy: 'default'
1135           submodule-recursive: '{submodule-recursive}'
1136
1137     wrappers:
1138       - infra-wrappers:
1139           build-timeout: '{build-timeout}'
1140
1141     triggers:
1142       # 12 AM UTC
1143       - timed: 'H 12 * * *'
1144       - gerrit-trigger-release-manually:
1145           server: '{server-name}'
1146           project: '{project}'
1147           branch: '{branch}'
1148
1149     builders:
1150
1151       - provide-maven-settings:
1152           global-settings-file: 'global-settings'
1153           settings-file: '{mvn-settings}'
1154
1155       - docker-login
1156
1157       - maven-docker-push-daily:
1158           maven-version: '{maven-version}'
1159           mvn-settings: '{mvn-settings}'
1160           pom: '{docker-pom}'
1161           # use default as mvn-profile if profile is not needed
1162           mvn-profile: '{mvn-profile}'
1163
1164     publishers:
1165       - infra-shiplogs:
1166           maven-version: '{maven-version}'
1167
1168 - job-template:
1169     # Job template for building & pushing docker images
1170     #
1171     # The purpose of this job template is to run:
1172     #  1. login to the docker registry
1173     #  2. maven clean deploy on the specified profile
1174     #
1175     # This job uses a conditional regex match step to set versions.
1176     # This template supports maven properties.
1177     #
1178     # Required Variables:
1179     #     pom:       name/location of the pom.xml file relative to the workspace
1180     #     profile:   the docker profile defined in the pom
1181     #     maven-properties: properties passed to maven
1182
1183     name: '{project-name}-{stream}-docker-java-properties-daily'
1184     project-type: freestyle
1185     node: 'ubuntu1604-docker-8c-8g'
1186     disabled: false
1187     properties:
1188       - infra-properties:
1189           build-days-to-keep: '{build-days-to-keep}'
1190     parameters:
1191       - infra-parameters:
1192           project: '{project}'
1193           branch: '{branch}'
1194           refspec: 'refs/heads/{branch}'
1195           artifacts: '{archive-artifacts}'
1196       - maven-exec:
1197           maven-version: '{maven-version}'
1198     scm:
1199       - gerrit-trigger-scm:
1200           refspec: ''
1201           choosing-strategy: 'default'
1202           submodule-recursive: '{submodule-recursive}'
1203     wrappers:
1204       - infra-wrappers:
1205           build-timeout: '{build-timeout}'
1206     triggers:
1207       # 12 AM UTC
1208       - timed: 'H 12 * * *'
1209       - gerrit-trigger-release-manually:
1210           server: '{server-name}'
1211           project: '{project}'
1212           branch: '{branch}'
1213     builders:
1214       - provide-maven-settings:
1215           global-settings-file: 'global-settings'
1216           settings-file: '{mvn-settings}'
1217       - conditional-step:
1218           condition-kind: regex-match
1219           regex: DoSetVersion
1220           label: '{setVersion}'
1221           steps:
1222             - inject:
1223                 properties-file: version.properties
1224             - maven-target:
1225                 maven-version: '{maven-version}'
1226                 goals: 'versions:set versions:update-child-modules versions:commit -B'
1227                 properties:
1228                   - 'newVersion=${{release_version}}'
1229                 settings: '{mvn-settings}'
1230                 settings-type: cfp
1231                 global-settings: 'global-settings'
1232                 global-settings-type: cfp
1233       - docker-login
1234       - maven-docker-push-daily:
1235           maven-version: '{maven-version}'
1236           mvn-settings: '{mvn-settings}'
1237           pom: '{docker-pom}'
1238           properties: '{maven-properties}'
1239           # use default as mvn-profile if profile is not needed
1240           mvn-profile: '{mvn-profile}'
1241     publishers:
1242       - infra-shiplogs:
1243           maven-version: '{maven-version}'
1244
1245 - job-template:
1246     # Job template for building & pushing docker images
1247     #
1248     # The purpose of this job template is to run:
1249     #  1. login to the docker registry
1250     #  2. run a specified shell builder
1251     #
1252     # Required Variables:
1253     #     pom:       name/location of the pom.xml file relative to the workspace
1254     #     maven-properties: properties passed to maven
1255
1256     name: '{project-name}-{stream}-docker-java-shell-daily'
1257     project-type: freestyle
1258     node: 'ubuntu1604-docker-8c-8g'
1259     disabled: false
1260     properties:
1261       - infra-properties:
1262           build-days-to-keep: '{build-days-to-keep}'
1263
1264     parameters:
1265       - infra-parameters:
1266           project: '{project}'
1267           branch: '{branch}'
1268           refspec: 'refs/heads/{branch}'
1269           artifacts: '{archive-artifacts}'
1270       - maven-exec:
1271           maven-version: '{maven-version}'
1272
1273     scm:
1274       - gerrit-trigger-scm:
1275           refspec: ''
1276           choosing-strategy: 'default'
1277           submodule-recursive: '{submodule-recursive}'
1278
1279     wrappers:
1280       - infra-wrappers:
1281           build-timeout: '{build-timeout}'
1282
1283     triggers:
1284       # 12 AM UTC
1285       - timed: 'H 12 * * *'
1286       - gerrit-trigger-release-manually:
1287           server: '{server-name}'
1288           project: '{project}'
1289           branch: '{branch}'
1290
1291     builders:
1292
1293       - provide-maven-settings:
1294           global-settings-file: 'global-settings'
1295           settings-file: '{mvn-settings}'
1296
1297       - docker-login
1298
1299       - maven-target:
1300           maven-version: '{maven-version}'
1301           goals: '{mvn-goals}'
1302           settings: '{mvn-settings}'
1303           settings-type: cfp
1304           global-settings: 'global-settings'
1305           global-settings-type: cfp
1306
1307       - shell: '{script}'
1308
1309     publishers:
1310       - infra-shiplogs:
1311           maven-version: '{maven-version}'
1312
1313 - job-template:
1314     # Job template for building & pushing docker images
1315     #
1316     # The purpose of this job template is to run:
1317     #  1. login to the docker registry
1318     #  2. inject a version.properties file and set versions
1319     #  3. run a specified shell builder
1320     #
1321     # Required Variables:
1322     #     pom:       name/location of the pom.xml file relative to the workspace
1323     #     maven-properties: properties passed to maven
1324
1325     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1326     project-type: freestyle
1327     node: 'ubuntu1604-docker-8c-8g'
1328     disabled: false
1329     properties:
1330       - infra-properties:
1331           build-days-to-keep: '{build-days-to-keep}'
1332
1333     parameters:
1334       - infra-parameters:
1335           project: '{project}'
1336           branch: '{branch}'
1337           refspec: 'refs/heads/{branch}'
1338           artifacts: '{archive-artifacts}'
1339       - maven-exec:
1340           maven-version: '{maven-version}'
1341
1342     scm:
1343       - gerrit-trigger-scm:
1344           refspec: ''
1345           choosing-strategy: 'default'
1346           submodule-recursive: '{submodule-recursive}'
1347
1348     wrappers:
1349       - infra-wrappers:
1350           build-timeout: '{build-timeout}'
1351
1352     triggers:
1353       # 12 AM UTC
1354       - timed: 'H 12 * * *'
1355       - gerrit-trigger-release-manually:
1356           server: '{server-name}'
1357           project: '{project}'
1358           branch: '{branch}'
1359
1360     builders:
1361
1362       - provide-maven-settings:
1363           global-settings-file: 'global-settings'
1364           settings-file: '{mvn-settings}'
1365
1366       - inject:
1367           properties-file: version.properties
1368
1369       - maven-target:
1370           maven-version: '{maven-version}'
1371           goals: 'versions:set versions:update-child-modules versions:commit -B'
1372           properties:
1373             - 'newVersion=${{release_version}}'
1374           settings: '{mvn-settings}'
1375           settings-type: cfp
1376           global-settings: 'global-settings'
1377           global-settings-type: cfp
1378
1379       - docker-login
1380
1381       - maven-target:
1382           maven-version: '{maven-version}'
1383           goals: '{mvn-goals}'
1384           settings: '{mvn-settings}'
1385           settings-type: cfp
1386           global-settings: 'global-settings'
1387           global-settings-type: cfp
1388
1389       - shell: '{script}'
1390
1391     publishers:
1392       - infra-shiplogs:
1393           maven-version: '{maven-version}'
1394
1395 - job-template:
1396     # Job template for building & pushing docker images
1397     #
1398     # The purpose of this job template is to run:
1399     #  1. login to the docker registry
1400     #  2. inject a version.properties file and set versions
1401     #  3. run a specified shell builder
1402     #
1403     # This template supports subprojects.
1404     #
1405     # Required Variables:
1406     #     pom:       name/location of the pom.xml file relative to the workspace
1407     #     maven-properties: properties passed to maven
1408
1409     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1410     project-type: freestyle
1411     node: 'ubuntu1604-docker-8c-8g'
1412     disabled: false
1413     properties:
1414       - infra-properties:
1415           build-days-to-keep: '{build-days-to-keep}'
1416
1417     parameters:
1418       - infra-parameters:
1419           project: '{project}'
1420           branch: '{branch}'
1421           refspec: 'refs/heads/{branch}'
1422           artifacts: '{archive-artifacts}'
1423       - maven-exec:
1424           maven-version: '{maven-version}'
1425
1426     scm:
1427       - gerrit-trigger-scm:
1428           refspec: ''
1429           choosing-strategy: 'default'
1430           submodule-recursive: '{submodule-recursive}'
1431
1432     wrappers:
1433       - infra-wrappers:
1434           build-timeout: '{build-timeout}'
1435
1436     triggers:
1437       # 12 AM UTC
1438       - timed: 'H 12 * * *'
1439       - gerrit-trigger-release-manually:
1440           server: '{server-name}'
1441           project: '{project}'
1442           branch: '{branch}'
1443
1444     builders:
1445
1446       - provide-maven-settings:
1447           global-settings-file: 'global-settings'
1448           settings-file: '{mvn-settings}'
1449
1450       - inject:
1451           properties-file: version.properties
1452
1453       - maven-target:
1454           maven-version: '{maven-version}'
1455           pom: '{pom}'
1456           goals: 'versions:set versions:update-child-modules versions:commit -B'
1457           properties:
1458             - 'newVersion=${{release_version}}'
1459           settings: '{mvn-settings}'
1460           settings-type: cfp
1461           global-settings: 'global-settings'
1462           global-settings-type: cfp
1463
1464       - docker-login
1465
1466       - maven-target:
1467           maven-version: '{maven-version}'
1468           pom: '{pom}'
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 docker push
1488     #
1489     # Required Variables:
1490     #     pom:       name/location of the pom.xml file relative to the workspace
1491     #     profile:   the docker profile defined in the pom
1492     #     maven-properties: properties passed to maven
1493
1494     name: '{project-name}-{stream}-docker-version-java-daily'
1495     project-type: freestyle
1496     node: 'ubuntu1604-docker-8c-8g'
1497     disabled: false
1498     properties:
1499       - infra-properties:
1500           build-days-to-keep: '{build-days-to-keep}'
1501
1502     parameters:
1503       - infra-parameters:
1504           project: '{project}'
1505           branch: '{branch}'
1506           refspec: 'refs/heads/{branch}'
1507           artifacts: '{archive-artifacts}'
1508       - maven-exec:
1509           maven-version: '{maven-version}'
1510
1511     scm:
1512       - gerrit-trigger-scm:
1513           refspec: ''
1514           choosing-strategy: 'default'
1515           submodule-recursive: '{submodule-recursive}'
1516
1517     wrappers:
1518       - infra-wrappers:
1519           build-timeout: '{build-timeout}'
1520
1521     triggers:
1522       # 12 AM UTC
1523       - timed: 'H 12 * * *'
1524       - gerrit-trigger-release-manually:
1525           server: '{server-name}'
1526           project: '{project}'
1527           branch: '{branch}'
1528
1529     builders:
1530
1531       - provide-maven-settings:
1532           global-settings-file: 'global-settings'
1533           settings-file: '{mvn-settings}'
1534
1535       - inject:
1536           properties-file: version.properties
1537
1538       - maven-target:
1539           maven-version: '{maven-version}'
1540           goals: 'versions:set versions:update-child-modules versions:commit -B'
1541           properties:
1542             - 'newVersion=${{release_version}}'
1543           settings: '{mvn-settings}'
1544           settings-type: cfp
1545           global-settings: 'global-settings'
1546           global-settings-type: cfp
1547
1548       - docker-login
1549
1550       - maven-docker-push-daily:
1551           maven-version: '{maven-version}'
1552           mvn-settings: '{mvn-settings}'
1553           pom: '{docker-pom}'
1554           # use default as mvn-profile if profile is not needed
1555           mvn-profile: '{mvn-profile}'
1556
1557     publishers:
1558       - infra-shiplogs:
1559           maven-version: '{maven-version}'
1560
1561 - job-template:
1562     # Job template for building & pushing docker images
1563     #
1564     # The purpose of this job template is to run:
1565     #  1. inject a version.properties file and set versions
1566     #  2. login to the docker registry
1567     #  3. run a docker push
1568     #
1569     # This job supports subprojects.
1570     #
1571     # Required Variables:
1572     #     pom:       name/location of the pom.xml file relative to the workspace
1573     #     maven-properties: properties passed to maven
1574
1575     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1576     project-type: freestyle
1577     node: 'ubuntu1604-docker-8c-8g'
1578     disabled: false
1579     properties:
1580       - infra-properties:
1581           build-days-to-keep: '{build-days-to-keep}'
1582
1583     parameters:
1584       - infra-parameters:
1585           project: '{project}'
1586           branch: '{branch}'
1587           refspec: 'refs/heads/{branch}'
1588           artifacts: '{archive-artifacts}'
1589       - maven-exec:
1590           maven-version: '{maven-version}'
1591
1592     scm:
1593       - gerrit-trigger-scm:
1594           refspec: ''
1595           choosing-strategy: 'default'
1596           submodule-recursive: '{submodule-recursive}'
1597
1598     wrappers:
1599       - infra-wrappers:
1600           build-timeout: '{build-timeout}'
1601
1602     triggers:
1603       # 12 AM UTC
1604       - timed: 'H 12 * * *'
1605       - gerrit-trigger-release-manually:
1606           server: '{server-name}'
1607           project: '{project}'
1608           branch: '{branch}'
1609
1610     builders:
1611
1612       - provide-maven-settings:
1613           global-settings-file: 'global-settings'
1614           settings-file: '{mvn-settings}'
1615
1616       - inject:
1617           properties-file: version.properties
1618
1619       - maven-target:
1620           maven-version: '{maven-version}'
1621           pom: '{pom}'
1622           goals: 'versions:set versions:update-child-modules versions:commit -B'
1623           properties:
1624             - 'newVersion=${{release_version}}'
1625           settings: '{mvn-settings}'
1626           settings-type: cfp
1627           global-settings: 'global-settings'
1628           global-settings-type: cfp
1629
1630       - docker-login
1631
1632       - maven-docker-push-daily:
1633           maven-version: '{maven-version}'
1634           pom: '{pom}'
1635           mvn-settings: '{mvn-settings}'
1636           pom: '{docker-pom}'
1637           # use default as mvn-profile if profile is not needed
1638           mvn-profile: '{mvn-profile}'
1639
1640     publishers:
1641       - infra-shiplogs:
1642           maven-version: '{maven-version}'
1643
1644 - job-template:
1645     # Job template for building & pushing docker images for AAI specific repos
1646     #
1647     # The purpose of this job template is to run:
1648     #  1. login to the docker registry
1649     #  2. run maven goals
1650     #  3. run include-docker-push.sh
1651     #
1652     # Required Variables:
1653     #     pom:       name/location of the pom.xml file relative to the workspace
1654     #     maven-properties: properties passed to maven
1655
1656     name: '{project-name}-{stream}-aai-docker-java-daily'
1657     project-type: freestyle
1658     node: 'ubuntu1604-docker-8c-8g'
1659     docker-image-name: ''
1660     disabled: false
1661     properties:
1662       - infra-properties:
1663           build-days-to-keep: '{build-days-to-keep}'
1664
1665     parameters:
1666       - infra-parameters:
1667           project: '{project}'
1668           branch: '{branch}'
1669           refspec: 'refs/heads/{branch}'
1670           artifacts: '{archive-artifacts}'
1671       - maven-exec:
1672           maven-version: '{maven-version}'
1673       - docker-image-name:
1674           docker-image-name: '{docker-image-name}'
1675
1676     scm:
1677       - gerrit-trigger-scm:
1678           refspec: ''
1679           choosing-strategy: 'default'
1680           submodule-recursive: '{submodule-recursive}'
1681
1682     wrappers:
1683       - infra-wrappers:
1684           build-timeout: '{build-timeout}'
1685
1686     triggers:
1687       # 12 AM UTC
1688       - timed: 'H 12 * * *'
1689       - gerrit-trigger-release-manually:
1690           server: '{server-name}'
1691           project: '{project}'
1692           branch: '{branch}'
1693
1694     builders:
1695
1696       - provide-maven-settings:
1697           global-settings-file: 'global-settings'
1698           settings-file: '{mvn-settings}'
1699
1700       - docker-login
1701
1702       - maven-target:
1703           maven-version: '{maven-version}'
1704           pom: 'pom.xml'
1705           goals: 'clean install -DskipTests -B
1706             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1707           settings: '{mvn-settings}'
1708           settings-type: cfp
1709           global-settings: 'global-settings'
1710           global-settings-type: cfp
1711
1712       - maven-target:
1713           maven-version: '{maven-version}'
1714           pom: '{pom}'
1715           goals: '{mvn-goals}'
1716           settings: '{mvn-settings}'
1717           settings-type: cfp
1718           global-settings: 'global-settings'
1719           global-settings-type: cfp
1720           properties:
1721             - maven.test.skip=true
1722             - docker.pull.registry=nexus3.onap.org:10001
1723             - docker.push.registry=nexus3.onap.org:10003
1724
1725       - shell: !include-raw-escape: include-docker-push.sh
1726
1727     publishers:
1728       - infra-shiplogs:
1729           maven-version: '{maven-version}'
1730
1731 - job-template:
1732     # Job template for building & pushing docker images for AAI specific repos
1733     #
1734     # The purpose of this job template is to run:
1735     #  1. login to the docker registry
1736     #  2. run maven goals
1737     #  3. run include-docker-push.sh
1738     #
1739     # This job supports subprojects
1740     #
1741     # Required Variables:
1742     #     pom:       name/location of the pom.xml file relative to the workspace
1743     #     maven-properties: properties passed to maven
1744
1745     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1746     project-type: freestyle
1747     node: 'ubuntu1604-docker-8c-8g'
1748     disabled: false
1749     docker-image-name: ''
1750
1751     properties:
1752       - infra-properties:
1753           build-days-to-keep: '{build-days-to-keep}'
1754
1755     parameters:
1756       - infra-parameters:
1757           project: '{project}'
1758           branch: '{branch}'
1759           refspec: 'refs/heads/{branch}'
1760           artifacts: '{archive-artifacts}'
1761       - maven-exec:
1762           maven-version: '{maven-version}'
1763       - docker-image-name:
1764           docker-image-name: '{docker-image-name}'
1765
1766     scm:
1767       - gerrit-trigger-scm:
1768           refspec: ''
1769           choosing-strategy: 'default'
1770           submodule-recursive: '{submodule-recursive}'
1771
1772     wrappers:
1773       - infra-wrappers:
1774           build-timeout: '{build-timeout}'
1775
1776     triggers:
1777       # 12 AM UTC
1778       - timed: 'H 12 * * *'
1779       - gerrit-trigger-release-manually:
1780           server: '{server-name}'
1781           project: '{project}'
1782           branch: '{branch}'
1783
1784     builders:
1785
1786       - provide-maven-settings:
1787           global-settings-file: 'global-settings'
1788           settings-file: '{mvn-settings}'
1789
1790       - docker-login
1791
1792       - maven-target:
1793           maven-version: '{maven-version}'
1794           pom: 'pom.xml'
1795           goals: 'clean install -DskipTests -B
1796             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1797           settings: '{mvn-settings}'
1798           settings-type: cfp
1799           global-settings: 'global-settings'
1800           global-settings-type: cfp
1801
1802       - maven-target:
1803           maven-version: '{maven-version}'
1804           pom: '{pom}'
1805           goals: '{mvn-goals}'
1806           settings: '{mvn-settings}'
1807           settings-type: cfp
1808           global-settings: 'global-settings'
1809           global-settings-type: cfp
1810           properties:
1811             - maven.test.skip=true
1812             - docker.pull.registry=nexus3.onap.org:10001
1813             - docker.push.registry=nexus3.onap.org:10003
1814
1815       - shell: !include-raw-escape: include-docker-push.sh
1816
1817     publishers:
1818       - infra-shiplogs:
1819           maven-version: '{maven-version}'
1820
1821 - job-template:
1822     # Job template for Java daily release jobs
1823     #
1824     # The purpose of this job template is to run:
1825     # 1. inject a version.properties file and set versions
1826     # 2. change version in all POM files to the release version specified
1827     #    in version.properties. This is done using a script instread of
1828     #    the mvn version plugin that assumes some specific parent structure
1829     #
1830     # The POM files are required to use the Maven staging plugin so the deploy
1831     # does not deploy directly to the release repo.
1832     #
1833     # Required Variables:
1834     #     branch:    git branch (eg. stable/lithium or master)
1835
1836     name: '{project-name}-{stream}-release-version2-java-daily'
1837
1838     project-type: freestyle
1839     node: '{build-node}'
1840     disabled: false
1841     maven-deploy-properties:
1842     properties:
1843       - infra-properties:
1844           build-days-to-keep: '{build-days-to-keep}'
1845
1846     parameters:
1847       - infra-parameters:
1848           project: '{project}'
1849           branch: '{branch}'
1850           refspec: 'refs/heads/{branch}'
1851           artifacts: '{archive-artifacts}'
1852       - maven-exec:
1853           maven-version: '{maven-version}'
1854
1855     scm:
1856       - gerrit-trigger-scm:
1857           refspec: ''
1858           choosing-strategy: 'default'
1859           submodule-recursive: '{submodule-recursive}'
1860
1861     wrappers:
1862       - infra-wrappers:
1863           build-timeout: '{build-timeout}'
1864
1865     triggers:
1866       # 11 AM UTC
1867       - timed: 'H 11 * * *'
1868       - gerrit-trigger-release-manually:
1869           server: '{server-name}'
1870           project: '{project}'
1871           branch: '{branch}'
1872
1873     builders:
1874       - provide-maven-settings:
1875           global-settings-file: 'global-settings'
1876           settings-file: '{mvn-settings}'
1877       - maven-install:
1878           maven-version: '{maven-version}'
1879
1880       - inject:
1881           properties-file: version.properties
1882
1883       - shell: !include-raw-escape: include-update-pom-versions.sh
1884
1885       - maven-target:
1886           maven-version: '{maven-version}'
1887           goals: 'clean deploy site:site site:stage-deploy -B
1888             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1889           properties:
1890             - '{maven-deploy-properties}'
1891           settings: '{mvn-settings}'
1892           settings-type: cfp
1893           global-settings: 'global-settings'
1894           global-settings-type: cfp
1895
1896     publishers:
1897       - infra-shiplogs:
1898           maven-version: '{maven-version}'
1899
1900 - job-template:
1901     # Job template for Java daily release jobs
1902     #
1903     # The purpose of this job template is to run:
1904     # 1. inject a version.properties file and set versions
1905     # 2. change version in all POM files to the release version specified
1906     #     in version.properties. This is done using a script instread of
1907     #     the mvn version plugin that assumes some specific parent structure
1908     #
1909     # The POM files are required to use the Maven staging plugin so the deploy
1910     # does not deploy directly to the release repo.
1911     #
1912     # Required Variables:
1913     #     branch:    git branch (eg. stable/lithium or master)
1914     #     pom:       name/location of the pom.xml file relative to the workspace
1915     #     pattern:   ant file-path pattern relative to the workspace used to
1916     #                trigger the job
1917
1918     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1919
1920     project-type: freestyle
1921     node: '{build-node}'
1922     disabled: false
1923     maven-deploy-properties:
1924     properties:
1925       - infra-properties:
1926           build-days-to-keep: '{build-days-to-keep}'
1927
1928     parameters:
1929       - infra-parameters:
1930           project: '{project}'
1931           branch: '{branch}'
1932           refspec: 'refs/heads/{branch}'
1933           artifacts: '{archive-artifacts}'
1934       - maven-exec:
1935           maven-version: '{maven-version}'
1936
1937     scm:
1938       - gerrit-trigger-scm:
1939           refspec: ''
1940           choosing-strategy: 'default'
1941           submodule-recursive: '{submodule-recursive}'
1942
1943     wrappers:
1944       - infra-wrappers:
1945           build-timeout: '{build-timeout}'
1946
1947     triggers:
1948       # 11 AM UTC
1949       - timed: 'H 11 * * *'
1950       - gerrit-trigger-release-manually:
1951           server: '{server-name}'
1952           project: '{project}'
1953           branch: '{branch}'
1954           files: '{pattern}'
1955
1956     builders:
1957       - provide-maven-settings:
1958           global-settings-file: 'global-settings'
1959           settings-file: '{mvn-settings}'
1960       - maven-install:
1961           maven-version: '{maven-version}'
1962
1963       - inject:
1964           properties-file: version.properties
1965
1966       - shell: !include-raw-escape: include-update-pom-versions.sh
1967
1968       - maven-target:
1969           maven-version: '{maven-version}'
1970           pom: '{pom}'
1971           goals: 'clean deploy site:site site:stage-deploy -B
1972             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1973           properties:
1974             - '{maven-deploy-properties}'
1975           settings: '{mvn-settings}'
1976           settings-type: cfp
1977           global-settings: 'global-settings'
1978           global-settings-type: cfp
1979
1980     publishers:
1981       - infra-shiplogs:
1982           maven-version: '{maven-version}'
1983
1984 - job-template:
1985     # Job template for Java daily release jobs
1986     #
1987     # The purpose of this job template is to run:
1988     #  1. inject a version.properties file and set versions
1989     #  2. change version in all POM files to the release version specified
1990     #     in version.properties. This is done using a script instread of
1991     #     the mvn version plugin that assumes some specific parent structure
1992     #     This version does NOT change the version within the <parent> tag
1993     #
1994     # The POM files are required to use the Maven staging plugin so the deploy
1995     # does not deploy directly to the release repo.
1996     #
1997     # Required Variables:
1998     #     branch:    git branch (eg. stable/lithium or master)
1999     #     pom:       name/location of the pom.xml file relative to the workspace
2000     #     pattern:   ant file-path pattern relative to the workspace used to
2001     #                trigger the job
2002
2003     name: '{project-name}-{stream}-{subproject}-release-version3-java-daily'
2004
2005     project-type: freestyle
2006     node: '{build-node}'
2007     disabled: false
2008     maven-deploy-properties:
2009     properties:
2010       - infra-properties:
2011           build-days-to-keep: '{build-days-to-keep}'
2012
2013     parameters:
2014       - infra-parameters:
2015           project: '{project}'
2016           branch: '{branch}'
2017           refspec: 'refs/heads/{branch}'
2018           artifacts: '{archive-artifacts}'
2019       - maven-exec:
2020           maven-version: '{maven-version}'
2021
2022     scm:
2023       - gerrit-trigger-scm:
2024           refspec: ''
2025           choosing-strategy: 'default'
2026           submodule-recursive: '{submodule-recursive}'
2027
2028     wrappers:
2029       - infra-wrappers:
2030           build-timeout: '{build-timeout}'
2031
2032     triggers:
2033       # 11 AM UTC
2034       - timed: 'H 11 * * *'
2035       - gerrit-trigger-release-manually:
2036           server: '{server-name}'
2037           project: '{project}'
2038           branch: '{branch}'
2039           files: '{pattern}'
2040
2041     builders:
2042       - provide-maven-settings:
2043           global-settings-file: 'global-settings'
2044           settings-file: '{mvn-settings}'
2045       - maven-install:
2046           maven-version: '{maven-version}'
2047
2048       - inject:
2049           properties-file: version.properties
2050
2051       - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh
2052
2053       - maven-target:
2054           maven-version: '{maven-version}'
2055           pom: '{pom}'
2056           goals: 'clean deploy site:site site:stage-deploy -B
2057             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2058           properties:
2059             - '{maven-deploy-properties}'
2060           settings: '{mvn-settings}'
2061           settings-type: cfp
2062           global-settings: 'global-settings'
2063           global-settings-type: cfp
2064
2065     publishers:
2066       - infra-shiplogs:
2067           maven-version: '{maven-version}'
2068
2069 - job-template:
2070     # Template for maven site plugin invocation
2071     #
2072     # It's designed to be triggered when the trigger-job job
2073     # succeeds as there's no need for new documentaiton
2074     # if the build job fails.
2075     #
2076     # The purpose of this job template is to run:
2077     # 1. maven set versions
2078     # 2. maven clean site
2079     #
2080     # Those parameters should be set :
2081     # - site-pom : the pom file that contains the site confiration
2082     # - trigger-job : the name of the project that triggers this job
2083     #                     upon success. The job name can be
2084     #                     parameterized.
2085
2086     name: '{project-name}-{stream}-stage-site-java'
2087     project-type: freestyle
2088     node: '{build-node}'
2089     pom: 'pom.xml'
2090
2091     properties:
2092       - infra-properties:
2093           build-days-to-keep: '{build-days-to-keep}'
2094
2095     parameters:
2096       - infra-parameters:
2097           project: '{project}'
2098           branch: '{branch}'
2099           refspec: 'refs/heads/{branch}'
2100           artifacts: '{archive-artifacts}'
2101       - maven-exec:
2102           maven-version: '{maven-version}'
2103
2104     scm:
2105       - gerrit-trigger-scm:
2106           refspec: ''
2107           choosing-strategy: 'default'
2108           submodule-recursive: '{submodule-recursive}'
2109
2110     wrappers:
2111       - infra-wrappers:
2112           build-timeout: '{build-timeout}'
2113
2114     triggers:
2115       - trigger-on-build-success:
2116           job-name: '{trigger-job}'
2117
2118     builders:
2119       - provide-maven-settings:
2120           global-settings-file: 'global-settings'
2121           settings-file: '{mvn-settings}'
2122       - inject:
2123           properties-file: version.properties
2124       - maven-target:
2125           maven-version: '{maven-version}'
2126           pom: '{pom}'
2127           goals: 'versions:set versions:update-child-modules versions:commit -B'
2128           properties:
2129             - 'newVersion=${{release_version}}'
2130           settings: '{mvn-settings}'
2131           settings-type: cfp
2132           global-settings: 'global-settings'
2133           global-settings-type: cfp
2134
2135       - maven-target:
2136           maven-version: '{maven-version}'
2137           pom: '{site-pom}'
2138           goals: 'clean site:site site:stage-deploy -B'
2139           settings: '{mvn-settings}'
2140           settings-type: cfp
2141           global-settings: 'global-settings'
2142           global-settings-type: cfp
2143
2144     publishers:
2145       - infra-shiplogs:
2146           maven-version: '{maven-version}'
2147
2148 - job-template:
2149     # Job template for Java merge jobs for SDC specific repos
2150     #
2151     # The purpose of this job template is to run:
2152     # 1. maven clean deploy
2153     #
2154     # Required Variables:
2155     #     branch:    git branch (eg. stable/lithium or master)
2156
2157     name: '{project-name}-{stream}-sdc-merge-java'
2158
2159     project-type: freestyle
2160     node: 'ubuntu1604-docker-8c-8g'
2161
2162     properties:
2163       - infra-properties:
2164           build-days-to-keep: '{build-days-to-keep}'
2165
2166     parameters:
2167       - infra-parameters:
2168           project: '{project}'
2169           branch: '{branch}'
2170           refspec: 'refs/heads/{branch}'
2171           artifacts: '{archive-artifacts}'
2172       - maven-exec:
2173           maven-version: '{maven-version}'
2174
2175     scm:
2176       - gerrit-trigger-scm:
2177           refspec: ''
2178           choosing-strategy: 'default'
2179           submodule-recursive: '{submodule-recursive}'
2180
2181     wrappers:
2182       - infra-wrappers:
2183           build-timeout: '{build-timeout}'
2184
2185     triggers:
2186       - gerrit-trigger-patch-merged:
2187           server: '{server-name}'
2188           project: '{project}'
2189           branch: '{branch}'
2190           files: '**'
2191
2192     builders:
2193       - provide-maven-settings:
2194           global-settings-file: 'global-settings'
2195           settings-file: '{mvn-settings}'
2196
2197       - docker-login
2198
2199       - maven-docker-push-daily:
2200           maven-version: '{maven-version}'
2201           mvn-settings: '{mvn-settings}'
2202           pom: '{docker-pom}'
2203           # use default as mvn-profile if profile is not needed
2204           mvn-profile: '{mvn-profile}'
2205
2206     publishers:
2207       - infra-shiplogs:
2208           maven-version: '{maven-version}'
2209
2210 - job-template:
2211     # Job template for building & pushing docker images for AAI specific repos
2212     #
2213     # The purpose of this job template is to run:
2214     #  1. login to the docker registry
2215     #  2. run maven clean install goals skipping tests
2216     #  3. run maven goals
2217     #
2218     # Required Variables:
2219     #     pom:       name/location of the pom.xml file relative to the workspace
2220     #     maven-properties: properties passed to maven
2221
2222     name: '{project-name}-{stream}-aai-docker-java-version-daily'
2223     project-type: freestyle
2224     node: 'ubuntu1604-docker-8c-8g'
2225     disabled: false
2226     properties:
2227       - infra-properties:
2228           build-days-to-keep: '{build-days-to-keep}'
2229
2230     parameters:
2231       - infra-parameters:
2232           project: '{project}'
2233           branch: '{branch}'
2234           refspec: 'refs/heads/{branch}'
2235           artifacts: '{archive-artifacts}'
2236       - maven-exec:
2237           maven-version: '{maven-version}'
2238
2239     scm:
2240       - gerrit-trigger-scm:
2241           refspec: ''
2242           choosing-strategy: 'default'
2243           submodule-recursive: '{submodule-recursive}'
2244
2245     wrappers:
2246       - infra-wrappers:
2247           build-timeout: '{build-timeout}'
2248
2249     triggers:
2250       # 12 AM UTC
2251       - timed: 'H 12 * * *'
2252       - gerrit-trigger-release-manually:
2253           server: '{server-name}'
2254           project: '{project}'
2255           branch: '{branch}'
2256
2257     builders:
2258
2259       - provide-maven-settings:
2260           global-settings-file: 'global-settings'
2261           settings-file: '{mvn-settings}'
2262
2263       - docker-login
2264
2265       - maven-target:
2266           maven-version: '{maven-version}'
2267           pom: 'pom.xml'
2268           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2269           settings: '{mvn-settings}'
2270           settings-type: cfp
2271           global-settings: 'global-settings'
2272           global-settings-type: cfp
2273
2274       - maven-target:
2275           maven-version: '{maven-version}'
2276           pom: '{pom}'
2277           goals: '{mvn-goals}'
2278           settings: '{mvn-settings}'
2279           settings-type: cfp
2280           global-settings: 'global-settings'
2281           global-settings-type: cfp
2282           properties:
2283             - maven.test.skip=true
2284             - docker.pull.registry=nexus3.onap.org:10001
2285             - docker.push.registry=nexus3.onap.org:10003
2286
2287     publishers:
2288       - infra-shiplogs:
2289           maven-version: '{maven-version}'
2290