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