Correct job template for docker image processing
[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       - docker-login
1462       - maven-docker-push-daily:
1463           maven-version: '{maven-version}'
1464           mvn-settings: '{mvn-settings}'
1465           pom: '{docker-pom}'
1466           properties: '{maven-properties}'
1467           # use default as mvn-profile if profile is not needed
1468           mvn-profile: '{mvn-profile}'
1469     publishers:
1470       - infra-shiplogs:
1471           maven-version: '{maven-version}'
1472
1473 - job-template:
1474     name: '{project-name}-{stream}-docker-java-shell-daily'
1475     project-type: freestyle
1476     node: 'ubuntu1604-docker-8c-8g'
1477
1478     properties:
1479       - infra-properties:
1480           build-days-to-keep: '{build-days-to-keep}'
1481
1482     parameters:
1483       - infra-parameters:
1484           project: '{project}'
1485           branch: '{branch}'
1486           refspec: 'refs/heads/{branch}'
1487           artifacts: '{archive-artifacts}'
1488       - maven-exec:
1489           maven-version: '{maven-version}'
1490
1491     scm:
1492       - gerrit-trigger-scm:
1493           refspec: ''
1494           choosing-strategy: 'default'
1495           submodule-recursive: '{submodule-recursive}'
1496
1497     wrappers:
1498       - infra-wrappers:
1499           build-timeout: '{build-timeout}'
1500
1501     triggers:
1502       # 12 AM UTC
1503       - timed: 'H 12 * * *'
1504       - gerrit-trigger-release-manually:
1505           server: '{server-name}'
1506           project: '{project}'
1507           branch: '{branch}'
1508
1509     builders:
1510
1511       - provide-maven-settings:
1512           global-settings-file: 'global-settings'
1513           settings-file: '{mvn-settings}'
1514
1515       - docker-login
1516
1517       - maven-target:
1518           maven-version: '{maven-version}'
1519           goals: '{mvn-goals}'
1520           settings: '{mvn-settings}'
1521           settings-type: cfp
1522           global-settings: 'global-settings'
1523           global-settings-type: cfp
1524
1525       - shell: '{script}'
1526
1527     publishers:
1528       - infra-shiplogs:
1529           maven-version: '{maven-version}'
1530
1531 - job-template:
1532     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1533     project-type: freestyle
1534     node: 'ubuntu1604-docker-8c-8g'
1535
1536     properties:
1537       - infra-properties:
1538           build-days-to-keep: '{build-days-to-keep}'
1539
1540     parameters:
1541       - infra-parameters:
1542           project: '{project}'
1543           branch: '{branch}'
1544           refspec: 'refs/heads/{branch}'
1545           artifacts: '{archive-artifacts}'
1546       - maven-exec:
1547           maven-version: '{maven-version}'
1548
1549     scm:
1550       - gerrit-trigger-scm:
1551           refspec: ''
1552           choosing-strategy: 'default'
1553           submodule-recursive: '{submodule-recursive}'
1554
1555     wrappers:
1556       - infra-wrappers:
1557           build-timeout: '{build-timeout}'
1558
1559     triggers:
1560       # 12 AM UTC
1561       - timed: 'H 12 * * *'
1562       - gerrit-trigger-release-manually:
1563           server: '{server-name}'
1564           project: '{project}'
1565           branch: '{branch}'
1566
1567     builders:
1568
1569       - provide-maven-settings:
1570           global-settings-file: 'global-settings'
1571           settings-file: '{mvn-settings}'
1572
1573       - inject:
1574           properties-file: version.properties
1575
1576       - maven-target:
1577           maven-version: '{maven-version}'
1578           goals: 'versions:set versions:update-child-modules versions:commit -B'
1579           properties:
1580             - 'newVersion=${{release_version}}'
1581           settings: '{mvn-settings}'
1582           settings-type: cfp
1583           global-settings: 'global-settings'
1584           global-settings-type: cfp
1585
1586       - docker-login
1587
1588       - maven-target:
1589           maven-version: '{maven-version}'
1590           goals: '{mvn-goals}'
1591           settings: '{mvn-settings}'
1592           settings-type: cfp
1593           global-settings: 'global-settings'
1594           global-settings-type: cfp
1595
1596       - shell: '{script}'
1597
1598     publishers:
1599       - infra-shiplogs:
1600           maven-version: '{maven-version}'
1601
1602 - job-template:
1603     name: '{project-name}-{stream}-docker-version-java-daily'
1604     project-type: freestyle
1605     node: 'ubuntu1604-docker-8c-8g'
1606
1607     properties:
1608       - infra-properties:
1609           build-days-to-keep: '{build-days-to-keep}'
1610
1611     parameters:
1612       - infra-parameters:
1613           project: '{project}'
1614           branch: '{branch}'
1615           refspec: 'refs/heads/{branch}'
1616           artifacts: '{archive-artifacts}'
1617       - maven-exec:
1618           maven-version: '{maven-version}'
1619
1620     scm:
1621       - gerrit-trigger-scm:
1622           refspec: ''
1623           choosing-strategy: 'default'
1624           submodule-recursive: '{submodule-recursive}'
1625
1626     wrappers:
1627       - infra-wrappers:
1628           build-timeout: '{build-timeout}'
1629
1630     triggers:
1631       # 12 AM UTC
1632       - timed: 'H 12 * * *'
1633       - gerrit-trigger-release-manually:
1634           server: '{server-name}'
1635           project: '{project}'
1636           branch: '{branch}'
1637
1638     builders:
1639
1640       - provide-maven-settings:
1641           global-settings-file: 'global-settings'
1642           settings-file: '{mvn-settings}'
1643
1644       - inject:
1645           properties-file: version.properties
1646
1647       - maven-target:
1648           maven-version: '{maven-version}'
1649           goals: 'versions:set versions:update-child-modules versions:commit -B'
1650           properties:
1651             - 'newVersion=${{release_version}}'
1652           settings: '{mvn-settings}'
1653           settings-type: cfp
1654           global-settings: 'global-settings'
1655           global-settings-type: cfp
1656
1657       - docker-login
1658
1659       - maven-docker-push-daily:
1660           maven-version: '{maven-version}'
1661           mvn-settings: '{mvn-settings}'
1662           pom: '{docker-pom}'
1663           # use default as mvn-profile if profile is not needed
1664           mvn-profile: '{mvn-profile}'
1665
1666     publishers:
1667       - infra-shiplogs:
1668           maven-version: '{maven-version}'
1669
1670 - job-template:
1671     name: '{project-name}-{stream}-aai-docker-java-daily'
1672     project-type: freestyle
1673     node: 'ubuntu1604-docker-8c-8g'
1674     docker-image-name: ''
1675
1676     properties:
1677       - infra-properties:
1678           build-days-to-keep: '{build-days-to-keep}'
1679
1680     parameters:
1681       - infra-parameters:
1682           project: '{project}'
1683           branch: '{branch}'
1684           refspec: 'refs/heads/{branch}'
1685           artifacts: '{archive-artifacts}'
1686       - maven-exec:
1687           maven-version: '{maven-version}'
1688       - docker-image-name:
1689           docker-image-name: '{docker-image-name}'
1690
1691     scm:
1692       - gerrit-trigger-scm:
1693           refspec: ''
1694           choosing-strategy: 'default'
1695           submodule-recursive: '{submodule-recursive}'
1696
1697     wrappers:
1698       - infra-wrappers:
1699           build-timeout: '{build-timeout}'
1700
1701     triggers:
1702       # 12 AM UTC
1703       - timed: 'H 12 * * *'
1704       - gerrit-trigger-release-manually:
1705           server: '{server-name}'
1706           project: '{project}'
1707           branch: '{branch}'
1708
1709     builders:
1710
1711       - provide-maven-settings:
1712           global-settings-file: 'global-settings'
1713           settings-file: '{mvn-settings}'
1714
1715       - docker-login
1716
1717       - maven-target:
1718           maven-version: '{maven-version}'
1719           pom: 'pom.xml'
1720           goals: 'clean install -DskipTests -B
1721             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1722           settings: '{mvn-settings}'
1723           settings-type: cfp
1724           global-settings: 'global-settings'
1725           global-settings-type: cfp
1726
1727       - maven-target:
1728           maven-version: '{maven-version}'
1729           pom: '{pom}'
1730           goals: '{mvn-goals}'
1731           settings: '{mvn-settings}'
1732           settings-type: cfp
1733           global-settings: 'global-settings'
1734           global-settings-type: cfp
1735           properties:
1736             - maven.test.skip=true
1737             - docker.pull.registry=nexus3.onap.org:10001
1738             - docker.push.registry=nexus3.onap.org:10003
1739
1740       - shell: !include-raw-escape: include-docker-push.sh
1741
1742     publishers:
1743       - infra-shiplogs:
1744           maven-version: '{maven-version}'
1745
1746 - job-template:
1747     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1748     project-type: freestyle
1749     node: 'ubuntu1604-docker-8c-8g'
1750     docker-image-name: ''
1751
1752     properties:
1753       - infra-properties:
1754           build-days-to-keep: '{build-days-to-keep}'
1755
1756     parameters:
1757       - infra-parameters:
1758           project: '{project}'
1759           branch: '{branch}'
1760           refspec: 'refs/heads/{branch}'
1761           artifacts: '{archive-artifacts}'
1762       - maven-exec:
1763           maven-version: '{maven-version}'
1764       - docker-image-name:
1765           docker-image-name: '{docker-image-name}'
1766
1767     scm:
1768       - gerrit-trigger-scm:
1769           refspec: ''
1770           choosing-strategy: 'default'
1771           submodule-recursive: '{submodule-recursive}'
1772
1773     wrappers:
1774       - infra-wrappers:
1775           build-timeout: '{build-timeout}'
1776
1777     triggers:
1778       # 12 AM UTC
1779       - timed: 'H 12 * * *'
1780       - gerrit-trigger-release-manually:
1781           server: '{server-name}'
1782           project: '{project}'
1783           branch: '{branch}'
1784
1785     builders:
1786
1787       - provide-maven-settings:
1788           global-settings-file: 'global-settings'
1789           settings-file: '{mvn-settings}'
1790
1791       - docker-login
1792
1793       - maven-target:
1794           maven-version: '{maven-version}'
1795           pom: 'pom.xml'
1796           goals: 'clean install -DskipTests -B
1797             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1798           settings: '{mvn-settings}'
1799           settings-type: cfp
1800           global-settings: 'global-settings'
1801           global-settings-type: cfp
1802
1803       - maven-target:
1804           maven-version: '{maven-version}'
1805           pom: '{pom}'
1806           goals: '{mvn-goals}'
1807           settings: '{mvn-settings}'
1808           settings-type: cfp
1809           global-settings: 'global-settings'
1810           global-settings-type: cfp
1811           properties:
1812             - maven.test.skip=true
1813             - docker.pull.registry=nexus3.onap.org:10001
1814             - docker.push.registry=nexus3.onap.org:10003
1815
1816       - shell: !include-raw-escape: include-docker-push.sh
1817
1818     publishers:
1819       - infra-shiplogs:
1820           maven-version: '{maven-version}'
1821
1822 - job-template:
1823     # Job template for Java daily release jobs
1824     #
1825     # The purpose of this job template is to run
1826     #   - 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     #   - runs maven clean deploy sonar
1830     #
1831     # The POM files are required to use the Maven staging plugin so the deploy
1832     # does not deploy directly to the release repo.
1833     #
1834     # Required Variables:
1835     #     branch:    git branch (eg. stable/lithium or master)
1836     name: '{project-name}-{stream}-release-version2-java-daily'
1837
1838     project-type: freestyle
1839     node: '{build-node}'
1840     maven-deploy-properties:
1841     properties:
1842       - infra-properties:
1843           build-days-to-keep: '{build-days-to-keep}'
1844
1845     parameters:
1846       - infra-parameters:
1847           project: '{project}'
1848           branch: '{branch}'
1849           refspec: 'refs/heads/{branch}'
1850           artifacts: '{archive-artifacts}'
1851       - maven-exec:
1852           maven-version: '{maven-version}'
1853
1854     scm:
1855       - gerrit-trigger-scm:
1856           refspec: ''
1857           choosing-strategy: 'default'
1858           submodule-recursive: '{submodule-recursive}'
1859
1860     wrappers:
1861       - infra-wrappers:
1862           build-timeout: '{build-timeout}'
1863
1864     triggers:
1865       # 11 AM UTC
1866       - timed: 'H 11 * * *'
1867       - gerrit-trigger-release-manually:
1868           server: '{server-name}'
1869           project: '{project}'
1870           branch: '{branch}'
1871
1872     builders:
1873       - provide-maven-settings:
1874           global-settings-file: 'global-settings'
1875           settings-file: '{mvn-settings}'
1876       - maven-install:
1877           maven-version: '{maven-version}'
1878
1879       - inject:
1880           properties-file: version.properties
1881
1882       - shell: !include-raw-escape: include-update-pom-versions.sh
1883
1884       - maven-target:
1885           maven-version: '{maven-version}'
1886           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1887             -Dsonar.host.url=${{SONAR}} -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     #   - change version in all POM files to the release version specified
1905     #     in version.properties. This is done using a script instread of
1906     #     the mvn version plugin that assumes some specific parent structure.
1907     #   - runs maven clean deploy sonar
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     maven-deploy-properties:
1923     properties:
1924       - infra-properties:
1925           build-days-to-keep: '{build-days-to-keep}'
1926
1927     parameters:
1928       - infra-parameters:
1929           project: '{project}'
1930           branch: '{branch}'
1931           refspec: 'refs/heads/{branch}'
1932           artifacts: '{archive-artifacts}'
1933       - maven-exec:
1934           maven-version: '{maven-version}'
1935
1936     scm:
1937       - gerrit-trigger-scm:
1938           refspec: ''
1939           choosing-strategy: 'default'
1940           submodule-recursive: '{submodule-recursive}'
1941
1942     wrappers:
1943       - infra-wrappers:
1944           build-timeout: '{build-timeout}'
1945
1946     triggers:
1947       # 11 AM UTC
1948       - timed: 'H 11 * * *'
1949       - gerrit-trigger-release-manually:
1950           server: '{server-name}'
1951           project: '{project}'
1952           branch: '{branch}'
1953           files: '{pattern}'
1954
1955     builders:
1956       - provide-maven-settings:
1957           global-settings-file: 'global-settings'
1958           settings-file: '{mvn-settings}'
1959       - maven-install:
1960           maven-version: '{maven-version}'
1961
1962       - inject:
1963           properties-file: version.properties
1964
1965       - shell: !include-raw-escape: include-update-pom-versions.sh
1966
1967       - maven-target:
1968           maven-version: '{maven-version}'
1969           pom: '{pom}'
1970           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1971             -Dsonar.host.url=${{SONAR}} -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     #   - change version in all POM files to the release version specified
1989     #     in version.properties. This is done using a script instread of
1990     #     the mvn version plugin that assumes some specific parent structure
1991     #     This version does NOT change the version within the <parent> tag.
1992     #   - runs maven clean deploy sonar
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     maven-deploy-properties:
2008     properties:
2009       - infra-properties:
2010           build-days-to-keep: '{build-days-to-keep}'
2011
2012     parameters:
2013       - infra-parameters:
2014           project: '{project}'
2015           branch: '{branch}'
2016           refspec: 'refs/heads/{branch}'
2017           artifacts: '{archive-artifacts}'
2018       - maven-exec:
2019           maven-version: '{maven-version}'
2020
2021     scm:
2022       - gerrit-trigger-scm:
2023           refspec: ''
2024           choosing-strategy: 'default'
2025           submodule-recursive: '{submodule-recursive}'
2026
2027     wrappers:
2028       - infra-wrappers:
2029           build-timeout: '{build-timeout}'
2030
2031     triggers:
2032       # 11 AM UTC
2033       - timed: 'H 11 * * *'
2034       - gerrit-trigger-release-manually:
2035           server: '{server-name}'
2036           project: '{project}'
2037           branch: '{branch}'
2038           files: '{pattern}'
2039
2040     builders:
2041       - provide-maven-settings:
2042           global-settings-file: 'global-settings'
2043           settings-file: '{mvn-settings}'
2044       - maven-install:
2045           maven-version: '{maven-version}'
2046
2047       - inject:
2048           properties-file: version.properties
2049
2050       - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh
2051
2052       - maven-target:
2053           maven-version: '{maven-version}'
2054           pom: '{pom}'
2055           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
2056             -Dsonar.host.url=${{SONAR}} -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     # Those parameters should be set :
2077     # - site-pom : the pom file that contains the site confiration
2078     # - trigger-job : the name of the project that triggers this job
2079     #                     upon success. The job name can be
2080     #                     parameterized.
2081     name: '{project-name}-{stream}-stage-site-java'
2082     project-type: freestyle
2083     node: '{build-node}'
2084     pom: 'pom.xml'
2085
2086     properties:
2087       - infra-properties:
2088           build-days-to-keep: '{build-days-to-keep}'
2089
2090     parameters:
2091       - infra-parameters:
2092           project: '{project}'
2093           branch: '{branch}'
2094           refspec: 'refs/heads/{branch}'
2095           artifacts: '{archive-artifacts}'
2096       - maven-exec:
2097           maven-version: '{maven-version}'
2098
2099     scm:
2100       - gerrit-trigger-scm:
2101           refspec: ''
2102           choosing-strategy: 'default'
2103           submodule-recursive: '{submodule-recursive}'
2104
2105     wrappers:
2106       - infra-wrappers:
2107           build-timeout: '{build-timeout}'
2108
2109     triggers:
2110       - trigger-on-build-success:
2111           job-name: '{trigger-job}'
2112
2113     builders:
2114       - provide-maven-settings:
2115           global-settings-file: 'global-settings'
2116           settings-file: '{mvn-settings}'
2117       - inject:
2118           properties-file: version.properties
2119       - maven-target:
2120           maven-version: '{maven-version}'
2121           pom: '{pom}'
2122           goals: 'versions:set versions:update-child-modules versions:commit -B'
2123           properties:
2124             - 'newVersion=${{release_version}}'
2125           settings: '{mvn-settings}'
2126           settings-type: cfp
2127           global-settings: 'global-settings'
2128           global-settings-type: cfp
2129
2130       - maven-target:
2131           maven-version: '{maven-version}'
2132           pom: '{site-pom}'
2133           goals: 'clean site:site site:stage-deploy'
2134           settings: '{mvn-settings}'
2135           settings-type: cfp
2136           global-settings: 'global-settings'
2137           global-settings-type: cfp
2138
2139     publishers:
2140       - infra-shiplogs:
2141           maven-version: '{maven-version}'
2142
2143 - job-template:
2144     # Job template for Java merge jobs
2145     #
2146     # The purpose of this job template is to run "maven clean deploy" for
2147     # projects using this template.
2148     #
2149     # Required Variables:
2150     #     branch:    git branch (eg. stable/lithium or master)
2151     name: '{project-name}-{stream}-sdc-merge-java'
2152
2153     project-type: freestyle
2154     node: 'ubuntu1604-docker-8c-8g'
2155
2156     properties:
2157       - infra-properties:
2158           build-days-to-keep: '{build-days-to-keep}'
2159
2160     parameters:
2161       - infra-parameters:
2162           project: '{project}'
2163           branch: '{branch}'
2164           refspec: 'refs/heads/{branch}'
2165           artifacts: '{archive-artifacts}'
2166       - maven-exec:
2167           maven-version: '{maven-version}'
2168
2169     scm:
2170       - gerrit-trigger-scm:
2171           refspec: ''
2172           choosing-strategy: 'default'
2173           submodule-recursive: '{submodule-recursive}'
2174
2175     wrappers:
2176       - infra-wrappers:
2177           build-timeout: '{build-timeout}'
2178
2179     triggers:
2180       - gerrit-trigger-patch-merged:
2181           server: '{server-name}'
2182           project: '{project}'
2183           branch: '{branch}'
2184           files: '**'
2185
2186     builders:
2187       - provide-maven-settings:
2188           global-settings-file: 'global-settings'
2189           settings-file: '{mvn-settings}'
2190
2191       - docker-login
2192
2193       - maven-docker-push-daily:
2194           maven-version: '{maven-version}'
2195           mvn-settings: '{mvn-settings}'
2196           pom: '{docker-pom}'
2197           # use default as mvn-profile if profile is not needed
2198           mvn-profile: '{mvn-profile}'
2199
2200     publishers:
2201       - infra-shiplogs:
2202           maven-version: '{maven-version}'
2203
2204 - job-template:
2205     name: '{project-name}-{stream}-aai-docker-java-version-daily'
2206     project-type: freestyle
2207     node: 'ubuntu1604-docker-8c-8g'
2208
2209     properties:
2210       - infra-properties:
2211           build-days-to-keep: '{build-days-to-keep}'
2212
2213     parameters:
2214       - infra-parameters:
2215           project: '{project}'
2216           branch: '{branch}'
2217           refspec: 'refs/heads/{branch}'
2218           artifacts: '{archive-artifacts}'
2219       - maven-exec:
2220           maven-version: '{maven-version}'
2221
2222     scm:
2223       - gerrit-trigger-scm:
2224           refspec: ''
2225           choosing-strategy: 'default'
2226           submodule-recursive: '{submodule-recursive}'
2227
2228     wrappers:
2229       - infra-wrappers:
2230           build-timeout: '{build-timeout}'
2231
2232     triggers:
2233       # 12 AM UTC
2234       - timed: 'H 12 * * *'
2235       - gerrit-trigger-release-manually:
2236           server: '{server-name}'
2237           project: '{project}'
2238           branch: '{branch}'
2239
2240     builders:
2241
2242       - provide-maven-settings:
2243           global-settings-file: 'global-settings'
2244           settings-file: '{mvn-settings}'
2245
2246       - docker-login
2247
2248       - maven-target:
2249           maven-version: '{maven-version}'
2250           pom: 'pom.xml'
2251           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2252           settings: '{mvn-settings}'
2253           settings-type: cfp
2254           global-settings: 'global-settings'
2255           global-settings-type: cfp
2256
2257       - maven-target:
2258           maven-version: '{maven-version}'
2259           pom: '{pom}'
2260           goals: '{mvn-goals}'
2261           settings: '{mvn-settings}'
2262           settings-type: cfp
2263           global-settings: 'global-settings'
2264           global-settings-type: cfp
2265           properties:
2266             - maven.test.skip=true
2267             - docker.pull.registry=nexus3.onap.org:10001
2268             - docker.push.registry=nexus3.onap.org:10003
2269
2270     publishers:
2271       - infra-shiplogs:
2272           maven-version: '{maven-version}'
2273