Merge "Add DR CSIT implementation in Jenkins"
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template: &verify_java_defaults
3     # Job template for Java verify jobs
4     #
5     # The purpose of this job template is to run:
6     # 1. maven clean install
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10
11     name: '{project-name}-{stream}-verify-java'
12
13     project-type: freestyle
14     concurrent: true
15     node: '{build-node}'
16     pattern: '**'
17     pom:
18
19     properties:
20       - infra-properties:
21           build-days-to-keep: '{build-days-to-keep}'
22
23     parameters:
24       - infra-parameters:
25           project: '{project}'
26           branch: '{branch}'
27           refspec: 'refs/heads/{branch}'
28           artifacts: '{archive-artifacts}'
29       - maven-exec:
30           maven-version: '{maven-version}'
31       - maven-params:
32           mvn-params: '{mvn-params}'
33
34     scm:
35       - gerrit-trigger-scm:
36           refspec: '$GERRIT_REFSPEC'
37           choosing-strategy: 'gerrit'
38           submodule-recursive: '{submodule-recursive}'
39
40     wrappers:
41       - infra-wrappers:
42           build-timeout: '{build-timeout}'
43
44     triggers:
45       - gerrit-trigger-patch-submitted:
46           server: '{server-name}'
47           project: '{project}'
48           branch: '{branch}'
49           files: '{obj:pattern}'
50
51     builders:
52       - provide-maven-settings:
53           global-settings-file: 'global-settings'
54           settings-file: '{mvn-settings}'
55       - maven-target:
56           maven-version: '{maven-version}'
57           pom: '{obj:pom}'
58           goals: 'clean install -B
59             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
60           settings: '{mvn-settings}'
61           settings-type: cfp
62           global-settings: 'global-settings'
63           global-settings-type: cfp
64
65     publishers:
66       - infra-shiplogs:
67           maven-version: '{maven-version}'
68
69 - job-template:
70     # Job template for Java verify jobs running checkstyle at the end
71     # When checkstyle will be fully incorporated, it is meant to replace
72     #  '{project-name}-{stream}-verify-java-checkstyle'
73     #
74     # The purpose of this job template is to run:
75     # 1. maven clean install
76     #
77     # This job publishes checkstyle results.
78     #
79     # Required Variables:
80     #     branch:    git branch (eg. stable/lithium or master)
81
82     <<: *verify_java_defaults
83     name: '{project-name}-{stream}-verify-java-checkstyle'
84     publishers:
85       - infra-shiplogs:
86           maven-version: '{maven-version}'
87       - checkstyle-result
88
89 - job-template:
90     # Job template for Java verify jobs with POM not at the root
91     #
92     # The purpose of this job template is to run:
93     # 1. maven clean install
94     #
95     # This job supports subprojects.
96     #
97     # Required Variables:
98     #     branch:    git branch (eg. stable/lithium or master)
99     #     pom:       name/location of the pom.xml file relative to the workspace
100     #     pattern:   ant file-path pattern relative to the workspace used to
101     #                trigger the job
102
103     <<: *verify_java_defaults
104     name: '{project-name}-{stream}-{subproject}-verify-java'
105
106 - job-template:
107     # Job template for Java daily release jobs
108     #
109     # The purpose of this job template is to run:
110     # 1. maven clean deploy with Sonar scans
111     #
112     # Required Variables:
113     #     branch:    git branch (eg. stable/lithium or master)
114
115     name: '{project-name}-{stream}-release-java-daily'
116
117     project-type: freestyle
118     node: '{build-node}'
119     disabled: '{disabled}'
120     maven-deploy-properties:
121     properties:
122       - infra-properties:
123           build-days-to-keep: '{build-days-to-keep}'
124
125     parameters:
126       - infra-parameters:
127           project: '{project}'
128           branch: '{branch}'
129           refspec: 'refs/heads/{branch}'
130           artifacts: '{archive-artifacts}'
131       - maven-exec:
132           maven-version: '{maven-version}'
133
134     scm:
135       - gerrit-trigger-scm:
136           refspec: ''
137           choosing-strategy: 'default'
138           submodule-recursive: '{submodule-recursive}'
139
140     wrappers:
141       - infra-wrappers:
142           build-timeout: '{build-timeout}'
143
144     triggers:
145       # 11 AM UTC
146       - timed: 'H 11 * * *'
147       - gerrit-trigger-release-manually:
148           server: '{server-name}'
149           project: '{project}'
150           branch: '{branch}'
151
152     builders:
153       - provide-maven-settings:
154           global-settings-file: 'global-settings'
155           settings-file: '{mvn-settings}'
156
157       - maven-target:
158           maven-version: '{maven-version}'
159           goals: 'clean deploy -B
160             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
161           properties:
162             - '{maven-deploy-properties}'
163           java-opts:
164             - '-Xmx4096m -XX:MaxPermSize=512m'
165           settings: '{mvn-settings}'
166           settings-type: cfp
167           global-settings: 'global-settings'
168           global-settings-type: cfp
169
170     publishers:
171       - infra-shiplogs:
172           maven-version: '{maven-version}'
173
174 - job-template:
175     # Job template for Java daily release jobs running checkstyle at the end
176     # When checkstyle will be fully incorporated, it is meant to replace
177     #  '{project-name}-{stream}-release-java-daily'
178     #
179     # The purpose of this job template is to run:
180     # 1. maven clean deploy with Sonar scans
181     #
182     # This job publishes checkstyle results.
183     # This job uses a conditional regex match step to set versions.
184     #
185     # Required Variables:
186     #     branch:    git branch (eg. stable/lithium or master)
187
188     name: '{project-name}-{stream}-release-java-daily-checkstyle'
189     project-type: freestyle
190     node: '{build-node}'
191     disabled: '{disabled}'
192     maven-deploy-properties:
193     properties:
194       - infra-properties:
195           build-days-to-keep: '{build-days-to-keep}'
196     parameters:
197       - infra-parameters:
198           project: '{project}'
199           branch: '{branch}'
200           refspec: 'refs/heads/{branch}'
201           artifacts: '{archive-artifacts}'
202       - maven-exec:
203           maven-version: '{maven-version}'
204     scm:
205       - gerrit-trigger-scm:
206           refspec: ''
207           choosing-strategy: 'default'
208           submodule-recursive: '{submodule-recursive}'
209     wrappers:
210       - infra-wrappers:
211           build-timeout: '{build-timeout}'
212     triggers:
213       # 11 AM UTC
214       - timed: 'H 11 * * *'
215       - gerrit-trigger-release-manually:
216           server: '{server-name}'
217           project: '{project}'
218           branch: '{branch}'
219     builders:
220       - provide-maven-settings:
221           global-settings-file: 'global-settings'
222           settings-file: '{mvn-settings}'
223       - conditional-step:
224           condition-kind: regex-match
225           regex: DoSetVersion
226           label: '{setVersion}'
227           steps:
228             - inject:
229                 properties-file: version.properties
230             - maven-target:
231                 maven-version: '{maven-version}'
232                 goals: 'versions:set versions:update-child-modules versions:commit -B'
233                 properties:
234                   - 'newVersion=${{release_version}}'
235                 settings: '{mvn-settings}'
236                 settings-type: cfp
237                 global-settings: 'global-settings'
238                 global-settings-type: cfp
239       - maven-target:
240           maven-version: '{maven-version}'
241           goals: 'clean deploy -B
242             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
243           properties: '{obj:mvn_properties}'
244           settings: '{mvn-settings}'
245           settings-type: cfp
246           global-settings: 'global-settings'
247           global-settings-type: cfp
248     publishers:
249       - infra-shiplogs:
250           maven-version: '{maven-version}'
251       - checkstyle-result-daily
252
253 - job-template:
254     # Job template for Java daily release jobs
255     #
256     # The purpose of this job template is to run:
257     # 1. maven set versions
258     # 2. maven clean deploy with Sonar scans
259     #
260     # Required Variables:
261     #     branch:    git branch (eg. stable/lithium or master)
262
263     name: '{project-name}-{stream}-release-version-java-daily'
264
265     project-type: freestyle
266     disabled: '{disabled}'
267     node: '{build-node}'
268     maven-deploy-properties:
269     properties:
270       - infra-properties:
271           build-days-to-keep: '{build-days-to-keep}'
272
273     parameters:
274       - infra-parameters:
275           project: '{project}'
276           branch: '{branch}'
277           refspec: 'refs/heads/{branch}'
278           artifacts: '{archive-artifacts}'
279       - maven-exec:
280           maven-version: '{maven-version}'
281
282     scm:
283       - gerrit-trigger-scm:
284           refspec: ''
285           choosing-strategy: 'default'
286           submodule-recursive: '{submodule-recursive}'
287
288     wrappers:
289       - infra-wrappers:
290           build-timeout: '{build-timeout}'
291
292     triggers:
293       # 11 AM UTC
294       - timed: 'H H(10-17) * * *'
295       - gerrit-trigger-release-manually:
296           server: '{server-name}'
297           project: '{project}'
298           branch: '{branch}'
299
300     builders:
301       - provide-maven-settings:
302           global-settings-file: 'global-settings'
303           settings-file: '{mvn-settings}'
304
305       - inject:
306           properties-file: version.properties
307       - maven-target:
308           maven-version: '{maven-version}'
309           goals: 'versions:set versions:update-child-modules versions:commit -B'
310           properties:
311             - 'newVersion=${{release_version}}'
312           settings: '{mvn-settings}'
313           settings-type: cfp
314           global-settings: 'global-settings'
315           global-settings-type: cfp
316
317       - maven-target:
318           maven-version: '{maven-version}'
319           goals: 'clean deploy -B
320             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
321           properties:
322             - '{maven-deploy-properties}'
323           settings: '{mvn-settings}'
324           settings-type: cfp
325           global-settings: 'global-settings'
326           global-settings-type: cfp
327
328     publishers:
329       - infra-shiplogs:
330           maven-version: '{maven-version}'
331
332 - job-template:
333     # Job template for Java daily release jobs
334     #
335     # The purpose of this job template is to run:
336     # 1. maven set versions
337     # 2. maven clean deploy -P {mvn-profile} with Sonar scans
338     #
339     # Required Variables:
340     #     branch:    git branch (eg. stable/lithium or master)
341
342     name: '{project-name}-{stream}-release-version-profile-java-daily'
343
344     project-type: freestyle
345     node: '{build-node}'
346     disabled: '{disabled}'
347     maven-deploy-properties:
348     properties:
349       - infra-properties:
350           build-days-to-keep: '{build-days-to-keep}'
351
352     parameters:
353       - infra-parameters:
354           project: '{project}'
355           branch: '{branch}'
356           refspec: 'refs/heads/{branch}'
357           artifacts: '{archive-artifacts}'
358       - maven-exec:
359           maven-version: '{maven-version}'
360
361     scm:
362       - gerrit-trigger-scm:
363           refspec: ''
364           choosing-strategy: 'default'
365           submodule-recursive: '{submodule-recursive}'
366
367     wrappers:
368       - infra-wrappers:
369           build-timeout: '{build-timeout}'
370
371     triggers:
372       # 11 AM UTC
373       - timed: 'H 11 * * *'
374       - gerrit-trigger-release-manually:
375           server: '{server-name}'
376           project: '{project}'
377           branch: '{branch}'
378
379     builders:
380       - provide-maven-settings:
381           global-settings-file: 'global-settings'
382           settings-file: '{mvn-settings}'
383
384       - inject:
385           properties-file: version.properties
386       - maven-target:
387           maven-version: '{maven-version}'
388           goals: 'versions:set versions:update-child-modules versions:commit -B'
389           properties:
390             - 'newVersion=${{release_version}}'
391           settings: '{mvn-settings}'
392           settings-type: cfp
393           global-settings: 'global-settings'
394           global-settings-type: cfp
395
396       - maven-target:
397           maven-version: '{maven-version}'
398           goals: 'clean deploy -P {mvn-profile} -B
399             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
400           properties:
401             - '{maven-deploy-properties}'
402           settings: '{mvn-settings}'
403           settings-type: cfp
404           global-settings: 'global-settings'
405           global-settings-type: cfp
406
407     publishers:
408       - infra-shiplogs:
409           maven-version: '{maven-version}'
410
411
412 - job-template:
413     # Job template for Java daily release jobs with POM not at the root
414     #
415     # The purpose of this job template is to run:
416     # 1. maven clean deploy with Sonar scans
417     #
418     # This job supports subprojects.
419     #
420     # Required Variables:
421     #     branch:    git branch (eg. stable/lithium or master)
422     #     pom:       name/location of the pom.xml file relative to the workspace
423
424     name: '{project-name}-{stream}-{subproject}-release-java-daily'
425
426     project-type: freestyle
427     node: '{build-node}'
428     disabled: '{disabled}'
429     maven-deploy-properties:
430     properties:
431       - infra-properties:
432           build-days-to-keep: '{build-days-to-keep}'
433
434     parameters:
435       - infra-parameters:
436           project: '{project}'
437           branch: '{branch}'
438           refspec: 'refs/heads/{branch}'
439           artifacts: '{archive-artifacts}'
440       - maven-exec:
441           maven-version: '{maven-version}'
442
443     scm:
444       - gerrit-trigger-scm:
445           refspec: ''
446           choosing-strategy: 'default'
447           submodule-recursive: '{submodule-recursive}'
448
449     wrappers:
450       - infra-wrappers:
451           build-timeout: '{build-timeout}'
452
453     triggers:
454       # 11 AM UTC
455       - timed: 'H 11 * * *'
456       - gerrit-trigger-release-manually:
457           server: '{server-name}'
458           project: '{project}'
459           branch: '{branch}'
460
461     builders:
462       - provide-maven-settings:
463           global-settings-file: 'global-settings'
464           settings-file: '{mvn-settings}'
465
466       - maven-target:
467           maven-version: '{maven-version}'
468           pom: '{pom}'
469           goals: 'clean deploy -B
470             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
471           properties:
472             - '{maven-deploy-properties}'
473           java-opts:
474             - '-Xmx4096m -XX:MaxPermSize=512m'
475           settings: '{mvn-settings}'
476           settings-type: cfp
477           global-settings: 'global-settings'
478           global-settings-type: cfp
479
480     publishers:
481       - infra-shiplogs:
482           maven-version: '{maven-version}'
483
484 - job-template:
485     # Job template for Java daily release jobs with POM not at the root
486     #
487     # The purpose of this job template is to run:
488     # 1. maven set versions
489     # 2. maven clean deploy with Sonar scans
490     #
491     # This job supports subprojects.
492     #
493     # Required Variables:
494     #     branch:    git branch (eg. stable/lithium or master)
495     #     pom:       name/location of the pom.xml file relative to the workspace
496
497     name: '{project-name}-{stream}-{subproject}-release-version-java-daily'
498
499     project-type: freestyle
500     node: '{build-node}'
501     disabled: '{disabled}'
502     maven-deploy-properties:
503     properties:
504       - infra-properties:
505           build-days-to-keep: '{build-days-to-keep}'
506
507     parameters:
508       - infra-parameters:
509           project: '{project}'
510           branch: '{branch}'
511           refspec: 'refs/heads/{branch}'
512           artifacts: '{archive-artifacts}'
513       - maven-exec:
514           maven-version: '{maven-version}'
515
516     scm:
517       - gerrit-trigger-scm:
518           refspec: ''
519           choosing-strategy: 'default'
520           submodule-recursive: '{submodule-recursive}'
521
522     wrappers:
523       - infra-wrappers:
524           build-timeout: '{build-timeout}'
525
526     triggers:
527       # 11 AM UTC
528       - timed: 'H 11 * * *'
529       - gerrit-trigger-release-manually:
530           server: '{server-name}'
531           project: '{project}'
532           branch: '{branch}'
533
534     builders:
535       - provide-maven-settings:
536           global-settings-file: 'global-settings'
537           settings-file: '{mvn-settings}'
538
539       - inject:
540           properties-file: version.properties
541       - maven-target:
542           maven-version: '{maven-version}'
543           pom: '{pom}'
544           goals: 'versions:set versions:update-child-modules versions:commit -B'
545           properties:
546             - 'newVersion=${{release_version}}'
547           settings: '{mvn-settings}'
548           settings-type: cfp
549           global-settings: 'global-settings'
550           global-settings-type: cfp
551
552       - maven-target:
553           maven-version: '{maven-version}'
554           pom: '{pom}'
555           goals: 'clean deploy -B
556             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
557           properties:
558             - '{maven-deploy-properties}'
559           settings: '{mvn-settings}'
560           settings-type: cfp
561           global-settings: 'global-settings'
562           global-settings-type: cfp
563
564     publishers:
565       - infra-shiplogs:
566           maven-version: '{maven-version}'
567
568
569 - job-template: &merge_java_defaults
570     # Job template for Java merge jobs
571     #
572     # The purpose of this job template is to run:
573     # 1. maven clean deploy
574     #
575     # Required Variables:
576     #     branch:    git branch (eg. stable/lithium or master)
577
578     name: '{project-name}-{stream}-merge-java'
579
580     project-type: freestyle
581     node: '{build-node}'
582     pattern: '**'
583     pom:
584     mvn_properties: []
585
586     properties:
587       - infra-properties:
588           build-days-to-keep: '{build-days-to-keep}'
589
590     parameters:
591       - infra-parameters:
592           project: '{project}'
593           branch: '{branch}'
594           refspec: 'refs/heads/{branch}'
595           artifacts: '{archive-artifacts}'
596       - maven-exec:
597           maven-version: '{maven-version}'
598
599     scm:
600       - gerrit-trigger-scm:
601           refspec: ''
602           choosing-strategy: 'default'
603           submodule-recursive: '{submodule-recursive}'
604
605     wrappers:
606       - infra-wrappers:
607           build-timeout: '{build-timeout}'
608
609     triggers:
610       - gerrit-trigger-patch-merged:
611           server: '{server-name}'
612           project: '{project}'
613           branch: '{branch}'
614           files: '{pattern}'
615
616     builders:
617       - provide-maven-settings:
618           global-settings-file: 'global-settings'
619           settings-file: '{mvn-settings}'
620       - maven-target:
621           maven-version: '{maven-version}'
622           pom: '{obj:pom}'
623           goals: 'clean deploy -B
624             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
625           settings: '{mvn-settings}'
626           settings-type: cfp
627           global-settings: 'global-settings'
628           global-settings-type: cfp
629           properties: '{obj:mvn_properties}'
630
631     publishers:
632       - infra-shiplogs:
633           maven-version: '{maven-version}'
634
635 - job-template:
636     # Job template for Java merge jobs based on
637     #   '{project-name}-{stream}-merge-java'
638     # The purpose of this job template is to run:
639     # 1. maven clean deploy
640     #
641     # This project supports maven properties.
642     #
643     # Required Variables:
644     #     branch:    git branch (eg. stable/lithium or master)
645     #     maven-properties: properties passed to maven
646
647     <<: *merge_java_defaults
648     name: '{project-name}-{stream}-merge-properties-java'
649
650 - job-template:
651     # Job template for Java merge jobs that takes a maven template
652     #
653     # The purpose of this job template is to run:
654     # 1. maven clean deploy -P {mvn-profile}
655     #
656     # Required Variables:
657     #     branch:    git branch (eg. stable/lithium or master)
658
659     <<: *merge_java_defaults
660     name: '{project-name}-{stream}-merge-profile-java'
661
662     builders:
663       - provide-maven-settings:
664           global-settings-file: 'global-settings'
665           settings-file: '{mvn-settings}'
666
667       - docker-login
668
669       - maven-target:
670           maven-version: '{maven-version}'
671           goals: 'clean deploy -P {mvn-profile} -B
672             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
673           settings: '{mvn-settings}'
674           settings-type: cfp
675           global-settings: 'global-settings'
676           global-settings-type: cfp
677           properties:
678             - docker.pull.registry=nexus3.onap.org:10001
679             - docker.push.registry=nexus3.onap.org:10003
680
681 - job-template:
682     # Job template for Java merge jobs with POM not at the root
683     #
684     # The purpose of this job template is to run:
685     # 1. maven clean deploy
686     #
687     # This job supports subprojects.
688     #
689     # Required Variables:
690     #     branch:    git branch (eg. stable/lithium or master)
691     #     pom:       name/location of the pom.xml file relative to the workspace
692     #     pattern:   ant file-path pattern relative to the workspace used to
693     #                trigger the job
694
695     <<: *merge_java_defaults
696     name: '{project-name}-{stream}-{subproject}-merge-java'
697
698 - job-template:
699     # Job template for Docker daily jobs
700     #
701     # The purpose of this job template is to run:
702     # 1. login to the docker registry
703     # 2. docker push
704     #
705     # Required Variables:
706     #     branch:    git branch (eg. stable/lithium or master)
707
708     name: '{project-name}-{stream}-docker-java-daily'
709     id: '{project-name}-{stream}-docker-java-daily'
710     project-type: freestyle
711     node: 'ubuntu1604-docker-8c-8g'
712     disabled: '{disabled}'
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       - maven-params:
726           mvn-params: '{mvn-params}'
727
728     scm:
729       - gerrit-trigger-scm:
730           refspec: ''
731           choosing-strategy: 'default'
732           submodule-recursive: '{submodule-recursive}'
733
734     wrappers:
735       - infra-wrappers:
736           build-timeout: '{build-timeout}'
737
738     triggers:
739       # 12 AM UTC
740       - timed: 'H 12 * * *'
741       - gerrit-trigger-release-manually:
742           server: '{server-name}'
743           project: '{project}'
744           branch: '{branch}'
745
746     builders:
747
748       - provide-maven-settings:
749           global-settings-file: 'global-settings'
750           settings-file: '{mvn-settings}'
751
752       - docker-login
753
754       - maven-docker-push-daily:
755           maven-version: '{maven-version}'
756           mvn-settings: '{mvn-settings}'
757           pom: '{docker-pom}'
758           # use default as mvn-profile if profile is not needed
759           mvn-profile: '{mvn-profile}'
760           mvn-params: '{mvn-params}'
761
762     publishers:
763       - infra-shiplogs:
764           maven-version: '{maven-version}'
765
766 - job-template:
767     # Job template for Docker daily jobs
768     #
769     # The purpose of this job template is to run:
770     # 1. login to the docker registry
771     # 2. docker push
772     #
773     # Required Variables:
774     #     branch:    git branch (eg. stable/lithium or master)
775
776     name: '{project-name}-{stream}-docker-java-daily'
777     id: docker-java-daily
778     project-type: freestyle
779     node: '{build-node}'
780     disabled: '{disabled}'
781     properties:
782       - infra-properties:
783           build-days-to-keep: '{build-days-to-keep}'
784
785     parameters:
786       - infra-parameters:
787           project: '{project}'
788           branch: '{branch}'
789           refspec: 'refs/heads/{branch}'
790           artifacts: '{archive-artifacts}'
791       - maven-exec:
792           maven-version: '{maven-version}'
793       - maven-params:
794           mvn-params: '{mvn-params}'
795
796     scm:
797       - gerrit-trigger-scm:
798           refspec: ''
799           choosing-strategy: 'default'
800           submodule-recursive: '{submodule-recursive}'
801
802     wrappers:
803       - infra-wrappers-docker-build:
804           build-timeout: '{build-timeout}'
805
806     triggers:
807       # 12 AM UTC
808       - timed: 'H 12 * * *'
809       - gerrit-trigger-release-manually:
810           server: '{server-name}'
811           project: '{project}'
812           branch: '{branch}'
813
814     builders:
815
816       - provide-maven-settings:
817           global-settings-file: 'global-settings'
818           settings-file: '{mvn-settings}'
819
820       - docker-login
821
822       - maven-docker-push-daily:
823           maven-version: '{maven-version}'
824           mvn-settings: '{mvn-settings}'
825           pom: '{docker-pom}'
826           # use default as mvn-profile if profile is not needed
827           mvn-profile: '{mvn-profile}'
828           mvn-params: '{mvn-params}'
829
830     publishers:
831       - infra-shiplogs:
832           maven-version: '{maven-version}'
833
834
835 - job-template:
836     # Job template for building & pushing docker images
837     #
838     # The purpose of this job template is to run:
839     #  1. login to the docker registry
840     #  2. maven clean deploy on the specified profile
841     #
842     # This job uses a conditional regex match step to set versions.
843     # This template supports maven properties.
844     #
845     # Required Variables:
846     #     pom:       name/location of the pom.xml file relative to the workspace
847     #     profile:   the docker profile defined in the pom
848     #     maven-properties: properties passed to maven
849
850     name: '{project-name}-{stream}-docker-java-properties-daily'
851     project-type: freestyle
852     node: 'ubuntu1604-docker-8c-8g'
853     disabled: '{disabled}'
854     properties:
855       - infra-properties:
856           build-days-to-keep: '{build-days-to-keep}'
857     parameters:
858       - infra-parameters:
859           project: '{project}'
860           branch: '{branch}'
861           refspec: 'refs/heads/{branch}'
862           artifacts: '{archive-artifacts}'
863       - maven-exec:
864           maven-version: '{maven-version}'
865       - maven-params:
866           mvn-params: '{mvn-params}'
867     scm:
868       - gerrit-trigger-scm:
869           refspec: ''
870           choosing-strategy: 'default'
871           submodule-recursive: '{submodule-recursive}'
872     wrappers:
873       - infra-wrappers:
874           build-timeout: '{build-timeout}'
875     triggers:
876       # 12 AM UTC
877       - timed: 'H 12 * * *'
878       - gerrit-trigger-release-manually:
879           server: '{server-name}'
880           project: '{project}'
881           branch: '{branch}'
882     builders:
883       - provide-maven-settings:
884           global-settings-file: 'global-settings'
885           settings-file: '{mvn-settings}'
886       - conditional-step:
887           condition-kind: regex-match
888           regex: DoSetVersion
889           label: '{setVersion}'
890           steps:
891             - inject:
892                 properties-file: version.properties
893             - maven-target:
894                 maven-version: '{maven-version}'
895                 goals: 'versions:set versions:update-child-modules versions:commit -B'
896                 properties:
897                   - 'newVersion=${{release_version}}'
898                 settings: '{mvn-settings}'
899                 settings-type: cfp
900                 global-settings: 'global-settings'
901                 global-settings-type: cfp
902       - docker-login
903       - maven-docker-push-daily:
904           maven-version: '{maven-version}'
905           mvn-settings: '{mvn-settings}'
906           pom: '{docker-pom}'
907           properties: '{maven-properties}'
908           # use default as mvn-profile if profile is not needed
909           mvn-profile: '{mvn-profile}'
910           mvn-params: '{mvn-params}'
911     publishers:
912       - infra-shiplogs:
913           maven-version: '{maven-version}'
914
915 - job-template:
916     # Job template for building & pushing docker images
917     #
918     # The purpose of this job template is to run:
919     #  1. login to the docker registry
920     #  2. run a specified shell builder
921     #
922     # Required Variables:
923     #     pom:       name/location of the pom.xml file relative to the workspace
924     #     maven-properties: properties passed to maven
925
926     name: '{project-name}-{stream}-docker-java-shell-daily'
927     project-type: freestyle
928     node: '{build-node}'
929     disabled: '{disabled}'
930     properties:
931       - infra-properties:
932           build-days-to-keep: '{build-days-to-keep}'
933
934     parameters:
935       - infra-parameters:
936           project: '{project}'
937           branch: '{branch}'
938           refspec: 'refs/heads/{branch}'
939           artifacts: '{archive-artifacts}'
940       - maven-exec:
941           maven-version: '{maven-version}'
942
943     scm:
944       - gerrit-trigger-scm:
945           refspec: ''
946           choosing-strategy: 'default'
947           submodule-recursive: '{submodule-recursive}'
948
949     wrappers:
950       - infra-wrappers:
951           build-timeout: '{build-timeout}'
952
953     triggers:
954       # 12 AM UTC
955       - timed: 'H 12 * * *'
956       - gerrit-trigger-release-manually:
957           server: '{server-name}'
958           project: '{project}'
959           branch: '{branch}'
960
961     builders:
962
963       - provide-maven-settings:
964           global-settings-file: 'global-settings'
965           settings-file: '{mvn-settings}'
966
967       - docker-login
968
969       - maven-target:
970           maven-version: '{maven-version}'
971           goals: '{mvn-goals}'
972           settings: '{mvn-settings}'
973           settings-type: cfp
974           global-settings: 'global-settings'
975           global-settings-type: cfp
976
977       - shell: '{script}'
978
979     publishers:
980       - infra-shiplogs:
981           maven-version: '{maven-version}'
982
983 - job-template:
984     # Job template for building & pushing docker images
985     #
986     # The purpose of this job template is to run:
987     #  1. login to the docker registry
988     #  2. run a specified shell builder
989     #
990     # Required Variables:
991     #     pom:       name/location of the pom.xml file relative to the workspace
992     #     maven-properties: properties passed to maven
993
994     name: '{project-name}-{stream}-{subproject}-docker-java-shell-daily'
995     project-type: freestyle
996     node: '{build-node}'
997     disabled: '{disabled}'
998     properties:
999       - infra-properties:
1000           build-days-to-keep: '{build-days-to-keep}'
1001
1002     parameters:
1003       - infra-parameters:
1004           project: '{project}'
1005           branch: '{branch}'
1006           refspec: 'refs/heads/{branch}'
1007           artifacts: '{archive-artifacts}'
1008       - maven-exec:
1009           maven-version: '{maven-version}'
1010
1011     scm:
1012       - gerrit-trigger-scm:
1013           refspec: ''
1014           choosing-strategy: 'default'
1015           submodule-recursive: '{submodule-recursive}'
1016
1017     wrappers:
1018       - infra-wrappers:
1019           build-timeout: '{build-timeout}'
1020
1021     triggers:
1022       # 12 AM UTC
1023       - timed: 'H 12 * * *'
1024       - gerrit-trigger-release-manually:
1025           server: '{server-name}'
1026           project: '{project}'
1027           branch: '{branch}'
1028
1029     builders:
1030
1031       - provide-maven-settings:
1032           global-settings-file: 'global-settings'
1033           settings-file: '{mvn-settings}'
1034
1035       - docker-login
1036
1037       - maven-target:
1038           maven-version: '{maven-version}'
1039           pom: '{pom}'
1040           goals: '{mvn-goals}'
1041           settings: '{mvn-settings}'
1042           settings-type: cfp
1043           global-settings: 'global-settings'
1044           global-settings-type: cfp
1045
1046       - shell: '{script}'
1047
1048     publishers:
1049       - infra-shiplogs:
1050           maven-version: '{maven-version}'
1051
1052 - job-template:
1053     # Job template for building & pushing docker images
1054     #
1055     # The purpose of this job template is to run:
1056     #  1. login to the docker registry
1057     #  2. inject a version.properties file and set versions
1058     #  3. run a specified shell builder
1059     #
1060     # Required Variables:
1061     #     pom:       name/location of the pom.xml file relative to the workspace
1062     #     maven-properties: properties passed to maven
1063
1064     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1065     project-type: freestyle
1066     node: 'ubuntu1604-docker-8c-8g'
1067     disabled: '{disabled}'
1068     properties:
1069       - infra-properties:
1070           build-days-to-keep: '{build-days-to-keep}'
1071
1072     parameters:
1073       - infra-parameters:
1074           project: '{project}'
1075           branch: '{branch}'
1076           refspec: 'refs/heads/{branch}'
1077           artifacts: '{archive-artifacts}'
1078       - maven-exec:
1079           maven-version: '{maven-version}'
1080
1081     scm:
1082       - gerrit-trigger-scm:
1083           refspec: ''
1084           choosing-strategy: 'default'
1085           submodule-recursive: '{submodule-recursive}'
1086
1087     wrappers:
1088       - infra-wrappers:
1089           build-timeout: '{build-timeout}'
1090
1091     triggers:
1092       # 12 AM UTC
1093       - timed: 'H 12 * * *'
1094       - gerrit-trigger-release-manually:
1095           server: '{server-name}'
1096           project: '{project}'
1097           branch: '{branch}'
1098
1099     builders:
1100
1101       - provide-maven-settings:
1102           global-settings-file: 'global-settings'
1103           settings-file: '{mvn-settings}'
1104
1105       - inject:
1106           properties-file: version.properties
1107
1108       - maven-target:
1109           maven-version: '{maven-version}'
1110           goals: 'versions:set versions:update-child-modules versions:commit -B'
1111           properties:
1112             - 'newVersion=${{release_version}}'
1113           settings: '{mvn-settings}'
1114           settings-type: cfp
1115           global-settings: 'global-settings'
1116           global-settings-type: cfp
1117
1118       - docker-login
1119
1120       - maven-target:
1121           maven-version: '{maven-version}'
1122           goals: '{mvn-goals}'
1123           settings: '{mvn-settings}'
1124           settings-type: cfp
1125           global-settings: 'global-settings'
1126           global-settings-type: cfp
1127
1128       - shell: '{script}'
1129
1130     publishers:
1131       - infra-shiplogs:
1132           maven-version: '{maven-version}'
1133
1134 - job-template:
1135     # Job template for building & pushing docker images
1136     #
1137     # The purpose of this job template is to run:
1138     #  1. login to the docker registry
1139     #  2. inject a version.properties file and set versions
1140     #  3. run a specified shell builder
1141     #
1142     # This template supports subprojects.
1143     #
1144     # Required Variables:
1145     #     pom:       name/location of the pom.xml file relative to the workspace
1146     #     maven-properties: properties passed to maven
1147
1148     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1149     project-type: freestyle
1150     node: 'ubuntu1604-docker-8c-8g'
1151     disabled: '{disabled}'
1152     properties:
1153       - infra-properties:
1154           build-days-to-keep: '{build-days-to-keep}'
1155
1156     parameters:
1157       - infra-parameters:
1158           project: '{project}'
1159           branch: '{branch}'
1160           refspec: 'refs/heads/{branch}'
1161           artifacts: '{archive-artifacts}'
1162       - maven-exec:
1163           maven-version: '{maven-version}'
1164
1165     scm:
1166       - gerrit-trigger-scm:
1167           refspec: ''
1168           choosing-strategy: 'default'
1169           submodule-recursive: '{submodule-recursive}'
1170
1171     wrappers:
1172       - infra-wrappers:
1173           build-timeout: '{build-timeout}'
1174
1175     triggers:
1176       # 12 AM UTC
1177       - timed: 'H 12 * * *'
1178       - gerrit-trigger-release-manually:
1179           server: '{server-name}'
1180           project: '{project}'
1181           branch: '{branch}'
1182
1183     builders:
1184
1185       - provide-maven-settings:
1186           global-settings-file: 'global-settings'
1187           settings-file: '{mvn-settings}'
1188
1189       - inject:
1190           properties-file: version.properties
1191
1192       - maven-target:
1193           maven-version: '{maven-version}'
1194           pom: '{pom}'
1195           goals: 'versions:set versions:update-child-modules versions:commit -B'
1196           properties:
1197             - 'newVersion=${{release_version}}'
1198           settings: '{mvn-settings}'
1199           settings-type: cfp
1200           global-settings: 'global-settings'
1201           global-settings-type: cfp
1202
1203       - docker-login
1204
1205       - maven-target:
1206           maven-version: '{maven-version}'
1207           pom: '{pom}'
1208           goals: '{mvn-goals}'
1209           settings: '{mvn-settings}'
1210           settings-type: cfp
1211           global-settings: 'global-settings'
1212           global-settings-type: cfp
1213
1214       - shell: '{script}'
1215
1216     publishers:
1217       - infra-shiplogs:
1218           maven-version: '{maven-version}'
1219
1220 - job-template:
1221     # Job template for building & pushing docker images
1222     #
1223     # The purpose of this job template is to run:
1224     #  1. login to the docker registry
1225     #  2. inject a version.properties file and set versions
1226     #  3. run a docker push
1227     #
1228     # Required Variables:
1229     #     pom:       name/location of the pom.xml file relative to the workspace
1230     #     profile:   the docker profile defined in the pom
1231     #     maven-properties: properties passed to maven
1232
1233     name: '{project-name}-{stream}-docker-version-java-daily'
1234     id: '{project-name}-{stream}-docker-version-java-daily'
1235     project-type: freestyle
1236     node: 'ubuntu1604-docker-8c-8g'
1237     disabled: '{disabled}'
1238     properties:
1239       - infra-properties:
1240           build-days-to-keep: '{build-days-to-keep}'
1241
1242     parameters:
1243       - infra-parameters:
1244           project: '{project}'
1245           branch: '{branch}'
1246           refspec: 'refs/heads/{branch}'
1247           artifacts: '{archive-artifacts}'
1248       - maven-exec:
1249           maven-version: '{maven-version}'
1250       - maven-params:
1251           mvn-params: '{mvn-params}'
1252
1253     scm:
1254       - gerrit-trigger-scm:
1255           refspec: ''
1256           choosing-strategy: 'default'
1257           submodule-recursive: '{submodule-recursive}'
1258
1259     wrappers:
1260       - infra-wrappers:
1261           build-timeout: '{build-timeout}'
1262
1263     triggers:
1264       # 12 AM UTC
1265       - timed: 'H 12 * * *'
1266       - gerrit-trigger-release-manually:
1267           server: '{server-name}'
1268           project: '{project}'
1269           branch: '{branch}'
1270
1271     builders:
1272
1273       - provide-maven-settings:
1274           global-settings-file: 'global-settings'
1275           settings-file: '{mvn-settings}'
1276
1277       - inject:
1278           properties-file: version.properties
1279
1280       - maven-target:
1281           maven-version: '{maven-version}'
1282           goals: 'versions:set versions:update-child-modules versions:commit -B'
1283           properties:
1284             - 'newVersion=${{release_version}}'
1285           settings: '{mvn-settings}'
1286           settings-type: cfp
1287           global-settings: 'global-settings'
1288           global-settings-type: cfp
1289
1290       - docker-login
1291
1292       - maven-docker-push-daily:
1293           maven-version: '{maven-version}'
1294           mvn-settings: '{mvn-settings}'
1295           pom: '{docker-pom}'
1296           # use default as mvn-profile if profile is not needed
1297           mvn-profile: '{mvn-profile}'
1298           mvn-params: '{mvn-params}'
1299
1300     publishers:
1301       - infra-shiplogs:
1302           maven-version: '{maven-version}'
1303
1304 - job-template:
1305     # Job template for building & pushing docker images
1306     #
1307     # The purpose of this job template is to run:
1308     #  1. login to the docker registry
1309     #  2. inject a version.properties file and set versions
1310     #  3. run a docker push
1311     #
1312     # Required Variables:
1313     #     pom:       name/location of the pom.xml file relative to the workspace
1314     #     profile:   the docker profile defined in the pom
1315     #     maven-properties: properties passed to maven
1316
1317     name: '{project-name}-{stream}-docker-version-java-daily'
1318     id: 'docker-version-java-daily'
1319     project-type: freestyle
1320     node: '{build-node}'
1321     disabled: '{disabled}'
1322     properties:
1323       - infra-properties:
1324           build-days-to-keep: '{build-days-to-keep}'
1325
1326     parameters:
1327       - infra-parameters:
1328           project: '{project}'
1329           branch: '{branch}'
1330           refspec: 'refs/heads/{branch}'
1331           artifacts: '{archive-artifacts}'
1332       - maven-exec:
1333           maven-version: '{maven-version}'
1334       - maven-params:
1335           mvn-params: '{mvn-params}'
1336
1337     scm:
1338       - gerrit-trigger-scm:
1339           refspec: ''
1340           choosing-strategy: 'default'
1341           submodule-recursive: '{submodule-recursive}'
1342
1343     wrappers:
1344       - infra-wrappers-docker-build:
1345           build-timeout: '{build-timeout}'
1346
1347     triggers:
1348       # 12 AM UTC
1349       - timed: 'H 12 * * *'
1350       - gerrit-trigger-release-manually:
1351           server: '{server-name}'
1352           project: '{project}'
1353           branch: '{branch}'
1354
1355     builders:
1356
1357       - provide-maven-settings:
1358           global-settings-file: 'global-settings'
1359           settings-file: '{mvn-settings}'
1360
1361       - inject:
1362           properties-file: version.properties
1363
1364       - maven-target:
1365           maven-version: '{maven-version}'
1366           goals: 'versions:set versions:update-child-modules versions:commit -B'
1367           properties:
1368             - 'newVersion=${{release_version}}'
1369           settings: '{mvn-settings}'
1370           settings-type: cfp
1371           global-settings: 'global-settings'
1372           global-settings-type: cfp
1373
1374       - docker-login
1375
1376       - maven-docker-push-daily:
1377           maven-version: '{maven-version}'
1378           mvn-settings: '{mvn-settings}'
1379           pom: '{docker-pom}'
1380           # use default as mvn-profile if profile is not needed
1381           mvn-profile: '{mvn-profile}'
1382           mvn-params: '{mvn-params}'
1383
1384     publishers:
1385       - infra-shiplogs:
1386           maven-version: '{maven-version}'
1387
1388 - job-template:
1389     # Job template for building & pushing docker images
1390     #
1391     # The purpose of this job template is to run:
1392     #  1. inject a version.properties file and set versions
1393     #  2. login to the docker registry
1394     #  3. run a docker push
1395     #
1396     # This job supports subprojects.
1397     #
1398     # Required Variables:
1399     #     pom:       name/location of the pom.xml file relative to the workspace
1400     #     maven-properties: properties passed to maven
1401
1402     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1403     project-type: freestyle
1404     node: 'ubuntu1604-docker-8c-8g'
1405     disabled: '{disabled}'
1406     properties:
1407       - infra-properties:
1408           build-days-to-keep: '{build-days-to-keep}'
1409
1410     parameters:
1411       - infra-parameters:
1412           project: '{project}'
1413           branch: '{branch}'
1414           refspec: 'refs/heads/{branch}'
1415           artifacts: '{archive-artifacts}'
1416       - maven-exec:
1417           maven-version: '{maven-version}'
1418       - maven-params:
1419           mvn-params: '{mvn-params}'
1420
1421     scm:
1422       - gerrit-trigger-scm:
1423           refspec: ''
1424           choosing-strategy: 'default'
1425           submodule-recursive: '{submodule-recursive}'
1426
1427     wrappers:
1428       - infra-wrappers:
1429           build-timeout: '{build-timeout}'
1430
1431     triggers:
1432       # 12 AM UTC
1433       - timed: 'H 12 * * *'
1434       - gerrit-trigger-release-manually:
1435           server: '{server-name}'
1436           project: '{project}'
1437           branch: '{branch}'
1438
1439     builders:
1440
1441       - provide-maven-settings:
1442           global-settings-file: 'global-settings'
1443           settings-file: '{mvn-settings}'
1444
1445       - inject:
1446           properties-file: version.properties
1447
1448       - maven-target:
1449           maven-version: '{maven-version}'
1450           pom: '{pom}'
1451           goals: 'versions:set versions:update-child-modules versions:commit -B'
1452           properties:
1453             - 'newVersion=${{release_version}}'
1454           settings: '{mvn-settings}'
1455           settings-type: cfp
1456           global-settings: 'global-settings'
1457           global-settings-type: cfp
1458
1459       - docker-login
1460
1461       - maven-docker-push-daily:
1462           maven-version: '{maven-version}'
1463           mvn-settings: '{mvn-settings}'
1464           pom: '{docker-pom}'
1465           # use default as mvn-profile if profile is not needed
1466           mvn-profile: '{mvn-profile}'
1467           mvn-params: '{mvn-params}'
1468
1469     publishers:
1470       - infra-shiplogs:
1471           maven-version: '{maven-version}'
1472
1473 - job-template:
1474     # Job template for building & pushing docker images for AAI specific repos
1475     #
1476     # The purpose of this job template is to run:
1477     #  1. login to the docker registry
1478     #  2. run maven goals
1479     #  3. run include-docker-push.sh
1480     #
1481     # Required Variables:
1482     #     pom:       name/location of the pom.xml file relative to the workspace
1483     #     maven-properties: properties passed to maven
1484
1485     name: '{project-name}-{stream}-aai-docker-java-daily'
1486     project-type: freestyle
1487     node: 'ubuntu1604-docker-8c-8g'
1488     docker-image-name: ''
1489     disabled: '{disabled}'
1490     properties:
1491       - infra-properties:
1492           build-days-to-keep: '{build-days-to-keep}'
1493
1494     parameters:
1495       - infra-parameters:
1496           project: '{project}'
1497           branch: '{branch}'
1498           refspec: 'refs/heads/{branch}'
1499           artifacts: '{archive-artifacts}'
1500       - maven-exec:
1501           maven-version: '{maven-version}'
1502       - docker-image-name:
1503           docker-image-name: '{docker-image-name}'
1504
1505     scm:
1506       - gerrit-trigger-scm:
1507           refspec: ''
1508           choosing-strategy: 'default'
1509           submodule-recursive: '{submodule-recursive}'
1510
1511     wrappers:
1512       - infra-wrappers:
1513           build-timeout: '{build-timeout}'
1514
1515     triggers:
1516       # 12 AM UTC
1517       - timed: 'H 12 * * *'
1518       - gerrit-trigger-release-manually:
1519           server: '{server-name}'
1520           project: '{project}'
1521           branch: '{branch}'
1522
1523     builders:
1524
1525       - provide-maven-settings:
1526           global-settings-file: 'global-settings'
1527           settings-file: '{mvn-settings}'
1528
1529       - docker-login
1530
1531       - maven-target:
1532           maven-version: '{maven-version}'
1533           pom: 'pom.xml'
1534           goals: 'clean install -DskipTests -B
1535             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1536           settings: '{mvn-settings}'
1537           settings-type: cfp
1538           global-settings: 'global-settings'
1539           global-settings-type: cfp
1540
1541       - maven-target:
1542           maven-version: '{maven-version}'
1543           pom: '{pom}'
1544           goals: '{mvn-goals}'
1545           settings: '{mvn-settings}'
1546           settings-type: cfp
1547           global-settings: 'global-settings'
1548           global-settings-type: cfp
1549           properties:
1550             - maven.test.skip=true
1551             - docker.pull.registry=nexus3.onap.org:10001
1552             - docker.push.registry=nexus3.onap.org:10003
1553
1554       - shell: !include-raw-escape: include-docker-push.sh
1555
1556     publishers:
1557       - infra-shiplogs:
1558           maven-version: '{maven-version}'
1559
1560 - job-template:
1561     # Job template for building & pushing docker images for AAI specific repos
1562     #
1563     # The purpose of this job template is to run:
1564     #  1. login to the docker registry
1565     #  2. run maven goals
1566     #  3. run include-docker-push.sh
1567     #
1568     # This job supports subprojects
1569     #
1570     # Required Variables:
1571     #     pom:       name/location of the pom.xml file relative to the workspace
1572     #     maven-properties: properties passed to maven
1573
1574     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1575     project-type: freestyle
1576     node: 'ubuntu1604-docker-8c-8g'
1577     disabled: '{disabled}'
1578     docker-image-name: ''
1579
1580     properties:
1581       - infra-properties:
1582           build-days-to-keep: '{build-days-to-keep}'
1583
1584     parameters:
1585       - infra-parameters:
1586           project: '{project}'
1587           branch: '{branch}'
1588           refspec: 'refs/heads/{branch}'
1589           artifacts: '{archive-artifacts}'
1590       - maven-exec:
1591           maven-version: '{maven-version}'
1592       - docker-image-name:
1593           docker-image-name: '{docker-image-name}'
1594
1595     scm:
1596       - gerrit-trigger-scm:
1597           refspec: ''
1598           choosing-strategy: 'default'
1599           submodule-recursive: '{submodule-recursive}'
1600
1601     wrappers:
1602       - infra-wrappers:
1603           build-timeout: '{build-timeout}'
1604
1605     triggers:
1606       # 12 AM UTC
1607       - timed: 'H 12 * * *'
1608       - gerrit-trigger-release-manually:
1609           server: '{server-name}'
1610           project: '{project}'
1611           branch: '{branch}'
1612
1613     builders:
1614
1615       - provide-maven-settings:
1616           global-settings-file: 'global-settings'
1617           settings-file: '{mvn-settings}'
1618
1619       - docker-login
1620
1621       - maven-target:
1622           maven-version: '{maven-version}'
1623           pom: 'pom.xml'
1624           goals: 'clean install -DskipTests -B
1625             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1626           settings: '{mvn-settings}'
1627           settings-type: cfp
1628           global-settings: 'global-settings'
1629           global-settings-type: cfp
1630
1631       - maven-target:
1632           maven-version: '{maven-version}'
1633           pom: '{pom}'
1634           goals: '{mvn-goals}'
1635           settings: '{mvn-settings}'
1636           settings-type: cfp
1637           global-settings: 'global-settings'
1638           global-settings-type: cfp
1639           properties:
1640             - maven.test.skip=true
1641             - docker.pull.registry=nexus3.onap.org:10001
1642             - docker.push.registry=nexus3.onap.org:10003
1643
1644       - shell: !include-raw-escape: include-docker-push.sh
1645
1646     publishers:
1647       - infra-shiplogs:
1648           maven-version: '{maven-version}'
1649
1650 - job-template:
1651     # Job template for Java merge jobs for SDC specific repos
1652     #
1653     # The purpose of this job template is to run:
1654     # 1. maven clean deploy
1655     #
1656     # Required Variables:
1657     #     branch:    git branch (eg. stable/lithium or master)
1658
1659     <<: *merge_java_defaults
1660     name: '{project-name}-{stream}-sdc-merge-java'
1661
1662     node: 'ubuntu1604-docker-8c-8g'
1663     build-timeout: 120
1664
1665     builders:
1666       - provide-maven-settings:
1667           global-settings-file: 'global-settings'
1668           settings-file: '{mvn-settings}'
1669
1670       - docker-login
1671
1672       - maven-docker-push-daily:
1673           maven-version: '{maven-version}'
1674           mvn-settings: '{mvn-settings}'
1675           pom: '{docker-pom}'
1676           # use default as mvn-profile if profile is not needed
1677           mvn-profile: '{mvn-profile}'
1678           mvn-params: ''
1679
1680 - job-template:
1681     # Job template for building & pushing docker images for AAI specific repos
1682     #
1683     # The purpose of this job template is to run:
1684     #  1. login to the docker registry
1685     #  2. run maven clean install goals skipping tests
1686     #  3. run maven goals
1687     #
1688     # Required Variables:
1689     #     pom:       name/location of the pom.xml file relative to the workspace
1690     #     maven-properties: properties passed to maven
1691
1692     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1693     project-type: freestyle
1694     node: 'ubuntu1604-docker-8c-8g'
1695     disabled: '{disabled}'
1696     properties:
1697       - infra-properties:
1698           build-days-to-keep: '{build-days-to-keep}'
1699
1700     parameters:
1701       - infra-parameters:
1702           project: '{project}'
1703           branch: '{branch}'
1704           refspec: 'refs/heads/{branch}'
1705           artifacts: '{archive-artifacts}'
1706       - maven-exec:
1707           maven-version: '{maven-version}'
1708
1709     scm:
1710       - gerrit-trigger-scm:
1711           refspec: ''
1712           choosing-strategy: 'default'
1713           submodule-recursive: '{submodule-recursive}'
1714
1715     wrappers:
1716       - infra-wrappers:
1717           build-timeout: '{build-timeout}'
1718
1719     triggers:
1720       # 12 AM UTC
1721       - timed: 'H 12 * * *'
1722       - gerrit-trigger-release-manually:
1723           server: '{server-name}'
1724           project: '{project}'
1725           branch: '{branch}'
1726
1727     builders:
1728
1729       - provide-maven-settings:
1730           global-settings-file: 'global-settings'
1731           settings-file: '{mvn-settings}'
1732
1733       - docker-login
1734
1735       - maven-target:
1736           maven-version: '{maven-version}'
1737           pom: 'pom.xml'
1738           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1739           settings: '{mvn-settings}'
1740           settings-type: cfp
1741           global-settings: 'global-settings'
1742           global-settings-type: cfp
1743
1744       - maven-target:
1745           maven-version: '{maven-version}'
1746           pom: '{pom}'
1747           goals: '{mvn-goals}'
1748           settings: '{mvn-settings}'
1749           settings-type: cfp
1750           global-settings: 'global-settings'
1751           global-settings-type: cfp
1752           properties:
1753             - maven.test.skip=true
1754             - docker.pull.registry=nexus3.onap.org:10001
1755             - docker.push.registry=nexus3.onap.org:10003
1756
1757     publishers:
1758       - infra-shiplogs:
1759           maven-version: '{maven-version}'
1760