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