Merge "Initial coala delint (mso)"
[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
35     wrappers:
36       - infra-wrappers:
37           build-timeout: '{build-timeout}'
38
39     triggers:
40       - gerrit-trigger-patch-submitted:
41           server: '{server-name}'
42           project: '{project}'
43           branch: '{branch}'
44           files: '**'
45
46     builders:
47       - provide-maven-settings:
48           global-settings-file: 'global-settings'
49           settings-file: '{mvn-settings}'
50       - maven-target:
51           maven-version: '{maven-version}'
52           goals: 'clean install -DskipTests=true -B
53             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
54           settings: '{mvn-settings}'
55           settings-type: cfp
56           global-settings: 'global-settings'
57           global-settings-type: cfp
58           maven-opts:
59             - maven.test.skip=true
60
61     publishers:
62       - infra-shiplogs:
63           maven-version: '{maven-version}'
64
65 - job-template:
66     # Job template for Java verify jobs
67     #
68     # The purpose of this job template is to run "maven clean install" for
69     # projects using this template.
70     #
71     # Required Variables:
72     #     branch:    git branch (eg. stable/lithium or master)
73
74     name: '{project-name}-{stream}-verify-java'
75
76     project-type: freestyle
77     concurrent: true
78     node: '{build-node}'
79
80     properties:
81       - infra-properties:
82           build-days-to-keep: '{build-days-to-keep}'
83
84     parameters:
85       - infra-parameters:
86           project: '{project}'
87           branch: '{branch}'
88           refspec: 'refs/heads/{branch}'
89           artifacts: '{archive-artifacts}'
90       - maven-exec:
91           maven-version: '{maven-version}'
92
93     scm:
94       - gerrit-trigger-scm:
95           refspec: '$GERRIT_REFSPEC'
96           choosing-strategy: 'gerrit'
97
98     wrappers:
99       - infra-wrappers:
100           build-timeout: '{build-timeout}'
101
102     triggers:
103       - gerrit-trigger-patch-submitted:
104           server: '{server-name}'
105           project: '{project}'
106           branch: '{branch}'
107           files: '**'
108
109     builders:
110       - provide-maven-settings:
111           global-settings-file: 'global-settings'
112           settings-file: '{mvn-settings}'
113       - maven-target:
114           maven-version: '{maven-version}'
115           goals: 'clean install -B
116             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
117           settings: '{mvn-settings}'
118           settings-type: cfp
119           global-settings: 'global-settings'
120           global-settings-type: cfp
121
122     publishers:
123       - infra-shiplogs:
124           maven-version: '{maven-version}'
125
126 - job-template:
127     # Job template for Java verify jobs that takes a maven template
128     #
129     # The purpose of this job template is to run "maven clean install -P {x}"
130     # for projects using this template.
131     #
132     # Required Variables:
133     #     branch:    git branch (eg. stable/lithium or master)
134
135     name: '{project-name}-{stream}-verify-profile-java'
136
137     project-type: freestyle
138     concurrent: true
139     node: '{build-node}'
140
141     properties:
142       - infra-properties:
143           build-days-to-keep: '{build-days-to-keep}'
144
145     parameters:
146       - infra-parameters:
147           project: '{project}'
148           branch: '{branch}'
149           refspec: 'refs/heads/{branch}'
150           artifacts: '{archive-artifacts}'
151       - maven-exec:
152           maven-version: '{maven-version}'
153
154     scm:
155       - gerrit-trigger-scm:
156           refspec: '$GERRIT_REFSPEC'
157           choosing-strategy: 'gerrit'
158
159     wrappers:
160       - infra-wrappers:
161           build-timeout: '{build-timeout}'
162
163     triggers:
164       - gerrit-trigger-patch-submitted:
165           server: '{server-name}'
166           project: '{project}'
167           branch: '{branch}'
168           files: '**'
169
170     builders:
171       - provide-maven-settings:
172           global-settings-file: 'global-settings'
173           settings-file: '{mvn-settings}'
174       - maven-target:
175           maven-version: '{maven-version}'
176           goals: 'clean install -P {mvn-profile} -B
177             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
178           settings: '{mvn-settings}'
179           settings-type: cfp
180           global-settings: 'global-settings'
181           global-settings-type: cfp
182
183     publishers:
184       - infra-shiplogs:
185           maven-version: '{maven-version}'
186
187 - job-template:
188     # Job template for Java verify jobs with POM not at the root
189     #
190     # The purpose of this job template is to run "maven clean install" for
191     # projects using this template.
192     #
193     # Required Variables:
194     #     branch:    git branch (eg. stable/lithium or master)
195     #     pom:       name/location of the pom.xml file relative to the workspace
196     #     pattern:   ant file-path pattern relative to the workspace used to
197     #                trigger the job
198
199     name: '{project-name}-{stream}-{subproject}-verify-java'
200
201     project-type: freestyle
202     concurrent: true
203     node: '{build-node}'
204
205     properties:
206       - infra-properties:
207           build-days-to-keep: '{build-days-to-keep}'
208
209     parameters:
210       - infra-parameters:
211           project: '{project}'
212           branch: '{branch}'
213           refspec: 'refs/heads/{branch}'
214           artifacts: '{archive-artifacts}'
215       - maven-exec:
216           maven-version: '{maven-version}'
217
218     scm:
219       - gerrit-trigger-scm:
220           refspec: '$GERRIT_REFSPEC'
221           choosing-strategy: 'gerrit'
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: '{pattern}'
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           pom: '{pom}'
241           goals: 'clean install -B
242             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
243           settings: '{mvn-settings}'
244           settings-type: cfp
245           global-settings: 'global-settings'
246           global-settings-type: cfp
247
248     publishers:
249       - infra-shiplogs:
250           maven-version: '{maven-version}'
251
252 - job-template:
253     # Job template for Java daily release jobs
254     #
255     # The purpose of this job template is to run "maven version && maven clean
256     # deploy" for projects using this template.
257     #
258     # Required Variables:
259     #     branch:    git branch (eg. stable/lithium or master)
260     name: '{project-name}-{stream}-release-java-daily'
261
262     project-type: freestyle
263     node: '{build-node}'
264     maven-deploy-properties:
265     properties:
266       - infra-properties:
267           build-days-to-keep: '{build-days-to-keep}'
268
269     parameters:
270       - infra-parameters:
271           project: '{project}'
272           branch: '{branch}'
273           refspec: 'refs/heads/{branch}'
274           artifacts: '{archive-artifacts}'
275       - maven-exec:
276           maven-version: '{maven-version}'
277
278     scm:
279       - gerrit-trigger-scm:
280           refspec: ''
281           choosing-strategy: 'default'
282
283     wrappers:
284       - infra-wrappers:
285           build-timeout: '{build-timeout}'
286
287     triggers:
288       # 11 AM UTC
289       - timed: 'H 11 * * *'
290       - gerrit-trigger-release-manually:
291           server: '{server-name}'
292           project: '{project}'
293           branch: '{branch}'
294
295     builders:
296       - provide-maven-settings:
297           global-settings-file: 'global-settings'
298           settings-file: '{mvn-settings}'
299
300       - maven-target:
301           maven-version: '{maven-version}'
302           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
303             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
304           properties:
305             - '{maven-deploy-properties}'
306           settings: '{mvn-settings}'
307           settings-type: cfp
308           global-settings: 'global-settings'
309           global-settings-type: cfp
310
311     publishers:
312       - infra-shiplogs:
313           maven-version: '{maven-version}'
314
315 - job-template:
316     # Job template for Java daily release jobs
317     #
318     # The purpose of this job template is to run "maven version && maven clean
319     # deploy" for projects using this template.
320     #
321     # Required Variables:
322     #     branch:    git branch (eg. stable/lithium or master)
323     name: '{project-name}-{stream}-release-version-java-daily'
324
325     project-type: freestyle
326     node: '{build-node}'
327     maven-deploy-properties:
328     properties:
329       - infra-properties:
330           build-days-to-keep: '{build-days-to-keep}'
331
332     parameters:
333       - infra-parameters:
334           project: '{project}'
335           branch: '{branch}'
336           refspec: 'refs/heads/{branch}'
337           artifacts: '{archive-artifacts}'
338       - maven-exec:
339           maven-version: '{maven-version}'
340
341     scm:
342       - gerrit-trigger-scm:
343           refspec: ''
344           choosing-strategy: 'default'
345
346     wrappers:
347       - infra-wrappers:
348           build-timeout: '{build-timeout}'
349
350     triggers:
351       # 11 AM UTC
352       - timed: 'H 11 * * *'
353       - gerrit-trigger-release-manually:
354           server: '{server-name}'
355           project: '{project}'
356           branch: '{branch}'
357
358     builders:
359       - provide-maven-settings:
360           global-settings-file: 'global-settings'
361           settings-file: '{mvn-settings}'
362
363       - inject:
364           properties-file: version.properties
365       - maven-target:
366           maven-version: '{maven-version}'
367           goals: 'versions:set versions:update-child-modules versions:commit'
368           properties:
369             - 'newVersion=${{release_version}}'
370           settings: '{mvn-settings}'
371           settings-type: cfp
372           global-settings: 'global-settings'
373           global-settings-type: cfp
374
375       - maven-target:
376           maven-version: '{maven-version}'
377           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
378             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
379           properties:
380             - '{maven-deploy-properties}'
381           settings: '{mvn-settings}'
382           settings-type: cfp
383           global-settings: 'global-settings'
384           global-settings-type: cfp
385
386     publishers:
387       - infra-shiplogs:
388           maven-version: '{maven-version}'
389
390 - job-template:
391     # Job template for Java daily release jobs with POM not at the root
392     #
393     # The purpose of this job template is to run "maven version && maven clean
394     # deploy" for projects using this template.
395     #
396     # Required Variables:
397     #     branch:    git branch (eg. stable/lithium or master)
398     #     pom:       name/location of the pom.xml file relative to the workspace
399
400
401     name: '{project-name}-{stream}-{subproject}-release-java-daily'
402
403     project-type: freestyle
404     node: '{build-node}'
405     maven-deploy-properties:
406     properties:
407       - infra-properties:
408           build-days-to-keep: '{build-days-to-keep}'
409
410     parameters:
411       - infra-parameters:
412           project: '{project}'
413           branch: '{branch}'
414           refspec: 'refs/heads/{branch}'
415           artifacts: '{archive-artifacts}'
416       - maven-exec:
417           maven-version: '{maven-version}'
418
419     scm:
420       - gerrit-trigger-scm:
421           refspec: ''
422           choosing-strategy: 'default'
423
424     wrappers:
425       - infra-wrappers:
426           build-timeout: '{build-timeout}'
427
428     triggers:
429       # 11 AM UTC
430       - timed: 'H 11 * * *'
431       - gerrit-trigger-release-manually:
432           server: '{server-name}'
433           project: '{project}'
434           branch: '{branch}'
435
436     builders:
437       - provide-maven-settings:
438           global-settings-file: 'global-settings'
439           settings-file: '{mvn-settings}'
440
441       - maven-target:
442           maven-version: '{maven-version}'
443           pom: '{pom}'
444           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
445             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
446           properties:
447             - '{maven-deploy-properties}'
448           settings: '{mvn-settings}'
449           settings-type: cfp
450           global-settings: 'global-settings'
451           global-settings-type: cfp
452
453     publishers:
454       - infra-shiplogs:
455           maven-version: '{maven-version}'
456
457 - job-template:
458     # Job template for Java merge jobs
459     #
460     # The purpose of this job template is to run "maven clean deploy" for
461     # projects using this template.
462     #
463     # Required Variables:
464     #     branch:    git branch (eg. stable/lithium or master)
465     name: '{project-name}-{stream}-merge-java'
466
467     project-type: freestyle
468     node: '{build-node}'
469
470     properties:
471       - infra-properties:
472           build-days-to-keep: '{build-days-to-keep}'
473
474     parameters:
475       - infra-parameters:
476           project: '{project}'
477           branch: '{branch}'
478           refspec: 'refs/heads/{branch}'
479           artifacts: '{archive-artifacts}'
480       - maven-exec:
481           maven-version: '{maven-version}'
482
483     scm:
484       - gerrit-trigger-scm:
485           refspec: ''
486           choosing-strategy: 'default'
487
488     wrappers:
489       - infra-wrappers:
490           build-timeout: '{build-timeout}'
491
492     triggers:
493       - gerrit-trigger-patch-merged:
494           server: '{server-name}'
495           project: '{project}'
496           branch: '{branch}'
497           files: '**'
498
499     builders:
500       - provide-maven-settings:
501           global-settings-file: 'global-settings'
502           settings-file: '{mvn-settings}'
503       - maven-target:
504           maven-version: '{maven-version}'
505           goals: 'clean deploy -B
506             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
507           settings: '{mvn-settings}'
508           settings-type: cfp
509           global-settings: 'global-settings'
510           global-settings-type: cfp
511
512     publishers:
513       - infra-shiplogs:
514           maven-version: '{maven-version}'
515
516 - job-template:
517     # Job template for Java merge jobs that takes a maven template
518     #
519     # The purpose of this job template is to run "maven clean deploy -P {x}"
520     # for projects using this template.
521     #
522     # Required Variables:
523     #     branch:    git branch (eg. stable/lithium or master)
524     name: '{project-name}-{stream}-merge-profile-java'
525
526     project-type: freestyle
527     node: '{build-node}'
528
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
547     wrappers:
548       - infra-wrappers:
549           build-timeout: '{build-timeout}'
550
551     triggers:
552       - gerrit-trigger-patch-merged:
553           server: '{server-name}'
554           project: '{project}'
555           branch: '{branch}'
556           files: '**'
557
558     builders:
559       - provide-maven-settings:
560           global-settings-file: 'global-settings'
561           settings-file: '{mvn-settings}'
562
563       - docker-login
564
565       - maven-target:
566           maven-version: '{maven-version}'
567           goals: 'clean deploy -P {mvn-profile} -B
568             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
569           settings: '{mvn-settings}'
570           settings-type: cfp
571           global-settings: 'global-settings'
572           global-settings-type: cfp
573           properties:
574             - docker.pull.registry=nexus3.onap.org:10001
575             - docker.push.registry=nexus3.onap.org:10003
576
577     publishers:
578       - infra-shiplogs:
579           maven-version: '{maven-version}'
580
581 - job-template:
582     # Job template for Java merge jobs that should also be triggered by upstream
583     # merges
584     #
585     # Required Variables:
586     #   stream:         release stream
587     #   branch:         git branch
588     #   dependencies:   fully qualified upstream job name to trigger on
589     #                   this may be ''
590     name: '{project-name}-{stream}-downstream-merge-java'
591
592     project-type: freestyle
593     node: '{build-node}'
594
595     properties:
596       - infra-properties:
597           build-days-to-keep: '{build-days-to-keep}'
598
599     parameters:
600       - infra-parameters:
601           project: '{project}'
602           branch: '{branch}'
603           refspec: 'refs/heads/{branch}'
604           artifacts: '{archive-artifacts}'
605       - maven-exec:
606           maven-version: '{maven-version}'
607
608     scm:
609       - gerrit-trigger-scm:
610           refspec: ''
611           choosing-strategy: 'default'
612
613     wrappers:
614       - infra-wrappers:
615           build-timeout: '{build-timeout}'
616
617     triggers:
618       - reverse:
619           jobs: '{dependencies}'
620           result: 'success'
621       - gerrit-trigger-patch-merged:
622           server: '{server-name}'
623           project: '{project}'
624           branch: '{branch}'
625           files: '**'
626
627     builders:
628       - provide-maven-settings:
629           global-settings-file: 'global-settings'
630           settings-file: '{mvn-settings}'
631       - maven-target:
632           maven-version: '{maven-version}'
633           goals: 'clean deploy -B
634             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
635           settings: '{mvn-settings}'
636           settings-type: cfp
637           global-settings: 'global-settings'
638           global-settings-type: cfp
639
640     publishers:
641       - infra-shiplogs:
642           maven-version: '{maven-version}'
643
644 - job-template:
645     # Job template for Java merge jobs with POM not at the root
646     #
647     # The purpose of this job template is to run "maven clean deploy" for
648     # projects using this template.
649     #
650     # Required Variables:
651     #     branch:    git branch (eg. stable/lithium or master)
652     #     pom:       name/location of the pom.xml file relative to the workspace
653     #     pattern:   ant file-path pattern relative to the workspace used to
654     #                trigger the job
655
656     name: '{project-name}-{stream}-{subproject}-merge-java'
657
658     project-type: freestyle
659     node: '{build-node}'
660
661     properties:
662       - infra-properties:
663           build-days-to-keep: '{build-days-to-keep}'
664
665     parameters:
666       - infra-parameters:
667           project: '{project}'
668           branch: '{branch}'
669           refspec: 'refs/heads/{branch}'
670           artifacts: '{archive-artifacts}'
671       - maven-exec:
672           maven-version: '{maven-version}'
673
674     scm:
675       - gerrit-trigger-scm:
676           refspec: ''
677           choosing-strategy: 'default'
678
679     wrappers:
680       - infra-wrappers:
681           build-timeout: '{build-timeout}'
682
683     triggers:
684       - gerrit-trigger-patch-merged:
685           server: '{server-name}'
686           project: '{project}'
687           branch: '{branch}'
688           files: '{pattern}'
689
690     builders:
691       - provide-maven-settings:
692           global-settings-file: 'global-settings'
693           settings-file: '{mvn-settings}'
694       - maven-target:
695           maven-version: '{maven-version}'
696           pom: '{pom}'
697           goals: 'clean deploy -B
698             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
699           settings: '{mvn-settings}'
700           settings-type: cfp
701           global-settings: 'global-settings'
702           global-settings-type: cfp
703
704     publishers:
705       - infra-shiplogs:
706           maven-version: '{maven-version}'
707
708 - job-template:
709     name: '{project-name}-{stream}-docker-java-daily'
710     project-type: freestyle
711     node: 'ubuntu1604-docker-8c-8g'
712
713     properties:
714       - infra-properties:
715           build-days-to-keep: '{build-days-to-keep}'
716
717     parameters:
718       - infra-parameters:
719           project: '{project}'
720           branch: '{branch}'
721           refspec: 'refs/heads/{branch}'
722           artifacts: '{archive-artifacts}'
723       - maven-exec:
724           maven-version: '{maven-version}'
725
726     scm:
727       - gerrit-trigger-scm:
728           refspec: ''
729           choosing-strategy: 'default'
730
731     wrappers:
732       - infra-wrappers:
733           build-timeout: '{build-timeout}'
734
735     triggers:
736       # 12 AM UTC
737       - timed: 'H 12 * * *'
738       - gerrit-trigger-release-manually:
739           server: '{server-name}'
740           project: '{project}'
741           branch: '{branch}'
742
743     builders:
744
745       - provide-maven-settings:
746           global-settings-file: 'global-settings'
747           settings-file: '{mvn-settings}'
748
749       - docker-login
750
751       - maven-docker-push-daily:
752           maven-version: '{maven-version}'
753           mvn-settings: '{mvn-settings}'
754           pom: '{docker-pom}'
755           # use default as mvn-profile if profile is not needed
756           mvn-profile: '{mvn-profile}'
757
758     publishers:
759       - infra-shiplogs:
760           maven-version: '{maven-version}'
761
762 - job-template:
763     name: '{project-name}-{stream}-docker-java-shell-daily'
764     project-type: freestyle
765     node: 'ubuntu1604-docker-8c-8g'
766
767     properties:
768       - infra-properties:
769           build-days-to-keep: '{build-days-to-keep}'
770
771     parameters:
772       - infra-parameters:
773           project: '{project}'
774           branch: '{branch}'
775           refspec: 'refs/heads/{branch}'
776           artifacts: '{archive-artifacts}'
777       - maven-exec:
778           maven-version: '{maven-version}'
779
780     scm:
781       - gerrit-trigger-scm:
782           refspec: ''
783           choosing-strategy: 'default'
784
785     wrappers:
786       - infra-wrappers:
787           build-timeout: '{build-timeout}'
788
789     triggers:
790       # 12 AM UTC
791       - timed: 'H 12 * * *'
792       - gerrit-trigger-release-manually:
793           server: '{server-name}'
794           project: '{project}'
795           branch: '{branch}'
796
797     builders:
798
799       - provide-maven-settings:
800           global-settings-file: 'global-settings'
801           settings-file: '{mvn-settings}'
802
803       - docker-login
804
805       - maven-target:
806           maven-version: '{maven-version}'
807           goals: '{mvn-goals}'
808           settings: '{mvn-settings}'
809           settings-type: cfp
810           global-settings: 'global-settings'
811           global-settings-type: cfp
812
813       - shell: '{script}'
814
815     publishers:
816       - infra-shiplogs:
817           maven-version: '{maven-version}'
818
819 - job-template:
820     name: '{project-name}-{stream}-docker-java-version-shell-daily'
821     project-type: freestyle
822     node: 'ubuntu1604-docker-8c-8g'
823
824     properties:
825       - infra-properties:
826           build-days-to-keep: '{build-days-to-keep}'
827
828     parameters:
829       - infra-parameters:
830           project: '{project}'
831           branch: '{branch}'
832           refspec: 'refs/heads/{branch}'
833           artifacts: '{archive-artifacts}'
834       - maven-exec:
835           maven-version: '{maven-version}'
836
837     scm:
838       - gerrit-trigger-scm:
839           refspec: ''
840           choosing-strategy: 'default'
841
842     wrappers:
843       - infra-wrappers:
844           build-timeout: '{build-timeout}'
845
846     triggers:
847       # 12 AM UTC
848       - timed: 'H 12 * * *'
849       - gerrit-trigger-release-manually:
850           server: '{server-name}'
851           project: '{project}'
852           branch: '{branch}'
853
854     builders:
855
856       - provide-maven-settings:
857           global-settings-file: 'global-settings'
858           settings-file: '{mvn-settings}'
859
860       - inject:
861           properties-file: version.properties
862
863       - maven-target:
864           maven-version: '{maven-version}'
865           goals: 'versions:set versions:update-child-modules versions:commit'
866           properties:
867             - 'newVersion=${{release_version}}'
868           settings: '{mvn-settings}'
869           settings-type: cfp
870           global-settings: 'global-settings'
871           global-settings-type: cfp
872
873       - docker-login
874
875       - maven-target:
876           maven-version: '{maven-version}'
877           goals: '{mvn-goals}'
878           settings: '{mvn-settings}'
879           settings-type: cfp
880           global-settings: 'global-settings'
881           global-settings-type: cfp
882
883       - shell: '{script}'
884
885     publishers:
886       - infra-shiplogs:
887           maven-version: '{maven-version}'
888
889 - job-template:
890     name: '{project-name}-{stream}-docker-version-java-daily'
891     project-type: freestyle
892     node: 'ubuntu1604-docker-8c-8g'
893
894     properties:
895       - infra-properties:
896           build-days-to-keep: '{build-days-to-keep}'
897
898     parameters:
899       - infra-parameters:
900           project: '{project}'
901           branch: '{branch}'
902           refspec: 'refs/heads/{branch}'
903           artifacts: '{archive-artifacts}'
904       - maven-exec:
905           maven-version: '{maven-version}'
906
907     scm:
908       - gerrit-trigger-scm:
909           refspec: ''
910           choosing-strategy: 'default'
911
912     wrappers:
913       - infra-wrappers:
914           build-timeout: '{build-timeout}'
915
916     triggers:
917       # 12 AM UTC
918       - timed: 'H 12 * * *'
919       - gerrit-trigger-release-manually:
920           server: '{server-name}'
921           project: '{project}'
922           branch: '{branch}'
923
924     builders:
925
926       - provide-maven-settings:
927           global-settings-file: 'global-settings'
928           settings-file: '{mvn-settings}'
929
930       - inject:
931           properties-file: version.properties
932
933       - maven-target:
934           maven-version: '{maven-version}'
935           goals: 'versions:set versions:update-child-modules versions:commit'
936           properties:
937             - 'newVersion=${{release_version}}'
938           settings: '{mvn-settings}'
939           settings-type: cfp
940           global-settings: 'global-settings'
941           global-settings-type: cfp
942
943       - docker-login
944
945       - maven-docker-push-daily:
946           maven-version: '{maven-version}'
947           mvn-settings: '{mvn-settings}'
948           pom: '{docker-pom}'
949           # use default as mvn-profile if profile is not needed
950           mvn-profile: '{mvn-profile}'
951
952     publishers:
953       - infra-shiplogs:
954           maven-version: '{maven-version}'
955
956 - job-template:
957     name: '{project-name}-{stream}-aai-docker-java-daily'
958     project-type: freestyle
959     node: 'ubuntu1604-docker-8c-8g'
960
961     properties:
962       - infra-properties:
963           build-days-to-keep: '{build-days-to-keep}'
964
965     parameters:
966       - infra-parameters:
967           project: '{project}'
968           branch: '{branch}'
969           refspec: 'refs/heads/{branch}'
970           artifacts: '{archive-artifacts}'
971       - maven-exec:
972           maven-version: '{maven-version}'
973
974     scm:
975       - gerrit-trigger-scm:
976           refspec: ''
977           choosing-strategy: 'default'
978
979     wrappers:
980       - infra-wrappers:
981           build-timeout: '{build-timeout}'
982
983     triggers:
984       # 12 AM UTC
985       - timed: 'H 12 * * *'
986       - gerrit-trigger-release-manually:
987           server: '{server-name}'
988           project: '{project}'
989           branch: '{branch}'
990
991     builders:
992
993       - provide-maven-settings:
994           global-settings-file: 'global-settings'
995           settings-file: '{mvn-settings}'
996
997       - docker-login
998
999       - maven-target:
1000           maven-version: '{maven-version}'
1001           pom: 'pom.xml'
1002           goals: 'clean install -DskipTests -B
1003             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1004           settings: '{mvn-settings}'
1005           settings-type: cfp
1006           global-settings: 'global-settings'
1007           global-settings-type: cfp
1008
1009       - maven-target:
1010           maven-version: '{maven-version}'
1011           pom: '{pom}'
1012           goals: '{mvn-goals}'
1013           settings: '{mvn-settings}'
1014           settings-type: cfp
1015           global-settings: 'global-settings'
1016           global-settings-type: cfp
1017           properties:
1018             - maven.test.skip=true
1019             - docker.pull.registry=nexus3.onap.org:10001
1020             - docker.push.registry=nexus3.onap.org:10003
1021
1022       - shell: !include-raw-escape: include-docker-push.sh
1023
1024     publishers:
1025       - infra-shiplogs:
1026           maven-version: '{maven-version}'
1027
1028 - job-template:
1029     # Job template for Java daily release jobs
1030     #
1031     # The purpose of this job template is to run
1032     #   - change version in all POM files to the release version specified
1033     #     in version.properties. This is done using a script instread of
1034     #     the mvn version plugin that assumes some specific parent structure.
1035     #   - runs maven clean deploy sonar
1036     #
1037     # The POM files are required to use the Maven staging plugin so the deploy
1038     # does not deploy directly to the release repo.
1039     #
1040     # Required Variables:
1041     #     branch:    git branch (eg. stable/lithium or master)
1042     name: '{project-name}-{stream}-release-version2-java-daily'
1043
1044     project-type: freestyle
1045     node: '{build-node}'
1046     maven-deploy-properties:
1047     properties:
1048       - infra-properties:
1049           build-days-to-keep: '{build-days-to-keep}'
1050
1051     parameters:
1052       - infra-parameters:
1053           project: '{project}'
1054           branch: '{branch}'
1055           refspec: 'refs/heads/{branch}'
1056           artifacts: '{archive-artifacts}'
1057       - maven-exec:
1058           maven-version: '{maven-version}'
1059
1060     scm:
1061       - gerrit-trigger-scm:
1062           refspec: ''
1063           choosing-strategy: 'default'
1064
1065     wrappers:
1066       - infra-wrappers:
1067           build-timeout: '{build-timeout}'
1068
1069     triggers:
1070       # 11 AM UTC
1071       - timed: 'H 11 * * *'
1072       - gerrit-trigger-release-manually:
1073           server: '{server-name}'
1074           project: '{project}'
1075           branch: '{branch}'
1076
1077     builders:
1078       - provide-maven-settings:
1079           global-settings-file: 'global-settings'
1080           settings-file: '{mvn-settings}'
1081       - maven-install:
1082           maven-version: '{maven-version}'
1083
1084       - inject:
1085           properties-file: version.properties
1086
1087       - shell: !include-raw-escape: include-update-pom-versions.sh
1088
1089       - maven-target:
1090           maven-version: '{maven-version}'
1091           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1092             -Dsonar.host.url=${{SONAR}} -B
1093             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1094           properties:
1095             - '{maven-deploy-properties}'
1096           settings: '{mvn-settings}'
1097           settings-type: cfp
1098           global-settings: 'global-settings'
1099           global-settings-type: cfp
1100
1101     publishers:
1102       - infra-shiplogs:
1103           maven-version: '{maven-version}'
1104
1105 - job-template:
1106     # Job template for Java daily release jobs
1107     #
1108     # The purpose of this job template is to run
1109     #   - change version in all POM files to the release version specified
1110     #     in version.properties. This is done using a script instread of
1111     #     the mvn version plugin that assumes some specific parent structure.
1112     #   - runs maven clean deploy sonar
1113     #
1114     # The POM files are required to use the Maven staging plugin so the deploy
1115     # does not deploy directly to the release repo.
1116     #
1117     # Required Variables:
1118     #     branch:    git branch (eg. stable/lithium or master)
1119     #     pom:       name/location of the pom.xml file relative to the workspace
1120     #     pattern:   ant file-path pattern relative to the workspace used to
1121     #                trigger the job
1122
1123     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1124
1125     project-type: freestyle
1126     node: '{build-node}'
1127     maven-deploy-properties:
1128     properties:
1129       - infra-properties:
1130           build-days-to-keep: '{build-days-to-keep}'
1131
1132     parameters:
1133       - infra-parameters:
1134           project: '{project}'
1135           branch: '{branch}'
1136           refspec: 'refs/heads/{branch}'
1137           artifacts: '{archive-artifacts}'
1138       - maven-exec:
1139           maven-version: '{maven-version}'
1140
1141     scm:
1142       - gerrit-trigger-scm:
1143           refspec: ''
1144           choosing-strategy: 'default'
1145
1146     wrappers:
1147       - infra-wrappers:
1148           build-timeout: '{build-timeout}'
1149
1150     triggers:
1151       # 11 AM UTC
1152       - timed: 'H 11 * * *'
1153       - gerrit-trigger-release-manually:
1154           server: '{server-name}'
1155           project: '{project}'
1156           branch: '{branch}'
1157           files: '{pattern}'
1158
1159     builders:
1160       - provide-maven-settings:
1161           global-settings-file: 'global-settings'
1162           settings-file: '{mvn-settings}'
1163       - maven-install:
1164           maven-version: '{maven-version}'
1165
1166       - inject:
1167           properties-file: version.properties
1168
1169       - shell: !include-raw-escape: include-update-pom-versions.sh
1170
1171       - maven-target:
1172           maven-version: '{maven-version}'
1173           pom: '{pom}'
1174           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1175             -Dsonar.host.url=${{SONAR}} -B
1176             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1177           properties:
1178             - '{maven-deploy-properties}'
1179           settings: '{mvn-settings}'
1180           settings-type: cfp
1181           global-settings: 'global-settings'
1182           global-settings-type: cfp
1183
1184     publishers:
1185       - infra-shiplogs:
1186           maven-version: '{maven-version}'
1187
1188 - job-template:
1189     # Template for maven site plugin invocation
1190     #
1191     # It's designed to be triggered when the trigger-job job
1192     # succeeds as there's no need for new documentaiton
1193     # if the build job fails.
1194     #
1195     # Those parameters should be set :
1196     # - site-pom : the pom file that contains the site confiration
1197     # - trigger-job : the name of the project that triggers this job
1198     #                     upon success. The job name can be
1199     #                     parameterized.
1200     name: '{project-name}-{stream}-stage-site-java'
1201     project-type: freestyle
1202     node: '{build-node}'
1203
1204     properties:
1205       - infra-properties:
1206           build-days-to-keep: '{build-days-to-keep}'
1207
1208     parameters:
1209       - infra-parameters:
1210           project: '{project}'
1211           branch: '{branch}'
1212           refspec: 'refs/heads/{branch}'
1213           artifacts: '{archive-artifacts}'
1214       - maven-exec:
1215           maven-version: '{maven-version}'
1216
1217     scm:
1218       - gerrit-trigger-scm:
1219           refspec: ''
1220           choosing-strategy: 'default'
1221
1222     wrappers:
1223       - infra-wrappers:
1224           build-timeout: '{build-timeout}'
1225
1226     triggers:
1227       - trigger-on-build-success:
1228           job-name: '{trigger-job}'
1229
1230     builders:
1231       - provide-maven-settings:
1232           global-settings-file: 'global-settings'
1233           settings-file: '{mvn-settings}'
1234       - inject:
1235           properties-file: version.properties
1236       - maven-target:
1237           maven-version: '{maven-version}'
1238           goals: 'versions:set versions:update-child-modules versions:commit'
1239           properties:
1240             - 'newVersion=${{release_version}}'
1241           settings: '{mvn-settings}'
1242           settings-type: cfp
1243           global-settings: 'global-settings'
1244           global-settings-type: cfp
1245
1246       - maven-target:
1247           maven-version: '{maven-version}'
1248           pom: '{site-pom}'
1249           goals: 'clean site:site site:stage-deploy'
1250           settings: '{mvn-settings}'
1251           settings-type: cfp
1252           global-settings: 'global-settings'
1253           global-settings-type: cfp
1254
1255     publishers:
1256       - infra-shiplogs:
1257           maven-version: '{maven-version}'
1258
1259 - job-template:
1260     # Job template for Java merge jobs
1261     #
1262     # The purpose of this job template is to run "maven clean deploy" for
1263     # projects using this template.
1264     #
1265     # Required Variables:
1266     #     branch:    git branch (eg. stable/lithium or master)
1267     name: '{project-name}-{stream}-sdc-merge-java'
1268
1269     project-type: freestyle
1270     node: 'ubuntu1604-docker-8c-8g'
1271
1272     properties:
1273       - infra-properties:
1274           build-days-to-keep: '{build-days-to-keep}'
1275
1276     parameters:
1277       - infra-parameters:
1278           project: '{project}'
1279           branch: '{branch}'
1280           refspec: 'refs/heads/{branch}'
1281           artifacts: '{archive-artifacts}'
1282       - maven-exec:
1283           maven-version: '{maven-version}'
1284
1285     scm:
1286       - gerrit-trigger-scm:
1287           refspec: ''
1288           choosing-strategy: 'default'
1289
1290     wrappers:
1291       - infra-wrappers:
1292           build-timeout: '{build-timeout}'
1293
1294     triggers:
1295       - gerrit-trigger-patch-merged:
1296           server: '{server-name}'
1297           project: '{project}'
1298           branch: '{branch}'
1299           files: '**'
1300
1301     builders:
1302       - provide-maven-settings:
1303           global-settings-file: 'global-settings'
1304           settings-file: '{mvn-settings}'
1305
1306       - docker-login
1307
1308       - maven-docker-push-daily:
1309           maven-version: '{maven-version}'
1310           mvn-settings: '{mvn-settings}'
1311           pom: '{docker-pom}'
1312           # use default as mvn-profile if profile is not needed
1313           mvn-profile: '{mvn-profile}'
1314
1315     publishers:
1316       - infra-shiplogs:
1317           maven-version: '{maven-version}'
1318
1319 - job-template:
1320     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1321     project-type: freestyle
1322     node: 'ubuntu1604-docker-8c-8g'
1323
1324     properties:
1325       - infra-properties:
1326           build-days-to-keep: '{build-days-to-keep}'
1327
1328     parameters:
1329       - infra-parameters:
1330           project: '{project}'
1331           branch: '{branch}'
1332           refspec: 'refs/heads/{branch}'
1333           artifacts: '{archive-artifacts}'
1334       - maven-exec:
1335           maven-version: '{maven-version}'
1336
1337     scm:
1338       - gerrit-trigger-scm:
1339           refspec: ''
1340           choosing-strategy: 'default'
1341
1342     wrappers:
1343       - infra-wrappers:
1344           build-timeout: '{build-timeout}'
1345
1346     triggers:
1347       # 12 AM UTC
1348       - timed: 'H 12 * * *'
1349       - gerrit-trigger-release-manually:
1350           server: '{server-name}'
1351           project: '{project}'
1352           branch: '{branch}'
1353
1354     builders:
1355
1356       - provide-maven-settings:
1357           global-settings-file: 'global-settings'
1358           settings-file: '{mvn-settings}'
1359
1360       - docker-login
1361
1362       - maven-target:
1363           maven-version: '{maven-version}'
1364           pom: 'pom.xml'
1365           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1366           settings: '{mvn-settings}'
1367           settings-type: cfp
1368           global-settings: 'global-settings'
1369           global-settings-type: cfp
1370
1371       - maven-target:
1372           maven-version: '{maven-version}'
1373           pom: '{pom}'
1374           goals: '{mvn-goals}'
1375           settings: '{mvn-settings}'
1376           settings-type: cfp
1377           global-settings: 'global-settings'
1378           global-settings-type: cfp
1379           properties:
1380             - maven.test.skip=true
1381             - docker.pull.registry=nexus3.onap.org:10001
1382             - docker.push.registry=nexus3.onap.org:10003
1383
1384     publishers:
1385       - infra-shiplogs:
1386           maven-version: '{maven-version}'
1387