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