Merge "Refactor docker push script to accept image name"
[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           java-opts:
427             - '-Xmx4096m -XX:MaxPermSize=512m'
428           settings: '{mvn-settings}'
429           settings-type: cfp
430           global-settings: 'global-settings'
431           global-settings-type: cfp
432
433     publishers:
434       - infra-shiplogs:
435           maven-version: '{maven-version}'
436
437 - job-template:
438     # Job template for Java daily release jobs running checkstyle at the end
439     # When checkstyle will be fully incorporated, it is meant to replace
440     #  '{project-name}-{stream}-release-java-daily'
441     # The purpose of this job template is to run "maven version && maven clean
442     # deploy" for projects using this template.
443     #
444     # Required Variables:
445     #     branch:    git branch (eg. stable/lithium or master)
446     name: '{project-name}-{stream}-release-java-daily-checkstyle'
447     project-type: freestyle
448     node: '{build-node}'
449     maven-deploy-properties:
450     properties:
451       - infra-properties:
452           build-days-to-keep: '{build-days-to-keep}'
453     parameters:
454       - infra-parameters:
455           project: '{project}'
456           branch: '{branch}'
457           refspec: 'refs/heads/{branch}'
458           artifacts: '{archive-artifacts}'
459       - maven-exec:
460           maven-version: '{maven-version}'
461     scm:
462       - gerrit-trigger-scm:
463           refspec: ''
464           choosing-strategy: 'default'
465           submodule-recursive: '{submodule-recursive}'
466     wrappers:
467       - infra-wrappers:
468           build-timeout: '{build-timeout}'
469     triggers:
470       # 11 AM UTC
471       - timed: 'H 11 * * *'
472       - gerrit-trigger-release-manually:
473           server: '{server-name}'
474           project: '{project}'
475           branch: '{branch}'
476     builders:
477       - provide-maven-settings:
478           global-settings-file: 'global-settings'
479           settings-file: '{mvn-settings}'
480       - maven-target:
481           maven-version: '{maven-version}'
482           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
483             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
484           properties: '{obj:mvn_properties}'
485           settings: '{mvn-settings}'
486           settings-type: cfp
487           global-settings: 'global-settings'
488           global-settings-type: cfp
489     publishers:
490       - infra-shiplogs:
491           maven-version: '{maven-version}'
492       - checkstyle-result-daily
493
494 - job-template:
495     # Job template for Java daily release jobs
496     #
497     # The purpose of this job template is to run "maven version && maven clean
498     # deploy" for projects using this template.
499     #
500     # Required Variables:
501     #     branch:    git branch (eg. stable/lithium or master)
502     name: '{project-name}-{stream}-release-version-java-daily-no-sonar'
503
504     project-type: freestyle
505     node: '{build-node}'
506     maven-deploy-properties:
507     properties:
508       - infra-properties:
509           build-days-to-keep: '{build-days-to-keep}'
510
511     parameters:
512       - infra-parameters:
513           project: '{project}'
514           branch: '{branch}'
515           refspec: 'refs/heads/{branch}'
516           artifacts: '{archive-artifacts}'
517       - maven-exec:
518           maven-version: '{maven-version}'
519
520     scm:
521       - gerrit-trigger-scm:
522           refspec: ''
523           choosing-strategy: 'default'
524           submodule-recursive: '{submodule-recursive}'
525
526     wrappers:
527       - infra-wrappers:
528           build-timeout: '{build-timeout}'
529
530     triggers:
531       # 11 AM UTC
532       - timed: 'H 11 * * *'
533       - gerrit-trigger-release-manually:
534           server: '{server-name}'
535           project: '{project}'
536           branch: '{branch}'
537
538     builders:
539       - provide-maven-settings:
540           global-settings-file: 'global-settings'
541           settings-file: '{mvn-settings}'
542
543       - inject:
544           properties-file: version.properties
545       - maven-target:
546           maven-version: '{maven-version}'
547           goals: 'versions:set versions:update-child-modules versions:commit -B'
548           properties:
549             - 'newVersion=${{release_version}}'
550           settings: '{mvn-settings}'
551           settings-type: cfp
552           global-settings: 'global-settings'
553           global-settings-type: cfp
554
555       - maven-target:
556           maven-version: '{maven-version}'
557           goals: 'clean deploy -B
558             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
559           properties:
560             - '{maven-deploy-properties}'
561           settings: '{mvn-settings}'
562           settings-type: cfp
563           global-settings: 'global-settings'
564           global-settings-type: cfp
565
566     publishers:
567       - infra-shiplogs:
568           maven-version: '{maven-version}'
569
570 - job-template:
571     # Job template for Java daily release jobs
572     #
573     # The purpose of this job template is to run "maven version && maven clean
574     # deploy" for projects using this template.
575     #
576     # Required Variables:
577     #     branch:    git branch (eg. stable/lithium or master)
578     name: '{project-name}-{stream}-release-version-java-daily'
579
580     project-type: freestyle
581     node: '{build-node}'
582     maven-deploy-properties:
583     properties:
584       - infra-properties:
585           build-days-to-keep: '{build-days-to-keep}'
586
587     parameters:
588       - infra-parameters:
589           project: '{project}'
590           branch: '{branch}'
591           refspec: 'refs/heads/{branch}'
592           artifacts: '{archive-artifacts}'
593       - maven-exec:
594           maven-version: '{maven-version}'
595
596     scm:
597       - gerrit-trigger-scm:
598           refspec: ''
599           choosing-strategy: 'default'
600           submodule-recursive: '{submodule-recursive}'
601
602     wrappers:
603       - infra-wrappers:
604           build-timeout: '{build-timeout}'
605
606     triggers:
607       # 11 AM UTC
608       - timed: 'H 11 * * *'
609       - gerrit-trigger-release-manually:
610           server: '{server-name}'
611           project: '{project}'
612           branch: '{branch}'
613
614     builders:
615       - provide-maven-settings:
616           global-settings-file: 'global-settings'
617           settings-file: '{mvn-settings}'
618
619       - inject:
620           properties-file: version.properties
621       - maven-target:
622           maven-version: '{maven-version}'
623           goals: 'versions:set versions:update-child-modules versions:commit -B'
624           properties:
625             - 'newVersion=${{release_version}}'
626           settings: '{mvn-settings}'
627           settings-type: cfp
628           global-settings: 'global-settings'
629           global-settings-type: cfp
630
631       - maven-target:
632           maven-version: '{maven-version}'
633           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
634             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
635           properties:
636             - '{maven-deploy-properties}'
637           settings: '{mvn-settings}'
638           settings-type: cfp
639           global-settings: 'global-settings'
640           global-settings-type: cfp
641
642     publishers:
643       - infra-shiplogs:
644           maven-version: '{maven-version}'
645
646 - job-template:
647     # Job template for Java daily release jobs with POM not at the root
648     #
649     # The purpose of this job template is to run "maven version && maven clean
650     # deploy" for projects using this template.
651     #
652     # Required Variables:
653     #     branch:    git branch (eg. stable/lithium or master)
654     #     pom:       name/location of the pom.xml file relative to the workspace
655
656
657     name: '{project-name}-{stream}-{subproject}-release-java-daily'
658
659     project-type: freestyle
660     node: '{build-node}'
661     maven-deploy-properties:
662     properties:
663       - infra-properties:
664           build-days-to-keep: '{build-days-to-keep}'
665
666     parameters:
667       - infra-parameters:
668           project: '{project}'
669           branch: '{branch}'
670           refspec: 'refs/heads/{branch}'
671           artifacts: '{archive-artifacts}'
672       - maven-exec:
673           maven-version: '{maven-version}'
674
675     scm:
676       - gerrit-trigger-scm:
677           refspec: ''
678           choosing-strategy: 'default'
679           submodule-recursive: '{submodule-recursive}'
680
681     wrappers:
682       - infra-wrappers:
683           build-timeout: '{build-timeout}'
684
685     triggers:
686       # 11 AM UTC
687       - timed: 'H 11 * * *'
688       - gerrit-trigger-release-manually:
689           server: '{server-name}'
690           project: '{project}'
691           branch: '{branch}'
692
693     builders:
694       - provide-maven-settings:
695           global-settings-file: 'global-settings'
696           settings-file: '{mvn-settings}'
697
698       - maven-target:
699           maven-version: '{maven-version}'
700           pom: '{pom}'
701           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
702             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
703           properties:
704             - '{maven-deploy-properties}'
705           java-opts:
706             - '-Xmx4096m -XX:MaxPermSize=512m'
707           settings: '{mvn-settings}'
708           settings-type: cfp
709           global-settings: 'global-settings'
710           global-settings-type: cfp
711
712     publishers:
713       - infra-shiplogs:
714           maven-version: '{maven-version}'
715
716 - job-template:
717     # Job template for Java merge jobs
718     #
719     # The purpose of this job template is to run "maven clean deploy" for
720     # projects using this template.
721     #
722     # Required Variables:
723     #     branch:    git branch (eg. stable/lithium or master)
724     name: '{project-name}-{stream}-merge-java'
725
726     project-type: freestyle
727     node: '{build-node}'
728
729     properties:
730       - infra-properties:
731           build-days-to-keep: '{build-days-to-keep}'
732
733     parameters:
734       - infra-parameters:
735           project: '{project}'
736           branch: '{branch}'
737           refspec: 'refs/heads/{branch}'
738           artifacts: '{archive-artifacts}'
739       - maven-exec:
740           maven-version: '{maven-version}'
741
742     scm:
743       - gerrit-trigger-scm:
744           refspec: ''
745           choosing-strategy: 'default'
746           submodule-recursive: '{submodule-recursive}'
747
748     wrappers:
749       - infra-wrappers:
750           build-timeout: '{build-timeout}'
751
752     triggers:
753       - gerrit-trigger-patch-merged:
754           server: '{server-name}'
755           project: '{project}'
756           branch: '{branch}'
757           files: '**'
758
759     builders:
760       - provide-maven-settings:
761           global-settings-file: 'global-settings'
762           settings-file: '{mvn-settings}'
763       - maven-target:
764           maven-version: '{maven-version}'
765           goals: 'clean deploy -B
766             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
767           settings: '{mvn-settings}'
768           settings-type: cfp
769           global-settings: 'global-settings'
770           global-settings-type: cfp
771
772     publishers:
773       - infra-shiplogs:
774           maven-version: '{maven-version}'
775
776 - job-template:
777     # Job template for Java merge jobs based on
778     #   '{project-name}-{stream}-merge-java'
779     # The purpose of this job template is to run "maven clean deploy" for
780     # projects using this template.
781     #
782     # Required Variables:
783     #     branch:    git branch (eg. stable/lithium or master)
784     #     maven-properties: properties passed to maven
785     name: '{project-name}-{stream}-merge-properties-java'
786
787     project-type: freestyle
788     node: '{build-node}'
789
790     properties:
791       - infra-properties:
792           build-days-to-keep: '{build-days-to-keep}'
793
794     parameters:
795       - infra-parameters:
796           project: '{project}'
797           branch: '{branch}'
798           refspec: 'refs/heads/{branch}'
799           artifacts: '{archive-artifacts}'
800       - maven-exec:
801           maven-version: '{maven-version}'
802
803     scm:
804       - gerrit-trigger-scm:
805           refspec: ''
806           choosing-strategy: 'default'
807           submodule-recursive: '{submodule-recursive}'
808
809     wrappers:
810       - infra-wrappers:
811           build-timeout: '{build-timeout}'
812
813     triggers:
814       - gerrit-trigger-patch-merged:
815           server: '{server-name}'
816           project: '{project}'
817           branch: '{branch}'
818           files: '**'
819
820     builders:
821       - provide-maven-settings:
822           global-settings-file: 'global-settings'
823           settings-file: '{mvn-settings}'
824       - maven-target:
825           maven-version: '{maven-version}'
826           goals: 'clean deploy -B
827             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
828           settings: '{mvn-settings}'
829           settings-type: cfp
830           global-settings: 'global-settings'
831           global-settings-type: cfp
832           properties: '{obj:mvn_properties}'
833
834     publishers:
835       - infra-shiplogs:
836           maven-version: '{maven-version}'
837
838 - job-template:
839     # Job template for Java merge jobs that takes a maven template
840     #
841     # The purpose of this job template is to run "maven clean deploy -P {x}"
842     # for projects using this template.
843     #
844     # Required Variables:
845     #     branch:    git branch (eg. stable/lithium or master)
846     name: '{project-name}-{stream}-merge-profile-java'
847
848     project-type: freestyle
849     node: '{build-node}'
850
851     properties:
852       - infra-properties:
853           build-days-to-keep: '{build-days-to-keep}'
854
855     parameters:
856       - infra-parameters:
857           project: '{project}'
858           branch: '{branch}'
859           refspec: 'refs/heads/{branch}'
860           artifacts: '{archive-artifacts}'
861       - maven-exec:
862           maven-version: '{maven-version}'
863
864     scm:
865       - gerrit-trigger-scm:
866           refspec: ''
867           choosing-strategy: 'default'
868           submodule-recursive: '{submodule-recursive}'
869
870     wrappers:
871       - infra-wrappers:
872           build-timeout: '{build-timeout}'
873
874     triggers:
875       - gerrit-trigger-patch-merged:
876           server: '{server-name}'
877           project: '{project}'
878           branch: '{branch}'
879           files: '**'
880
881     builders:
882       - provide-maven-settings:
883           global-settings-file: 'global-settings'
884           settings-file: '{mvn-settings}'
885
886       - docker-login
887
888       - maven-target:
889           maven-version: '{maven-version}'
890           goals: 'clean deploy -P {mvn-profile} -B
891             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
892           settings: '{mvn-settings}'
893           settings-type: cfp
894           global-settings: 'global-settings'
895           global-settings-type: cfp
896           properties:
897             - docker.pull.registry=nexus3.onap.org:10001
898             - docker.push.registry=nexus3.onap.org:10003
899
900     publishers:
901       - infra-shiplogs:
902           maven-version: '{maven-version}'
903
904 - job-template:
905     # Job template for Java merge jobs that should also be triggered by upstream
906     # merges
907     #
908     # Required Variables:
909     #   stream:         release stream
910     #   branch:         git branch
911     #   dependencies:   fully qualified upstream job name to trigger on
912     #                   this may be ''
913     name: '{project-name}-{stream}-downstream-merge-java'
914
915     project-type: freestyle
916     node: '{build-node}'
917
918     properties:
919       - infra-properties:
920           build-days-to-keep: '{build-days-to-keep}'
921
922     parameters:
923       - infra-parameters:
924           project: '{project}'
925           branch: '{branch}'
926           refspec: 'refs/heads/{branch}'
927           artifacts: '{archive-artifacts}'
928       - maven-exec:
929           maven-version: '{maven-version}'
930
931     scm:
932       - gerrit-trigger-scm:
933           refspec: ''
934           choosing-strategy: 'default'
935           submodule-recursive: '{submodule-recursive}'
936
937     wrappers:
938       - infra-wrappers:
939           build-timeout: '{build-timeout}'
940
941     triggers:
942       - reverse:
943           jobs: '{dependencies}'
944           result: 'success'
945       - gerrit-trigger-patch-merged:
946           server: '{server-name}'
947           project: '{project}'
948           branch: '{branch}'
949           files: '**'
950
951     builders:
952       - provide-maven-settings:
953           global-settings-file: 'global-settings'
954           settings-file: '{mvn-settings}'
955       - maven-target:
956           maven-version: '{maven-version}'
957           goals: 'clean deploy -B
958             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
959           settings: '{mvn-settings}'
960           settings-type: cfp
961           global-settings: 'global-settings'
962           global-settings-type: cfp
963
964     publishers:
965       - infra-shiplogs:
966           maven-version: '{maven-version}'
967
968 - job-template:
969     # Job template for Java merge jobs with POM not at the root
970     #
971     # The purpose of this job template is to run "maven clean deploy" for
972     # projects using this template.
973     #
974     # Required Variables:
975     #     branch:    git branch (eg. stable/lithium or master)
976     #     pom:       name/location of the pom.xml file relative to the workspace
977     #     pattern:   ant file-path pattern relative to the workspace used to
978     #                trigger the job
979
980     name: '{project-name}-{stream}-{subproject}-merge-java'
981
982     project-type: freestyle
983     node: '{build-node}'
984
985     properties:
986       - infra-properties:
987           build-days-to-keep: '{build-days-to-keep}'
988
989     parameters:
990       - infra-parameters:
991           project: '{project}'
992           branch: '{branch}'
993           refspec: 'refs/heads/{branch}'
994           artifacts: '{archive-artifacts}'
995       - maven-exec:
996           maven-version: '{maven-version}'
997
998     scm:
999       - gerrit-trigger-scm:
1000           refspec: ''
1001           choosing-strategy: 'default'
1002           submodule-recursive: '{submodule-recursive}'
1003
1004     wrappers:
1005       - infra-wrappers:
1006           build-timeout: '{build-timeout}'
1007
1008     triggers:
1009       - gerrit-trigger-patch-merged:
1010           server: '{server-name}'
1011           project: '{project}'
1012           branch: '{branch}'
1013           files: '{pattern}'
1014
1015     builders:
1016       - provide-maven-settings:
1017           global-settings-file: 'global-settings'
1018           settings-file: '{mvn-settings}'
1019       - maven-target:
1020           maven-version: '{maven-version}'
1021           pom: '{pom}'
1022           goals: 'clean deploy -B
1023             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1024           settings: '{mvn-settings}'
1025           settings-type: cfp
1026           global-settings: 'global-settings'
1027           global-settings-type: cfp
1028
1029     publishers:
1030       - infra-shiplogs:
1031           maven-version: '{maven-version}'
1032
1033 - job-template:
1034     name: '{project-name}-{stream}-docker-java-daily'
1035     project-type: freestyle
1036     node: 'ubuntu1604-docker-8c-8g'
1037
1038     properties:
1039       - infra-properties:
1040           build-days-to-keep: '{build-days-to-keep}'
1041
1042     parameters:
1043       - infra-parameters:
1044           project: '{project}'
1045           branch: '{branch}'
1046           refspec: 'refs/heads/{branch}'
1047           artifacts: '{archive-artifacts}'
1048       - maven-exec:
1049           maven-version: '{maven-version}'
1050
1051     scm:
1052       - gerrit-trigger-scm:
1053           refspec: ''
1054           choosing-strategy: 'default'
1055           submodule-recursive: '{submodule-recursive}'
1056
1057     wrappers:
1058       - infra-wrappers:
1059           build-timeout: '{build-timeout}'
1060
1061     triggers:
1062       # 12 AM UTC
1063       - timed: 'H 12 * * *'
1064       - gerrit-trigger-release-manually:
1065           server: '{server-name}'
1066           project: '{project}'
1067           branch: '{branch}'
1068
1069     builders:
1070
1071       - provide-maven-settings:
1072           global-settings-file: 'global-settings'
1073           settings-file: '{mvn-settings}'
1074
1075       - docker-login
1076
1077       - maven-docker-push-daily:
1078           maven-version: '{maven-version}'
1079           mvn-settings: '{mvn-settings}'
1080           pom: '{docker-pom}'
1081           # use default as mvn-profile if profile is not needed
1082           mvn-profile: '{mvn-profile}'
1083
1084     publishers:
1085       - infra-shiplogs:
1086           maven-version: '{maven-version}'
1087
1088 - job-template:
1089     # Job template for building & pushing docker images
1090     #
1091     # The purpose of this job template is to run :
1092     #  1. login to the docker registry
1093     #  2. do a clean deploy on the specified profile
1094     #
1095     # Required Variables:
1096     #     pom:       name/location of the pom.xml file relative to the workspace
1097     #     profile:   the docker profile defined in the pom
1098     #     maven-properties: properties passed to maven
1099     name: '{project-name}-{stream}-docker-java-properties-daily'
1100     project-type: freestyle
1101     node: 'ubuntu1604-docker-8c-8g'
1102     properties:
1103       - infra-properties:
1104           build-days-to-keep: '{build-days-to-keep}'
1105     parameters:
1106       - infra-parameters:
1107           project: '{project}'
1108           branch: '{branch}'
1109           refspec: 'refs/heads/{branch}'
1110           artifacts: '{archive-artifacts}'
1111       - maven-exec:
1112           maven-version: '{maven-version}'
1113     scm:
1114       - gerrit-trigger-scm:
1115           refspec: ''
1116           choosing-strategy: 'default'
1117           submodule-recursive: '{submodule-recursive}'
1118     wrappers:
1119       - infra-wrappers:
1120           build-timeout: '{build-timeout}'
1121     triggers:
1122       # 12 AM UTC
1123       - timed: 'H 12 * * *'
1124       - gerrit-trigger-release-manually:
1125           server: '{server-name}'
1126           project: '{project}'
1127           branch: '{branch}'
1128     builders:
1129       - provide-maven-settings:
1130           global-settings-file: 'global-settings'
1131           settings-file: '{mvn-settings}'
1132       - docker-login
1133       - maven-docker-push-daily:
1134           maven-version: '{maven-version}'
1135           mvn-settings: '{mvn-settings}'
1136           pom: '{docker-pom}'
1137           properties: '{maven-properties}'
1138           # use default as mvn-profile if profile is not needed
1139           mvn-profile: '{mvn-profile}'
1140     publishers:
1141       - infra-shiplogs:
1142           maven-version: '{maven-version}'
1143
1144 - job-template:
1145     name: '{project-name}-{stream}-docker-java-shell-daily'
1146     project-type: freestyle
1147     node: 'ubuntu1604-docker-8c-8g'
1148
1149     properties:
1150       - infra-properties:
1151           build-days-to-keep: '{build-days-to-keep}'
1152
1153     parameters:
1154       - infra-parameters:
1155           project: '{project}'
1156           branch: '{branch}'
1157           refspec: 'refs/heads/{branch}'
1158           artifacts: '{archive-artifacts}'
1159       - maven-exec:
1160           maven-version: '{maven-version}'
1161
1162     scm:
1163       - gerrit-trigger-scm:
1164           refspec: ''
1165           choosing-strategy: 'default'
1166           submodule-recursive: '{submodule-recursive}'
1167
1168     wrappers:
1169       - infra-wrappers:
1170           build-timeout: '{build-timeout}'
1171
1172     triggers:
1173       # 12 AM UTC
1174       - timed: 'H 12 * * *'
1175       - gerrit-trigger-release-manually:
1176           server: '{server-name}'
1177           project: '{project}'
1178           branch: '{branch}'
1179
1180     builders:
1181
1182       - provide-maven-settings:
1183           global-settings-file: 'global-settings'
1184           settings-file: '{mvn-settings}'
1185
1186       - docker-login
1187
1188       - maven-target:
1189           maven-version: '{maven-version}'
1190           goals: '{mvn-goals}'
1191           settings: '{mvn-settings}'
1192           settings-type: cfp
1193           global-settings: 'global-settings'
1194           global-settings-type: cfp
1195
1196       - shell: '{script}'
1197
1198     publishers:
1199       - infra-shiplogs:
1200           maven-version: '{maven-version}'
1201
1202 - job-template:
1203     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1204     project-type: freestyle
1205     node: 'ubuntu1604-docker-8c-8g'
1206
1207     properties:
1208       - infra-properties:
1209           build-days-to-keep: '{build-days-to-keep}'
1210
1211     parameters:
1212       - infra-parameters:
1213           project: '{project}'
1214           branch: '{branch}'
1215           refspec: 'refs/heads/{branch}'
1216           artifacts: '{archive-artifacts}'
1217       - maven-exec:
1218           maven-version: '{maven-version}'
1219
1220     scm:
1221       - gerrit-trigger-scm:
1222           refspec: ''
1223           choosing-strategy: 'default'
1224           submodule-recursive: '{submodule-recursive}'
1225
1226     wrappers:
1227       - infra-wrappers:
1228           build-timeout: '{build-timeout}'
1229
1230     triggers:
1231       # 12 AM UTC
1232       - timed: 'H 12 * * *'
1233       - gerrit-trigger-release-manually:
1234           server: '{server-name}'
1235           project: '{project}'
1236           branch: '{branch}'
1237
1238     builders:
1239
1240       - provide-maven-settings:
1241           global-settings-file: 'global-settings'
1242           settings-file: '{mvn-settings}'
1243
1244       - inject:
1245           properties-file: version.properties
1246
1247       - maven-target:
1248           maven-version: '{maven-version}'
1249           goals: 'versions:set versions:update-child-modules versions:commit -B'
1250           properties:
1251             - 'newVersion=${{release_version}}'
1252           settings: '{mvn-settings}'
1253           settings-type: cfp
1254           global-settings: 'global-settings'
1255           global-settings-type: cfp
1256
1257       - docker-login
1258
1259       - maven-target:
1260           maven-version: '{maven-version}'
1261           goals: '{mvn-goals}'
1262           settings: '{mvn-settings}'
1263           settings-type: cfp
1264           global-settings: 'global-settings'
1265           global-settings-type: cfp
1266
1267       - shell: '{script}'
1268
1269     publishers:
1270       - infra-shiplogs:
1271           maven-version: '{maven-version}'
1272
1273 - job-template:
1274     name: '{project-name}-{stream}-docker-version-java-daily'
1275     project-type: freestyle
1276     node: 'ubuntu1604-docker-8c-8g'
1277
1278     properties:
1279       - infra-properties:
1280           build-days-to-keep: '{build-days-to-keep}'
1281
1282     parameters:
1283       - infra-parameters:
1284           project: '{project}'
1285           branch: '{branch}'
1286           refspec: 'refs/heads/{branch}'
1287           artifacts: '{archive-artifacts}'
1288       - maven-exec:
1289           maven-version: '{maven-version}'
1290
1291     scm:
1292       - gerrit-trigger-scm:
1293           refspec: ''
1294           choosing-strategy: 'default'
1295           submodule-recursive: '{submodule-recursive}'
1296
1297     wrappers:
1298       - infra-wrappers:
1299           build-timeout: '{build-timeout}'
1300
1301     triggers:
1302       # 12 AM UTC
1303       - timed: 'H 12 * * *'
1304       - gerrit-trigger-release-manually:
1305           server: '{server-name}'
1306           project: '{project}'
1307           branch: '{branch}'
1308
1309     builders:
1310
1311       - provide-maven-settings:
1312           global-settings-file: 'global-settings'
1313           settings-file: '{mvn-settings}'
1314
1315       - inject:
1316           properties-file: version.properties
1317
1318       - maven-target:
1319           maven-version: '{maven-version}'
1320           goals: 'versions:set versions:update-child-modules versions:commit -B'
1321           properties:
1322             - 'newVersion=${{release_version}}'
1323           settings: '{mvn-settings}'
1324           settings-type: cfp
1325           global-settings: 'global-settings'
1326           global-settings-type: cfp
1327
1328       - docker-login
1329
1330       - maven-docker-push-daily:
1331           maven-version: '{maven-version}'
1332           mvn-settings: '{mvn-settings}'
1333           pom: '{docker-pom}'
1334           # use default as mvn-profile if profile is not needed
1335           mvn-profile: '{mvn-profile}'
1336
1337     publishers:
1338       - infra-shiplogs:
1339           maven-version: '{maven-version}'
1340
1341 - job-template:
1342     name: '{project-name}-{stream}-aai-docker-java-daily'
1343     project-type: freestyle
1344     node: 'ubuntu1604-docker-8c-8g'
1345     docker-image-name: ''
1346
1347     properties:
1348       - infra-properties:
1349           build-days-to-keep: '{build-days-to-keep}'
1350
1351     parameters:
1352       - infra-parameters:
1353           project: '{project}'
1354           branch: '{branch}'
1355           refspec: 'refs/heads/{branch}'
1356           artifacts: '{archive-artifacts}'
1357       - maven-exec:
1358           maven-version: '{maven-version}'
1359       - docker-image-name:
1360           docker-image-name: '{docker-image-name}'
1361
1362     scm:
1363       - gerrit-trigger-scm:
1364           refspec: ''
1365           choosing-strategy: 'default'
1366           submodule-recursive: '{submodule-recursive}'
1367
1368     wrappers:
1369       - infra-wrappers:
1370           build-timeout: '{build-timeout}'
1371
1372     triggers:
1373       # 12 AM UTC
1374       - timed: 'H 12 * * *'
1375       - gerrit-trigger-release-manually:
1376           server: '{server-name}'
1377           project: '{project}'
1378           branch: '{branch}'
1379
1380     builders:
1381
1382       - provide-maven-settings:
1383           global-settings-file: 'global-settings'
1384           settings-file: '{mvn-settings}'
1385
1386       - docker-login
1387
1388       - maven-target:
1389           maven-version: '{maven-version}'
1390           pom: 'pom.xml'
1391           goals: 'clean install -DskipTests -B
1392             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1393           settings: '{mvn-settings}'
1394           settings-type: cfp
1395           global-settings: 'global-settings'
1396           global-settings-type: cfp
1397
1398       - maven-target:
1399           maven-version: '{maven-version}'
1400           pom: '{pom}'
1401           goals: '{mvn-goals}'
1402           settings: '{mvn-settings}'
1403           settings-type: cfp
1404           global-settings: 'global-settings'
1405           global-settings-type: cfp
1406           properties:
1407             - maven.test.skip=true
1408             - docker.pull.registry=nexus3.onap.org:10001
1409             - docker.push.registry=nexus3.onap.org:10003
1410
1411       - shell: !include-raw-escape: include-docker-push.sh
1412
1413     publishers:
1414       - infra-shiplogs:
1415           maven-version: '{maven-version}'
1416
1417 - job-template:
1418     # Job template for Java daily release jobs
1419     #
1420     # The purpose of this job template is to run
1421     #   - change version in all POM files to the release version specified
1422     #     in version.properties. This is done using a script instread of
1423     #     the mvn version plugin that assumes some specific parent structure.
1424     #   - runs maven clean deploy sonar
1425     #
1426     # The POM files are required to use the Maven staging plugin so the deploy
1427     # does not deploy directly to the release repo.
1428     #
1429     # Required Variables:
1430     #     branch:    git branch (eg. stable/lithium or master)
1431     name: '{project-name}-{stream}-release-version2-java-daily'
1432
1433     project-type: freestyle
1434     node: '{build-node}'
1435     maven-deploy-properties:
1436     properties:
1437       - infra-properties:
1438           build-days-to-keep: '{build-days-to-keep}'
1439
1440     parameters:
1441       - infra-parameters:
1442           project: '{project}'
1443           branch: '{branch}'
1444           refspec: 'refs/heads/{branch}'
1445           artifacts: '{archive-artifacts}'
1446       - maven-exec:
1447           maven-version: '{maven-version}'
1448
1449     scm:
1450       - gerrit-trigger-scm:
1451           refspec: ''
1452           choosing-strategy: 'default'
1453           submodule-recursive: '{submodule-recursive}'
1454
1455     wrappers:
1456       - infra-wrappers:
1457           build-timeout: '{build-timeout}'
1458
1459     triggers:
1460       # 11 AM UTC
1461       - timed: 'H 11 * * *'
1462       - gerrit-trigger-release-manually:
1463           server: '{server-name}'
1464           project: '{project}'
1465           branch: '{branch}'
1466
1467     builders:
1468       - provide-maven-settings:
1469           global-settings-file: 'global-settings'
1470           settings-file: '{mvn-settings}'
1471       - maven-install:
1472           maven-version: '{maven-version}'
1473
1474       - inject:
1475           properties-file: version.properties
1476
1477       - shell: !include-raw-escape: include-update-pom-versions.sh
1478
1479       - maven-target:
1480           maven-version: '{maven-version}'
1481           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1482             -Dsonar.host.url=${{SONAR}} -B
1483             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1484           properties:
1485             - '{maven-deploy-properties}'
1486           settings: '{mvn-settings}'
1487           settings-type: cfp
1488           global-settings: 'global-settings'
1489           global-settings-type: cfp
1490
1491     publishers:
1492       - infra-shiplogs:
1493           maven-version: '{maven-version}'
1494
1495 - job-template:
1496     # Job template for Java daily release jobs
1497     #
1498     # The purpose of this job template is to run
1499     #   - change version in all POM files to the release version specified
1500     #     in version.properties. This is done using a script instread of
1501     #     the mvn version plugin that assumes some specific parent structure.
1502     #   - runs maven clean deploy sonar
1503     #
1504     # The POM files are required to use the Maven staging plugin so the deploy
1505     # does not deploy directly to the release repo.
1506     #
1507     # Required Variables:
1508     #     branch:    git branch (eg. stable/lithium or master)
1509     #     pom:       name/location of the pom.xml file relative to the workspace
1510     #     pattern:   ant file-path pattern relative to the workspace used to
1511     #                trigger the job
1512
1513     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1514
1515     project-type: freestyle
1516     node: '{build-node}'
1517     maven-deploy-properties:
1518     properties:
1519       - infra-properties:
1520           build-days-to-keep: '{build-days-to-keep}'
1521
1522     parameters:
1523       - infra-parameters:
1524           project: '{project}'
1525           branch: '{branch}'
1526           refspec: 'refs/heads/{branch}'
1527           artifacts: '{archive-artifacts}'
1528       - maven-exec:
1529           maven-version: '{maven-version}'
1530
1531     scm:
1532       - gerrit-trigger-scm:
1533           refspec: ''
1534           choosing-strategy: 'default'
1535           submodule-recursive: '{submodule-recursive}'
1536
1537     wrappers:
1538       - infra-wrappers:
1539           build-timeout: '{build-timeout}'
1540
1541     triggers:
1542       # 11 AM UTC
1543       - timed: 'H 11 * * *'
1544       - gerrit-trigger-release-manually:
1545           server: '{server-name}'
1546           project: '{project}'
1547           branch: '{branch}'
1548           files: '{pattern}'
1549
1550     builders:
1551       - provide-maven-settings:
1552           global-settings-file: 'global-settings'
1553           settings-file: '{mvn-settings}'
1554       - maven-install:
1555           maven-version: '{maven-version}'
1556
1557       - inject:
1558           properties-file: version.properties
1559
1560       - shell: !include-raw-escape: include-update-pom-versions.sh
1561
1562       - maven-target:
1563           maven-version: '{maven-version}'
1564           pom: '{pom}'
1565           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1566             -Dsonar.host.url=${{SONAR}} -B
1567             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1568           properties:
1569             - '{maven-deploy-properties}'
1570           settings: '{mvn-settings}'
1571           settings-type: cfp
1572           global-settings: 'global-settings'
1573           global-settings-type: cfp
1574
1575     publishers:
1576       - infra-shiplogs:
1577           maven-version: '{maven-version}'
1578
1579 - job-template:
1580     # Template for maven site plugin invocation
1581     #
1582     # It's designed to be triggered when the trigger-job job
1583     # succeeds as there's no need for new documentaiton
1584     # if the build job fails.
1585     #
1586     # Those parameters should be set :
1587     # - site-pom : the pom file that contains the site confiration
1588     # - trigger-job : the name of the project that triggers this job
1589     #                     upon success. The job name can be
1590     #                     parameterized.
1591     name: '{project-name}-{stream}-stage-site-java'
1592     project-type: freestyle
1593     node: '{build-node}'
1594
1595     properties:
1596       - infra-properties:
1597           build-days-to-keep: '{build-days-to-keep}'
1598
1599     parameters:
1600       - infra-parameters:
1601           project: '{project}'
1602           branch: '{branch}'
1603           refspec: 'refs/heads/{branch}'
1604           artifacts: '{archive-artifacts}'
1605       - maven-exec:
1606           maven-version: '{maven-version}'
1607
1608     scm:
1609       - gerrit-trigger-scm:
1610           refspec: ''
1611           choosing-strategy: 'default'
1612           submodule-recursive: '{submodule-recursive}'
1613
1614     wrappers:
1615       - infra-wrappers:
1616           build-timeout: '{build-timeout}'
1617
1618     triggers:
1619       - trigger-on-build-success:
1620           job-name: '{trigger-job}'
1621
1622     builders:
1623       - provide-maven-settings:
1624           global-settings-file: 'global-settings'
1625           settings-file: '{mvn-settings}'
1626       - inject:
1627           properties-file: version.properties
1628       - maven-target:
1629           maven-version: '{maven-version}'
1630           goals: 'versions:set versions:update-child-modules versions:commit -B'
1631           properties:
1632             - 'newVersion=${{release_version}}'
1633           settings: '{mvn-settings}'
1634           settings-type: cfp
1635           global-settings: 'global-settings'
1636           global-settings-type: cfp
1637
1638       - maven-target:
1639           maven-version: '{maven-version}'
1640           pom: '{site-pom}'
1641           goals: 'clean site:site site:stage-deploy'
1642           settings: '{mvn-settings}'
1643           settings-type: cfp
1644           global-settings: 'global-settings'
1645           global-settings-type: cfp
1646
1647     publishers:
1648       - infra-shiplogs:
1649           maven-version: '{maven-version}'
1650
1651 - job-template:
1652     # Job template for Java merge jobs
1653     #
1654     # The purpose of this job template is to run "maven clean deploy" for
1655     # projects using this template.
1656     #
1657     # Required Variables:
1658     #     branch:    git branch (eg. stable/lithium or master)
1659     name: '{project-name}-{stream}-sdc-merge-java'
1660
1661     project-type: freestyle
1662     node: 'ubuntu1604-docker-8c-8g'
1663
1664     properties:
1665       - infra-properties:
1666           build-days-to-keep: '{build-days-to-keep}'
1667
1668     parameters:
1669       - infra-parameters:
1670           project: '{project}'
1671           branch: '{branch}'
1672           refspec: 'refs/heads/{branch}'
1673           artifacts: '{archive-artifacts}'
1674       - maven-exec:
1675           maven-version: '{maven-version}'
1676
1677     scm:
1678       - gerrit-trigger-scm:
1679           refspec: ''
1680           choosing-strategy: 'default'
1681           submodule-recursive: '{submodule-recursive}'
1682
1683     wrappers:
1684       - infra-wrappers:
1685           build-timeout: '{build-timeout}'
1686
1687     triggers:
1688       - gerrit-trigger-patch-merged:
1689           server: '{server-name}'
1690           project: '{project}'
1691           branch: '{branch}'
1692           files: '**'
1693
1694     builders:
1695       - provide-maven-settings:
1696           global-settings-file: 'global-settings'
1697           settings-file: '{mvn-settings}'
1698
1699       - docker-login
1700
1701       - maven-docker-push-daily:
1702           maven-version: '{maven-version}'
1703           mvn-settings: '{mvn-settings}'
1704           pom: '{docker-pom}'
1705           # use default as mvn-profile if profile is not needed
1706           mvn-profile: '{mvn-profile}'
1707
1708     publishers:
1709       - infra-shiplogs:
1710           maven-version: '{maven-version}'
1711
1712 - job-template:
1713     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1714     project-type: freestyle
1715     node: 'ubuntu1604-docker-8c-8g'
1716
1717     properties:
1718       - infra-properties:
1719           build-days-to-keep: '{build-days-to-keep}'
1720
1721     parameters:
1722       - infra-parameters:
1723           project: '{project}'
1724           branch: '{branch}'
1725           refspec: 'refs/heads/{branch}'
1726           artifacts: '{archive-artifacts}'
1727       - maven-exec:
1728           maven-version: '{maven-version}'
1729
1730     scm:
1731       - gerrit-trigger-scm:
1732           refspec: ''
1733           choosing-strategy: 'default'
1734           submodule-recursive: '{submodule-recursive}'
1735
1736     wrappers:
1737       - infra-wrappers:
1738           build-timeout: '{build-timeout}'
1739
1740     triggers:
1741       # 12 AM UTC
1742       - timed: 'H 12 * * *'
1743       - gerrit-trigger-release-manually:
1744           server: '{server-name}'
1745           project: '{project}'
1746           branch: '{branch}'
1747
1748     builders:
1749
1750       - provide-maven-settings:
1751           global-settings-file: 'global-settings'
1752           settings-file: '{mvn-settings}'
1753
1754       - docker-login
1755
1756       - maven-target:
1757           maven-version: '{maven-version}'
1758           pom: 'pom.xml'
1759           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1760           settings: '{mvn-settings}'
1761           settings-type: cfp
1762           global-settings: 'global-settings'
1763           global-settings-type: cfp
1764
1765       - maven-target:
1766           maven-version: '{maven-version}'
1767           pom: '{pom}'
1768           goals: '{mvn-goals}'
1769           settings: '{mvn-settings}'
1770           settings-type: cfp
1771           global-settings: 'global-settings'
1772           global-settings-type: cfp
1773           properties:
1774             - maven.test.skip=true
1775             - docker.pull.registry=nexus3.onap.org:10001
1776             - docker.push.registry=nexus3.onap.org:10003
1777
1778     publishers:
1779       - infra-shiplogs:
1780           maven-version: '{maven-version}'
1781