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