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