Merge "Add jjb for aai-champ repos"
[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
1346     properties:
1347       - infra-properties:
1348           build-days-to-keep: '{build-days-to-keep}'
1349
1350     parameters:
1351       - infra-parameters:
1352           project: '{project}'
1353           branch: '{branch}'
1354           refspec: 'refs/heads/{branch}'
1355           artifacts: '{archive-artifacts}'
1356       - maven-exec:
1357           maven-version: '{maven-version}'
1358
1359     scm:
1360       - gerrit-trigger-scm:
1361           refspec: ''
1362           choosing-strategy: 'default'
1363           submodule-recursive: '{submodule-recursive}'
1364
1365     wrappers:
1366       - infra-wrappers:
1367           build-timeout: '{build-timeout}'
1368
1369     triggers:
1370       # 12 AM UTC
1371       - timed: 'H 12 * * *'
1372       - gerrit-trigger-release-manually:
1373           server: '{server-name}'
1374           project: '{project}'
1375           branch: '{branch}'
1376
1377     builders:
1378
1379       - provide-maven-settings:
1380           global-settings-file: 'global-settings'
1381           settings-file: '{mvn-settings}'
1382
1383       - docker-login
1384
1385       - maven-target:
1386           maven-version: '{maven-version}'
1387           pom: 'pom.xml'
1388           goals: 'clean install -DskipTests -B
1389             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1390           settings: '{mvn-settings}'
1391           settings-type: cfp
1392           global-settings: 'global-settings'
1393           global-settings-type: cfp
1394
1395       - maven-target:
1396           maven-version: '{maven-version}'
1397           pom: '{pom}'
1398           goals: '{mvn-goals}'
1399           settings: '{mvn-settings}'
1400           settings-type: cfp
1401           global-settings: 'global-settings'
1402           global-settings-type: cfp
1403           properties:
1404             - maven.test.skip=true
1405             - docker.pull.registry=nexus3.onap.org:10001
1406             - docker.push.registry=nexus3.onap.org:10003
1407
1408       - shell: !include-raw-escape: include-docker-push.sh
1409
1410     publishers:
1411       - infra-shiplogs:
1412           maven-version: '{maven-version}'
1413
1414 - job-template:
1415     # Job template for Java daily release jobs
1416     #
1417     # The purpose of this job template is to run
1418     #   - change version in all POM files to the release version specified
1419     #     in version.properties. This is done using a script instread of
1420     #     the mvn version plugin that assumes some specific parent structure.
1421     #   - runs maven clean deploy sonar
1422     #
1423     # The POM files are required to use the Maven staging plugin so the deploy
1424     # does not deploy directly to the release repo.
1425     #
1426     # Required Variables:
1427     #     branch:    git branch (eg. stable/lithium or master)
1428     name: '{project-name}-{stream}-release-version2-java-daily'
1429
1430     project-type: freestyle
1431     node: '{build-node}'
1432     maven-deploy-properties:
1433     properties:
1434       - infra-properties:
1435           build-days-to-keep: '{build-days-to-keep}'
1436
1437     parameters:
1438       - infra-parameters:
1439           project: '{project}'
1440           branch: '{branch}'
1441           refspec: 'refs/heads/{branch}'
1442           artifacts: '{archive-artifacts}'
1443       - maven-exec:
1444           maven-version: '{maven-version}'
1445
1446     scm:
1447       - gerrit-trigger-scm:
1448           refspec: ''
1449           choosing-strategy: 'default'
1450           submodule-recursive: '{submodule-recursive}'
1451
1452     wrappers:
1453       - infra-wrappers:
1454           build-timeout: '{build-timeout}'
1455
1456     triggers:
1457       # 11 AM UTC
1458       - timed: 'H 11 * * *'
1459       - gerrit-trigger-release-manually:
1460           server: '{server-name}'
1461           project: '{project}'
1462           branch: '{branch}'
1463
1464     builders:
1465       - provide-maven-settings:
1466           global-settings-file: 'global-settings'
1467           settings-file: '{mvn-settings}'
1468       - maven-install:
1469           maven-version: '{maven-version}'
1470
1471       - inject:
1472           properties-file: version.properties
1473
1474       - shell: !include-raw-escape: include-update-pom-versions.sh
1475
1476       - maven-target:
1477           maven-version: '{maven-version}'
1478           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1479             -Dsonar.host.url=${{SONAR}} -B
1480             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1481           properties:
1482             - '{maven-deploy-properties}'
1483           settings: '{mvn-settings}'
1484           settings-type: cfp
1485           global-settings: 'global-settings'
1486           global-settings-type: cfp
1487
1488     publishers:
1489       - infra-shiplogs:
1490           maven-version: '{maven-version}'
1491
1492 - job-template:
1493     # Job template for Java daily release jobs
1494     #
1495     # The purpose of this job template is to run
1496     #   - change version in all POM files to the release version specified
1497     #     in version.properties. This is done using a script instread of
1498     #     the mvn version plugin that assumes some specific parent structure.
1499     #   - runs maven clean deploy sonar
1500     #
1501     # The POM files are required to use the Maven staging plugin so the deploy
1502     # does not deploy directly to the release repo.
1503     #
1504     # Required Variables:
1505     #     branch:    git branch (eg. stable/lithium or master)
1506     #     pom:       name/location of the pom.xml file relative to the workspace
1507     #     pattern:   ant file-path pattern relative to the workspace used to
1508     #                trigger the job
1509
1510     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1511
1512     project-type: freestyle
1513     node: '{build-node}'
1514     maven-deploy-properties:
1515     properties:
1516       - infra-properties:
1517           build-days-to-keep: '{build-days-to-keep}'
1518
1519     parameters:
1520       - infra-parameters:
1521           project: '{project}'
1522           branch: '{branch}'
1523           refspec: 'refs/heads/{branch}'
1524           artifacts: '{archive-artifacts}'
1525       - maven-exec:
1526           maven-version: '{maven-version}'
1527
1528     scm:
1529       - gerrit-trigger-scm:
1530           refspec: ''
1531           choosing-strategy: 'default'
1532           submodule-recursive: '{submodule-recursive}'
1533
1534     wrappers:
1535       - infra-wrappers:
1536           build-timeout: '{build-timeout}'
1537
1538     triggers:
1539       # 11 AM UTC
1540       - timed: 'H 11 * * *'
1541       - gerrit-trigger-release-manually:
1542           server: '{server-name}'
1543           project: '{project}'
1544           branch: '{branch}'
1545           files: '{pattern}'
1546
1547     builders:
1548       - provide-maven-settings:
1549           global-settings-file: 'global-settings'
1550           settings-file: '{mvn-settings}'
1551       - maven-install:
1552           maven-version: '{maven-version}'
1553
1554       - inject:
1555           properties-file: version.properties
1556
1557       - shell: !include-raw-escape: include-update-pom-versions.sh
1558
1559       - maven-target:
1560           maven-version: '{maven-version}'
1561           pom: '{pom}'
1562           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1563             -Dsonar.host.url=${{SONAR}} -B
1564             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1565           properties:
1566             - '{maven-deploy-properties}'
1567           settings: '{mvn-settings}'
1568           settings-type: cfp
1569           global-settings: 'global-settings'
1570           global-settings-type: cfp
1571
1572     publishers:
1573       - infra-shiplogs:
1574           maven-version: '{maven-version}'
1575
1576 - job-template:
1577     # Template for maven site plugin invocation
1578     #
1579     # It's designed to be triggered when the trigger-job job
1580     # succeeds as there's no need for new documentaiton
1581     # if the build job fails.
1582     #
1583     # Those parameters should be set :
1584     # - site-pom : the pom file that contains the site confiration
1585     # - trigger-job : the name of the project that triggers this job
1586     #                     upon success. The job name can be
1587     #                     parameterized.
1588     name: '{project-name}-{stream}-stage-site-java'
1589     project-type: freestyle
1590     node: '{build-node}'
1591
1592     properties:
1593       - infra-properties:
1594           build-days-to-keep: '{build-days-to-keep}'
1595
1596     parameters:
1597       - infra-parameters:
1598           project: '{project}'
1599           branch: '{branch}'
1600           refspec: 'refs/heads/{branch}'
1601           artifacts: '{archive-artifacts}'
1602       - maven-exec:
1603           maven-version: '{maven-version}'
1604
1605     scm:
1606       - gerrit-trigger-scm:
1607           refspec: ''
1608           choosing-strategy: 'default'
1609           submodule-recursive: '{submodule-recursive}'
1610
1611     wrappers:
1612       - infra-wrappers:
1613           build-timeout: '{build-timeout}'
1614
1615     triggers:
1616       - trigger-on-build-success:
1617           job-name: '{trigger-job}'
1618
1619     builders:
1620       - provide-maven-settings:
1621           global-settings-file: 'global-settings'
1622           settings-file: '{mvn-settings}'
1623       - inject:
1624           properties-file: version.properties
1625       - maven-target:
1626           maven-version: '{maven-version}'
1627           goals: 'versions:set versions:update-child-modules versions:commit -B'
1628           properties:
1629             - 'newVersion=${{release_version}}'
1630           settings: '{mvn-settings}'
1631           settings-type: cfp
1632           global-settings: 'global-settings'
1633           global-settings-type: cfp
1634
1635       - maven-target:
1636           maven-version: '{maven-version}'
1637           pom: '{site-pom}'
1638           goals: 'clean site:site site:stage-deploy'
1639           settings: '{mvn-settings}'
1640           settings-type: cfp
1641           global-settings: 'global-settings'
1642           global-settings-type: cfp
1643
1644     publishers:
1645       - infra-shiplogs:
1646           maven-version: '{maven-version}'
1647
1648 - job-template:
1649     # Job template for Java merge jobs
1650     #
1651     # The purpose of this job template is to run "maven clean deploy" for
1652     # projects using this template.
1653     #
1654     # Required Variables:
1655     #     branch:    git branch (eg. stable/lithium or master)
1656     name: '{project-name}-{stream}-sdc-merge-java'
1657
1658     project-type: freestyle
1659     node: 'ubuntu1604-docker-8c-8g'
1660
1661     properties:
1662       - infra-properties:
1663           build-days-to-keep: '{build-days-to-keep}'
1664
1665     parameters:
1666       - infra-parameters:
1667           project: '{project}'
1668           branch: '{branch}'
1669           refspec: 'refs/heads/{branch}'
1670           artifacts: '{archive-artifacts}'
1671       - maven-exec:
1672           maven-version: '{maven-version}'
1673
1674     scm:
1675       - gerrit-trigger-scm:
1676           refspec: ''
1677           choosing-strategy: 'default'
1678           submodule-recursive: '{submodule-recursive}'
1679
1680     wrappers:
1681       - infra-wrappers:
1682           build-timeout: '{build-timeout}'
1683
1684     triggers:
1685       - gerrit-trigger-patch-merged:
1686           server: '{server-name}'
1687           project: '{project}'
1688           branch: '{branch}'
1689           files: '**'
1690
1691     builders:
1692       - provide-maven-settings:
1693           global-settings-file: 'global-settings'
1694           settings-file: '{mvn-settings}'
1695
1696       - docker-login
1697
1698       - maven-docker-push-daily:
1699           maven-version: '{maven-version}'
1700           mvn-settings: '{mvn-settings}'
1701           pom: '{docker-pom}'
1702           # use default as mvn-profile if profile is not needed
1703           mvn-profile: '{mvn-profile}'
1704
1705     publishers:
1706       - infra-shiplogs:
1707           maven-version: '{maven-version}'
1708
1709 - job-template:
1710     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1711     project-type: freestyle
1712     node: 'ubuntu1604-docker-8c-8g'
1713
1714     properties:
1715       - infra-properties:
1716           build-days-to-keep: '{build-days-to-keep}'
1717
1718     parameters:
1719       - infra-parameters:
1720           project: '{project}'
1721           branch: '{branch}'
1722           refspec: 'refs/heads/{branch}'
1723           artifacts: '{archive-artifacts}'
1724       - maven-exec:
1725           maven-version: '{maven-version}'
1726
1727     scm:
1728       - gerrit-trigger-scm:
1729           refspec: ''
1730           choosing-strategy: 'default'
1731           submodule-recursive: '{submodule-recursive}'
1732
1733     wrappers:
1734       - infra-wrappers:
1735           build-timeout: '{build-timeout}'
1736
1737     triggers:
1738       # 12 AM UTC
1739       - timed: 'H 12 * * *'
1740       - gerrit-trigger-release-manually:
1741           server: '{server-name}'
1742           project: '{project}'
1743           branch: '{branch}'
1744
1745     builders:
1746
1747       - provide-maven-settings:
1748           global-settings-file: 'global-settings'
1749           settings-file: '{mvn-settings}'
1750
1751       - docker-login
1752
1753       - maven-target:
1754           maven-version: '{maven-version}'
1755           pom: 'pom.xml'
1756           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1757           settings: '{mvn-settings}'
1758           settings-type: cfp
1759           global-settings: 'global-settings'
1760           global-settings-type: cfp
1761
1762       - maven-target:
1763           maven-version: '{maven-version}'
1764           pom: '{pom}'
1765           goals: '{mvn-goals}'
1766           settings: '{mvn-settings}'
1767           settings-type: cfp
1768           global-settings: 'global-settings'
1769           global-settings-type: cfp
1770           properties:
1771             - maven.test.skip=true
1772             - docker.pull.registry=nexus3.onap.org:10001
1773             - docker.push.registry=nexus3.onap.org:10003
1774
1775     publishers:
1776       - infra-shiplogs:
1777           maven-version: '{maven-version}'
1778