Checkout submodules recursively.
[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 that takes a maven template
190     #
191     # The purpose of this job template is to run "maven clean install -P {x}"
192     # for projects using this template.
193     #
194     # Required Variables:
195     #     branch:    git branch (eg. stable/lithium or master)
196
197     name: '{project-name}-{stream}-verify-profile-java'
198
199     project-type: freestyle
200     concurrent: true
201     node: '{build-node}'
202
203     properties:
204       - infra-properties:
205           build-days-to-keep: '{build-days-to-keep}'
206
207     parameters:
208       - infra-parameters:
209           project: '{project}'
210           branch: '{branch}'
211           refspec: 'refs/heads/{branch}'
212           artifacts: '{archive-artifacts}'
213       - maven-exec:
214           maven-version: '{maven-version}'
215
216     scm:
217       - gerrit-trigger-scm:
218           refspec: '$GERRIT_REFSPEC'
219           choosing-strategy: 'gerrit'
220           submodule-recursive: '{submodule-recursive}'
221
222     wrappers:
223       - infra-wrappers:
224           build-timeout: '{build-timeout}'
225
226     triggers:
227       - gerrit-trigger-patch-submitted:
228           server: '{server-name}'
229           project: '{project}'
230           branch: '{branch}'
231           files: '**'
232
233     builders:
234       - provide-maven-settings:
235           global-settings-file: 'global-settings'
236           settings-file: '{mvn-settings}'
237       - maven-target:
238           maven-version: '{maven-version}'
239           goals: 'clean install -P {mvn-profile} -B
240             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
241           settings: '{mvn-settings}'
242           settings-type: cfp
243           global-settings: 'global-settings'
244           global-settings-type: cfp
245
246     publishers:
247       - infra-shiplogs:
248           maven-version: '{maven-version}'
249
250 - job-template:
251     # Job template for Java verify jobs with POM not at the root
252     #
253     # The purpose of this job template is to run "maven clean install" for
254     # projects using this template.
255     #
256     # Required Variables:
257     #     branch:    git branch (eg. stable/lithium or master)
258     #     pom:       name/location of the pom.xml file relative to the workspace
259     #     pattern:   ant file-path pattern relative to the workspace used to
260     #                trigger the job
261
262     name: '{project-name}-{stream}-{subproject}-verify-java'
263
264     project-type: freestyle
265     concurrent: true
266     node: '{build-node}'
267
268     properties:
269       - infra-properties:
270           build-days-to-keep: '{build-days-to-keep}'
271
272     parameters:
273       - infra-parameters:
274           project: '{project}'
275           branch: '{branch}'
276           refspec: 'refs/heads/{branch}'
277           artifacts: '{archive-artifacts}'
278       - maven-exec:
279           maven-version: '{maven-version}'
280
281     scm:
282       - gerrit-trigger-scm:
283           refspec: '$GERRIT_REFSPEC'
284           choosing-strategy: 'gerrit'
285           submodule-recursive: '{submodule-recursive}'
286
287     wrappers:
288       - infra-wrappers:
289           build-timeout: '{build-timeout}'
290
291     triggers:
292       - gerrit-trigger-patch-submitted:
293           server: '{server-name}'
294           project: '{project}'
295           branch: '{branch}'
296           files: '{pattern}'
297
298     builders:
299       - provide-maven-settings:
300           global-settings-file: 'global-settings'
301           settings-file: '{mvn-settings}'
302       - maven-target:
303           maven-version: '{maven-version}'
304           pom: '{pom}'
305           goals: 'clean install -B
306             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
307           settings: '{mvn-settings}'
308           settings-type: cfp
309           global-settings: 'global-settings'
310           global-settings-type: cfp
311
312     publishers:
313       - infra-shiplogs:
314           maven-version: '{maven-version}'
315
316 - job-template:
317     # Job template for Java daily release jobs
318     #
319     # The purpose of this job template is to run "maven version && maven clean
320     # deploy" for projects using this template.
321     #
322     # Required Variables:
323     #     branch:    git branch (eg. stable/lithium or master)
324     name: '{project-name}-{stream}-release-java-daily'
325
326     project-type: freestyle
327     node: '{build-node}'
328     maven-deploy-properties:
329     properties:
330       - infra-properties:
331           build-days-to-keep: '{build-days-to-keep}'
332
333     parameters:
334       - infra-parameters:
335           project: '{project}'
336           branch: '{branch}'
337           refspec: 'refs/heads/{branch}'
338           artifacts: '{archive-artifacts}'
339       - maven-exec:
340           maven-version: '{maven-version}'
341
342     scm:
343       - gerrit-trigger-scm:
344           refspec: ''
345           choosing-strategy: 'default'
346           submodule-recursive: '{submodule-recursive}'
347
348     wrappers:
349       - infra-wrappers:
350           build-timeout: '{build-timeout}'
351
352     triggers:
353       # 11 AM UTC
354       - timed: 'H 11 * * *'
355       - gerrit-trigger-release-manually:
356           server: '{server-name}'
357           project: '{project}'
358           branch: '{branch}'
359
360     builders:
361       - provide-maven-settings:
362           global-settings-file: 'global-settings'
363           settings-file: '{mvn-settings}'
364
365       - maven-target:
366           maven-version: '{maven-version}'
367           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
368             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
369           properties:
370             - '{maven-deploy-properties}'
371           settings: '{mvn-settings}'
372           settings-type: cfp
373           global-settings: 'global-settings'
374           global-settings-type: cfp
375
376     publishers:
377       - infra-shiplogs:
378           maven-version: '{maven-version}'
379
380 - job-template:
381     # Job template for Java daily release jobs
382     #
383     # The purpose of this job template is to run "maven version && maven clean
384     # deploy" for projects using this template.
385     #
386     # Required Variables:
387     #     branch:    git branch (eg. stable/lithium or master)
388     name: '{project-name}-{stream}-release-version-java-daily-no-sonar'
389
390     project-type: freestyle
391     node: '{build-node}'
392     maven-deploy-properties:
393     properties:
394       - infra-properties:
395           build-days-to-keep: '{build-days-to-keep}'
396
397     parameters:
398       - infra-parameters:
399           project: '{project}'
400           branch: '{branch}'
401           refspec: 'refs/heads/{branch}'
402           artifacts: '{archive-artifacts}'
403       - maven-exec:
404           maven-version: '{maven-version}'
405
406     scm:
407       - gerrit-trigger-scm:
408           refspec: ''
409           choosing-strategy: 'default'
410           submodule-recursive: '{submodule-recursive}'
411
412     wrappers:
413       - infra-wrappers:
414           build-timeout: '{build-timeout}'
415
416     triggers:
417       # 11 AM UTC
418       - timed: 'H 11 * * *'
419       - gerrit-trigger-release-manually:
420           server: '{server-name}'
421           project: '{project}'
422           branch: '{branch}'
423
424     builders:
425       - provide-maven-settings:
426           global-settings-file: 'global-settings'
427           settings-file: '{mvn-settings}'
428
429       - inject:
430           properties-file: version.properties
431       - maven-target:
432           maven-version: '{maven-version}'
433           goals: 'versions:set versions:update-child-modules versions:commit'
434           properties:
435             - 'newVersion=${{release_version}}'
436           settings: '{mvn-settings}'
437           settings-type: cfp
438           global-settings: 'global-settings'
439           global-settings-type: cfp
440
441       - maven-target:
442           maven-version: '{maven-version}'
443           goals: 'clean deploy -B
444             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
445           properties:
446             - '{maven-deploy-properties}'
447           settings: '{mvn-settings}'
448           settings-type: cfp
449           global-settings: 'global-settings'
450           global-settings-type: cfp
451
452     publishers:
453       - infra-shiplogs:
454           maven-version: '{maven-version}'
455
456 - job-template:
457     # Job template for Java daily release jobs
458     #
459     # The purpose of this job template is to run "maven version && maven clean
460     # deploy" for projects using this template.
461     #
462     # Required Variables:
463     #     branch:    git branch (eg. stable/lithium or master)
464     name: '{project-name}-{stream}-release-version-java-daily'
465
466     project-type: freestyle
467     node: '{build-node}'
468     maven-deploy-properties:
469     properties:
470       - infra-properties:
471           build-days-to-keep: '{build-days-to-keep}'
472
473     parameters:
474       - infra-parameters:
475           project: '{project}'
476           branch: '{branch}'
477           refspec: 'refs/heads/{branch}'
478           artifacts: '{archive-artifacts}'
479       - maven-exec:
480           maven-version: '{maven-version}'
481
482     scm:
483       - gerrit-trigger-scm:
484           refspec: ''
485           choosing-strategy: 'default'
486           submodule-recursive: '{submodule-recursive}'
487
488     wrappers:
489       - infra-wrappers:
490           build-timeout: '{build-timeout}'
491
492     triggers:
493       # 11 AM UTC
494       - timed: 'H 11 * * *'
495       - gerrit-trigger-release-manually:
496           server: '{server-name}'
497           project: '{project}'
498           branch: '{branch}'
499
500     builders:
501       - provide-maven-settings:
502           global-settings-file: 'global-settings'
503           settings-file: '{mvn-settings}'
504
505       - inject:
506           properties-file: version.properties
507       - maven-target:
508           maven-version: '{maven-version}'
509           goals: 'versions:set versions:update-child-modules versions:commit'
510           properties:
511             - 'newVersion=${{release_version}}'
512           settings: '{mvn-settings}'
513           settings-type: cfp
514           global-settings: 'global-settings'
515           global-settings-type: cfp
516
517       - maven-target:
518           maven-version: '{maven-version}'
519           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
520             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
521           properties:
522             - '{maven-deploy-properties}'
523           settings: '{mvn-settings}'
524           settings-type: cfp
525           global-settings: 'global-settings'
526           global-settings-type: cfp
527
528     publishers:
529       - infra-shiplogs:
530           maven-version: '{maven-version}'
531
532 - job-template:
533     # Job template for Java daily release jobs with POM not at the root
534     #
535     # The purpose of this job template is to run "maven version && maven clean
536     # deploy" for projects using this template.
537     #
538     # Required Variables:
539     #     branch:    git branch (eg. stable/lithium or master)
540     #     pom:       name/location of the pom.xml file relative to the workspace
541
542
543     name: '{project-name}-{stream}-{subproject}-release-java-daily'
544
545     project-type: freestyle
546     node: '{build-node}'
547     maven-deploy-properties:
548     properties:
549       - infra-properties:
550           build-days-to-keep: '{build-days-to-keep}'
551
552     parameters:
553       - infra-parameters:
554           project: '{project}'
555           branch: '{branch}'
556           refspec: 'refs/heads/{branch}'
557           artifacts: '{archive-artifacts}'
558       - maven-exec:
559           maven-version: '{maven-version}'
560
561     scm:
562       - gerrit-trigger-scm:
563           refspec: ''
564           choosing-strategy: 'default'
565           submodule-recursive: '{submodule-recursive}'
566
567     wrappers:
568       - infra-wrappers:
569           build-timeout: '{build-timeout}'
570
571     triggers:
572       # 11 AM UTC
573       - timed: 'H 11 * * *'
574       - gerrit-trigger-release-manually:
575           server: '{server-name}'
576           project: '{project}'
577           branch: '{branch}'
578
579     builders:
580       - provide-maven-settings:
581           global-settings-file: 'global-settings'
582           settings-file: '{mvn-settings}'
583
584       - maven-target:
585           maven-version: '{maven-version}'
586           pom: '{pom}'
587           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
588             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
589           properties:
590             - '{maven-deploy-properties}'
591           settings: '{mvn-settings}'
592           settings-type: cfp
593           global-settings: 'global-settings'
594           global-settings-type: cfp
595
596     publishers:
597       - infra-shiplogs:
598           maven-version: '{maven-version}'
599
600 - job-template:
601     # Job template for Java merge jobs
602     #
603     # The purpose of this job template is to run "maven clean deploy" for
604     # projects using this template.
605     #
606     # Required Variables:
607     #     branch:    git branch (eg. stable/lithium or master)
608     name: '{project-name}-{stream}-merge-java'
609
610     project-type: freestyle
611     node: '{build-node}'
612
613     properties:
614       - infra-properties:
615           build-days-to-keep: '{build-days-to-keep}'
616
617     parameters:
618       - infra-parameters:
619           project: '{project}'
620           branch: '{branch}'
621           refspec: 'refs/heads/{branch}'
622           artifacts: '{archive-artifacts}'
623       - maven-exec:
624           maven-version: '{maven-version}'
625
626     scm:
627       - gerrit-trigger-scm:
628           refspec: ''
629           choosing-strategy: 'default'
630           submodule-recursive: '{submodule-recursive}'
631
632     wrappers:
633       - infra-wrappers:
634           build-timeout: '{build-timeout}'
635
636     triggers:
637       - gerrit-trigger-patch-merged:
638           server: '{server-name}'
639           project: '{project}'
640           branch: '{branch}'
641           files: '**'
642
643     builders:
644       - provide-maven-settings:
645           global-settings-file: 'global-settings'
646           settings-file: '{mvn-settings}'
647       - maven-target:
648           maven-version: '{maven-version}'
649           goals: 'clean deploy -B
650             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
651           settings: '{mvn-settings}'
652           settings-type: cfp
653           global-settings: 'global-settings'
654           global-settings-type: cfp
655
656     publishers:
657       - infra-shiplogs:
658           maven-version: '{maven-version}'
659
660 - job-template:
661     # Job template for Java merge jobs that takes a maven template
662     #
663     # The purpose of this job template is to run "maven clean deploy -P {x}"
664     # for projects using this template.
665     #
666     # Required Variables:
667     #     branch:    git branch (eg. stable/lithium or master)
668     name: '{project-name}-{stream}-merge-profile-java'
669
670     project-type: freestyle
671     node: '{build-node}'
672
673     properties:
674       - infra-properties:
675           build-days-to-keep: '{build-days-to-keep}'
676
677     parameters:
678       - infra-parameters:
679           project: '{project}'
680           branch: '{branch}'
681           refspec: 'refs/heads/{branch}'
682           artifacts: '{archive-artifacts}'
683       - maven-exec:
684           maven-version: '{maven-version}'
685
686     scm:
687       - gerrit-trigger-scm:
688           refspec: ''
689           choosing-strategy: 'default'
690           submodule-recursive: '{submodule-recursive}'
691
692     wrappers:
693       - infra-wrappers:
694           build-timeout: '{build-timeout}'
695
696     triggers:
697       - gerrit-trigger-patch-merged:
698           server: '{server-name}'
699           project: '{project}'
700           branch: '{branch}'
701           files: '**'
702
703     builders:
704       - provide-maven-settings:
705           global-settings-file: 'global-settings'
706           settings-file: '{mvn-settings}'
707
708       - docker-login
709
710       - maven-target:
711           maven-version: '{maven-version}'
712           goals: 'clean deploy -P {mvn-profile} -B
713             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
714           settings: '{mvn-settings}'
715           settings-type: cfp
716           global-settings: 'global-settings'
717           global-settings-type: cfp
718           properties:
719             - docker.pull.registry=nexus3.onap.org:10001
720             - docker.push.registry=nexus3.onap.org:10003
721
722     publishers:
723       - infra-shiplogs:
724           maven-version: '{maven-version}'
725
726 - job-template:
727     # Job template for Java merge jobs that should also be triggered by upstream
728     # merges
729     #
730     # Required Variables:
731     #   stream:         release stream
732     #   branch:         git branch
733     #   dependencies:   fully qualified upstream job name to trigger on
734     #                   this may be ''
735     name: '{project-name}-{stream}-downstream-merge-java'
736
737     project-type: freestyle
738     node: '{build-node}'
739
740     properties:
741       - infra-properties:
742           build-days-to-keep: '{build-days-to-keep}'
743
744     parameters:
745       - infra-parameters:
746           project: '{project}'
747           branch: '{branch}'
748           refspec: 'refs/heads/{branch}'
749           artifacts: '{archive-artifacts}'
750       - maven-exec:
751           maven-version: '{maven-version}'
752
753     scm:
754       - gerrit-trigger-scm:
755           refspec: ''
756           choosing-strategy: 'default'
757           submodule-recursive: '{submodule-recursive}'
758
759     wrappers:
760       - infra-wrappers:
761           build-timeout: '{build-timeout}'
762
763     triggers:
764       - reverse:
765           jobs: '{dependencies}'
766           result: 'success'
767       - gerrit-trigger-patch-merged:
768           server: '{server-name}'
769           project: '{project}'
770           branch: '{branch}'
771           files: '**'
772
773     builders:
774       - provide-maven-settings:
775           global-settings-file: 'global-settings'
776           settings-file: '{mvn-settings}'
777       - maven-target:
778           maven-version: '{maven-version}'
779           goals: 'clean deploy -B
780             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
781           settings: '{mvn-settings}'
782           settings-type: cfp
783           global-settings: 'global-settings'
784           global-settings-type: cfp
785
786     publishers:
787       - infra-shiplogs:
788           maven-version: '{maven-version}'
789
790 - job-template:
791     # Job template for Java merge jobs with POM not at the root
792     #
793     # The purpose of this job template is to run "maven clean deploy" for
794     # projects using this template.
795     #
796     # Required Variables:
797     #     branch:    git branch (eg. stable/lithium or master)
798     #     pom:       name/location of the pom.xml file relative to the workspace
799     #     pattern:   ant file-path pattern relative to the workspace used to
800     #                trigger the job
801
802     name: '{project-name}-{stream}-{subproject}-merge-java'
803
804     project-type: freestyle
805     node: '{build-node}'
806
807     properties:
808       - infra-properties:
809           build-days-to-keep: '{build-days-to-keep}'
810
811     parameters:
812       - infra-parameters:
813           project: '{project}'
814           branch: '{branch}'
815           refspec: 'refs/heads/{branch}'
816           artifacts: '{archive-artifacts}'
817       - maven-exec:
818           maven-version: '{maven-version}'
819
820     scm:
821       - gerrit-trigger-scm:
822           refspec: ''
823           choosing-strategy: 'default'
824           submodule-recursive: '{submodule-recursive}'
825
826     wrappers:
827       - infra-wrappers:
828           build-timeout: '{build-timeout}'
829
830     triggers:
831       - gerrit-trigger-patch-merged:
832           server: '{server-name}'
833           project: '{project}'
834           branch: '{branch}'
835           files: '{pattern}'
836
837     builders:
838       - provide-maven-settings:
839           global-settings-file: 'global-settings'
840           settings-file: '{mvn-settings}'
841       - maven-target:
842           maven-version: '{maven-version}'
843           pom: '{pom}'
844           goals: 'clean deploy -B
845             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
846           settings: '{mvn-settings}'
847           settings-type: cfp
848           global-settings: 'global-settings'
849           global-settings-type: cfp
850
851     publishers:
852       - infra-shiplogs:
853           maven-version: '{maven-version}'
854
855 - job-template:
856     name: '{project-name}-{stream}-docker-java-daily'
857     project-type: freestyle
858     node: 'ubuntu1604-docker-8c-8g'
859
860     properties:
861       - infra-properties:
862           build-days-to-keep: '{build-days-to-keep}'
863
864     parameters:
865       - infra-parameters:
866           project: '{project}'
867           branch: '{branch}'
868           refspec: 'refs/heads/{branch}'
869           artifacts: '{archive-artifacts}'
870       - maven-exec:
871           maven-version: '{maven-version}'
872
873     scm:
874       - gerrit-trigger-scm:
875           refspec: ''
876           choosing-strategy: 'default'
877           submodule-recursive: '{submodule-recursive}'
878
879     wrappers:
880       - infra-wrappers:
881           build-timeout: '{build-timeout}'
882
883     triggers:
884       # 12 AM UTC
885       - timed: 'H 12 * * *'
886       - gerrit-trigger-release-manually:
887           server: '{server-name}'
888           project: '{project}'
889           branch: '{branch}'
890
891     builders:
892
893       - provide-maven-settings:
894           global-settings-file: 'global-settings'
895           settings-file: '{mvn-settings}'
896
897       - docker-login
898
899       - maven-docker-push-daily:
900           maven-version: '{maven-version}'
901           mvn-settings: '{mvn-settings}'
902           pom: '{docker-pom}'
903           # use default as mvn-profile if profile is not needed
904           mvn-profile: '{mvn-profile}'
905
906     publishers:
907       - infra-shiplogs:
908           maven-version: '{maven-version}'
909
910 - job-template:
911     # Job template for building & pushing docker images
912     #
913     # The purpose of this job template is to run :
914     #  1. login to the docker registry
915     #  2. do a clean deploy on the specified profile
916     #
917     # Required Variables:
918     #     pom:       name/location of the pom.xml file relative to the workspace
919     #     profile:   the docker profile defined in the pom
920     #     maven-properties: properties passed to maven
921     name: '{project-name}-{stream}-docker-java-properties-daily'
922     project-type: freestyle
923     node: 'ubuntu1604-docker-8c-8g'
924     properties:
925       - infra-properties:
926           build-days-to-keep: '{build-days-to-keep}'
927     parameters:
928       - infra-parameters:
929           project: '{project}'
930           branch: '{branch}'
931           refspec: 'refs/heads/{branch}'
932           artifacts: '{archive-artifacts}'
933       - maven-exec:
934           maven-version: '{maven-version}'
935     scm:
936       - gerrit-trigger-scm:
937           refspec: ''
938           choosing-strategy: 'default'
939           submodule-recursive: '{submodule-recursive}'
940     wrappers:
941       - infra-wrappers:
942           build-timeout: '{build-timeout}'
943     triggers:
944       # 12 AM UTC
945       - timed: 'H 12 * * *'
946       - gerrit-trigger-release-manually:
947           server: '{server-name}'
948           project: '{project}'
949           branch: '{branch}'
950     builders:
951       - provide-maven-settings:
952           global-settings-file: 'global-settings'
953           settings-file: '{mvn-settings}'
954       - docker-login
955       - maven-docker-push-daily:
956           maven-version: '{maven-version}'
957           mvn-settings: '{mvn-settings}'
958           pom: '{docker-pom}'
959           properties: '{maven-properties}'
960           # use default as mvn-profile if profile is not needed
961           mvn-profile: '{mvn-profile}'
962     publishers:
963       - infra-shiplogs:
964           maven-version: '{maven-version}'
965
966 - job-template:
967     name: '{project-name}-{stream}-docker-java-shell-daily'
968     project-type: freestyle
969     node: 'ubuntu1604-docker-8c-8g'
970
971     properties:
972       - infra-properties:
973           build-days-to-keep: '{build-days-to-keep}'
974
975     parameters:
976       - infra-parameters:
977           project: '{project}'
978           branch: '{branch}'
979           refspec: 'refs/heads/{branch}'
980           artifacts: '{archive-artifacts}'
981       - maven-exec:
982           maven-version: '{maven-version}'
983
984     scm:
985       - gerrit-trigger-scm:
986           refspec: ''
987           choosing-strategy: 'default'
988           submodule-recursive: '{submodule-recursive}'
989
990     wrappers:
991       - infra-wrappers:
992           build-timeout: '{build-timeout}'
993
994     triggers:
995       # 12 AM UTC
996       - timed: 'H 12 * * *'
997       - gerrit-trigger-release-manually:
998           server: '{server-name}'
999           project: '{project}'
1000           branch: '{branch}'
1001
1002     builders:
1003
1004       - provide-maven-settings:
1005           global-settings-file: 'global-settings'
1006           settings-file: '{mvn-settings}'
1007
1008       - docker-login
1009
1010       - maven-target:
1011           maven-version: '{maven-version}'
1012           goals: '{mvn-goals}'
1013           settings: '{mvn-settings}'
1014           settings-type: cfp
1015           global-settings: 'global-settings'
1016           global-settings-type: cfp
1017
1018       - shell: '{script}'
1019
1020     publishers:
1021       - infra-shiplogs:
1022           maven-version: '{maven-version}'
1023
1024 - job-template:
1025     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1026     project-type: freestyle
1027     node: 'ubuntu1604-docker-8c-8g'
1028
1029     properties:
1030       - infra-properties:
1031           build-days-to-keep: '{build-days-to-keep}'
1032
1033     parameters:
1034       - infra-parameters:
1035           project: '{project}'
1036           branch: '{branch}'
1037           refspec: 'refs/heads/{branch}'
1038           artifacts: '{archive-artifacts}'
1039       - maven-exec:
1040           maven-version: '{maven-version}'
1041
1042     scm:
1043       - gerrit-trigger-scm:
1044           refspec: ''
1045           choosing-strategy: 'default'
1046           submodule-recursive: '{submodule-recursive}'
1047
1048     wrappers:
1049       - infra-wrappers:
1050           build-timeout: '{build-timeout}'
1051
1052     triggers:
1053       # 12 AM UTC
1054       - timed: 'H 12 * * *'
1055       - gerrit-trigger-release-manually:
1056           server: '{server-name}'
1057           project: '{project}'
1058           branch: '{branch}'
1059
1060     builders:
1061
1062       - provide-maven-settings:
1063           global-settings-file: 'global-settings'
1064           settings-file: '{mvn-settings}'
1065
1066       - inject:
1067           properties-file: version.properties
1068
1069       - maven-target:
1070           maven-version: '{maven-version}'
1071           goals: 'versions:set versions:update-child-modules versions:commit'
1072           properties:
1073             - 'newVersion=${{release_version}}'
1074           settings: '{mvn-settings}'
1075           settings-type: cfp
1076           global-settings: 'global-settings'
1077           global-settings-type: cfp
1078
1079       - docker-login
1080
1081       - maven-target:
1082           maven-version: '{maven-version}'
1083           goals: '{mvn-goals}'
1084           settings: '{mvn-settings}'
1085           settings-type: cfp
1086           global-settings: 'global-settings'
1087           global-settings-type: cfp
1088
1089       - shell: '{script}'
1090
1091     publishers:
1092       - infra-shiplogs:
1093           maven-version: '{maven-version}'
1094
1095 - job-template:
1096     name: '{project-name}-{stream}-docker-version-java-daily'
1097     project-type: freestyle
1098     node: 'ubuntu1604-docker-8c-8g'
1099
1100     properties:
1101       - infra-properties:
1102           build-days-to-keep: '{build-days-to-keep}'
1103
1104     parameters:
1105       - infra-parameters:
1106           project: '{project}'
1107           branch: '{branch}'
1108           refspec: 'refs/heads/{branch}'
1109           artifacts: '{archive-artifacts}'
1110       - maven-exec:
1111           maven-version: '{maven-version}'
1112
1113     scm:
1114       - gerrit-trigger-scm:
1115           refspec: ''
1116           choosing-strategy: 'default'
1117           submodule-recursive: '{submodule-recursive}'
1118
1119     wrappers:
1120       - infra-wrappers:
1121           build-timeout: '{build-timeout}'
1122
1123     triggers:
1124       # 12 AM UTC
1125       - timed: 'H 12 * * *'
1126       - gerrit-trigger-release-manually:
1127           server: '{server-name}'
1128           project: '{project}'
1129           branch: '{branch}'
1130
1131     builders:
1132
1133       - provide-maven-settings:
1134           global-settings-file: 'global-settings'
1135           settings-file: '{mvn-settings}'
1136
1137       - inject:
1138           properties-file: version.properties
1139
1140       - maven-target:
1141           maven-version: '{maven-version}'
1142           goals: 'versions:set versions:update-child-modules versions:commit'
1143           properties:
1144             - 'newVersion=${{release_version}}'
1145           settings: '{mvn-settings}'
1146           settings-type: cfp
1147           global-settings: 'global-settings'
1148           global-settings-type: cfp
1149
1150       - docker-login
1151
1152       - maven-docker-push-daily:
1153           maven-version: '{maven-version}'
1154           mvn-settings: '{mvn-settings}'
1155           pom: '{docker-pom}'
1156           # use default as mvn-profile if profile is not needed
1157           mvn-profile: '{mvn-profile}'
1158
1159     publishers:
1160       - infra-shiplogs:
1161           maven-version: '{maven-version}'
1162
1163 - job-template:
1164     name: '{project-name}-{stream}-aai-docker-java-daily'
1165     project-type: freestyle
1166     node: 'ubuntu1604-docker-8c-8g'
1167
1168     properties:
1169       - infra-properties:
1170           build-days-to-keep: '{build-days-to-keep}'
1171
1172     parameters:
1173       - infra-parameters:
1174           project: '{project}'
1175           branch: '{branch}'
1176           refspec: 'refs/heads/{branch}'
1177           artifacts: '{archive-artifacts}'
1178       - maven-exec:
1179           maven-version: '{maven-version}'
1180
1181     scm:
1182       - gerrit-trigger-scm:
1183           refspec: ''
1184           choosing-strategy: 'default'
1185           submodule-recursive: '{submodule-recursive}'
1186
1187     wrappers:
1188       - infra-wrappers:
1189           build-timeout: '{build-timeout}'
1190
1191     triggers:
1192       # 12 AM UTC
1193       - timed: 'H 12 * * *'
1194       - gerrit-trigger-release-manually:
1195           server: '{server-name}'
1196           project: '{project}'
1197           branch: '{branch}'
1198
1199     builders:
1200
1201       - provide-maven-settings:
1202           global-settings-file: 'global-settings'
1203           settings-file: '{mvn-settings}'
1204
1205       - docker-login
1206
1207       - maven-target:
1208           maven-version: '{maven-version}'
1209           pom: 'pom.xml'
1210           goals: 'clean install -DskipTests -B
1211             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1212           settings: '{mvn-settings}'
1213           settings-type: cfp
1214           global-settings: 'global-settings'
1215           global-settings-type: cfp
1216
1217       - maven-target:
1218           maven-version: '{maven-version}'
1219           pom: '{pom}'
1220           goals: '{mvn-goals}'
1221           settings: '{mvn-settings}'
1222           settings-type: cfp
1223           global-settings: 'global-settings'
1224           global-settings-type: cfp
1225           properties:
1226             - maven.test.skip=true
1227             - docker.pull.registry=nexus3.onap.org:10001
1228             - docker.push.registry=nexus3.onap.org:10003
1229
1230       - shell: !include-raw-escape: include-docker-push.sh
1231
1232     publishers:
1233       - infra-shiplogs:
1234           maven-version: '{maven-version}'
1235
1236 - job-template:
1237     # Job template for Java daily release jobs
1238     #
1239     # The purpose of this job template is to run
1240     #   - change version in all POM files to the release version specified
1241     #     in version.properties. This is done using a script instread of
1242     #     the mvn version plugin that assumes some specific parent structure.
1243     #   - runs maven clean deploy sonar
1244     #
1245     # The POM files are required to use the Maven staging plugin so the deploy
1246     # does not deploy directly to the release repo.
1247     #
1248     # Required Variables:
1249     #     branch:    git branch (eg. stable/lithium or master)
1250     name: '{project-name}-{stream}-release-version2-java-daily'
1251
1252     project-type: freestyle
1253     node: '{build-node}'
1254     maven-deploy-properties:
1255     properties:
1256       - infra-properties:
1257           build-days-to-keep: '{build-days-to-keep}'
1258
1259     parameters:
1260       - infra-parameters:
1261           project: '{project}'
1262           branch: '{branch}'
1263           refspec: 'refs/heads/{branch}'
1264           artifacts: '{archive-artifacts}'
1265       - maven-exec:
1266           maven-version: '{maven-version}'
1267
1268     scm:
1269       - gerrit-trigger-scm:
1270           refspec: ''
1271           choosing-strategy: 'default'
1272           submodule-recursive: '{submodule-recursive}'
1273
1274     wrappers:
1275       - infra-wrappers:
1276           build-timeout: '{build-timeout}'
1277
1278     triggers:
1279       # 11 AM UTC
1280       - timed: 'H 11 * * *'
1281       - gerrit-trigger-release-manually:
1282           server: '{server-name}'
1283           project: '{project}'
1284           branch: '{branch}'
1285
1286     builders:
1287       - provide-maven-settings:
1288           global-settings-file: 'global-settings'
1289           settings-file: '{mvn-settings}'
1290       - maven-install:
1291           maven-version: '{maven-version}'
1292
1293       - inject:
1294           properties-file: version.properties
1295
1296       - shell: !include-raw-escape: include-update-pom-versions.sh
1297
1298       - maven-target:
1299           maven-version: '{maven-version}'
1300           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1301             -Dsonar.host.url=${{SONAR}} -B
1302             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1303           properties:
1304             - '{maven-deploy-properties}'
1305           settings: '{mvn-settings}'
1306           settings-type: cfp
1307           global-settings: 'global-settings'
1308           global-settings-type: cfp
1309
1310     publishers:
1311       - infra-shiplogs:
1312           maven-version: '{maven-version}'
1313
1314 - job-template:
1315     # Job template for Java daily release jobs
1316     #
1317     # The purpose of this job template is to run
1318     #   - change version in all POM files to the release version specified
1319     #     in version.properties. This is done using a script instread of
1320     #     the mvn version plugin that assumes some specific parent structure.
1321     #   - runs maven clean deploy sonar
1322     #
1323     # The POM files are required to use the Maven staging plugin so the deploy
1324     # does not deploy directly to the release repo.
1325     #
1326     # Required Variables:
1327     #     branch:    git branch (eg. stable/lithium or master)
1328     #     pom:       name/location of the pom.xml file relative to the workspace
1329     #     pattern:   ant file-path pattern relative to the workspace used to
1330     #                trigger the job
1331
1332     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1333
1334     project-type: freestyle
1335     node: '{build-node}'
1336     maven-deploy-properties:
1337     properties:
1338       - infra-properties:
1339           build-days-to-keep: '{build-days-to-keep}'
1340
1341     parameters:
1342       - infra-parameters:
1343           project: '{project}'
1344           branch: '{branch}'
1345           refspec: 'refs/heads/{branch}'
1346           artifacts: '{archive-artifacts}'
1347       - maven-exec:
1348           maven-version: '{maven-version}'
1349
1350     scm:
1351       - gerrit-trigger-scm:
1352           refspec: ''
1353           choosing-strategy: 'default'
1354           submodule-recursive: '{submodule-recursive}'
1355
1356     wrappers:
1357       - infra-wrappers:
1358           build-timeout: '{build-timeout}'
1359
1360     triggers:
1361       # 11 AM UTC
1362       - timed: 'H 11 * * *'
1363       - gerrit-trigger-release-manually:
1364           server: '{server-name}'
1365           project: '{project}'
1366           branch: '{branch}'
1367           files: '{pattern}'
1368
1369     builders:
1370       - provide-maven-settings:
1371           global-settings-file: 'global-settings'
1372           settings-file: '{mvn-settings}'
1373       - maven-install:
1374           maven-version: '{maven-version}'
1375
1376       - inject:
1377           properties-file: version.properties
1378
1379       - shell: !include-raw-escape: include-update-pom-versions.sh
1380
1381       - maven-target:
1382           maven-version: '{maven-version}'
1383           pom: '{pom}'
1384           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1385             -Dsonar.host.url=${{SONAR}} -B
1386             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1387           properties:
1388             - '{maven-deploy-properties}'
1389           settings: '{mvn-settings}'
1390           settings-type: cfp
1391           global-settings: 'global-settings'
1392           global-settings-type: cfp
1393
1394     publishers:
1395       - infra-shiplogs:
1396           maven-version: '{maven-version}'
1397
1398 - job-template:
1399     # Template for maven site plugin invocation
1400     #
1401     # It's designed to be triggered when the trigger-job job
1402     # succeeds as there's no need for new documentaiton
1403     # if the build job fails.
1404     #
1405     # Those parameters should be set :
1406     # - site-pom : the pom file that contains the site confiration
1407     # - trigger-job : the name of the project that triggers this job
1408     #                     upon success. The job name can be
1409     #                     parameterized.
1410     name: '{project-name}-{stream}-stage-site-java'
1411     project-type: freestyle
1412     node: '{build-node}'
1413
1414     properties:
1415       - infra-properties:
1416           build-days-to-keep: '{build-days-to-keep}'
1417
1418     parameters:
1419       - infra-parameters:
1420           project: '{project}'
1421           branch: '{branch}'
1422           refspec: 'refs/heads/{branch}'
1423           artifacts: '{archive-artifacts}'
1424       - maven-exec:
1425           maven-version: '{maven-version}'
1426
1427     scm:
1428       - gerrit-trigger-scm:
1429           refspec: ''
1430           choosing-strategy: 'default'
1431           submodule-recursive: '{submodule-recursive}'
1432
1433     wrappers:
1434       - infra-wrappers:
1435           build-timeout: '{build-timeout}'
1436
1437     triggers:
1438       - trigger-on-build-success:
1439           job-name: '{trigger-job}'
1440
1441     builders:
1442       - provide-maven-settings:
1443           global-settings-file: 'global-settings'
1444           settings-file: '{mvn-settings}'
1445       - inject:
1446           properties-file: version.properties
1447       - maven-target:
1448           maven-version: '{maven-version}'
1449           goals: 'versions:set versions:update-child-modules versions:commit'
1450           properties:
1451             - 'newVersion=${{release_version}}'
1452           settings: '{mvn-settings}'
1453           settings-type: cfp
1454           global-settings: 'global-settings'
1455           global-settings-type: cfp
1456
1457       - maven-target:
1458           maven-version: '{maven-version}'
1459           pom: '{site-pom}'
1460           goals: 'clean site:site site:stage-deploy'
1461           settings: '{mvn-settings}'
1462           settings-type: cfp
1463           global-settings: 'global-settings'
1464           global-settings-type: cfp
1465
1466     publishers:
1467       - infra-shiplogs:
1468           maven-version: '{maven-version}'
1469
1470 - job-template:
1471     # Job template for Java merge jobs
1472     #
1473     # The purpose of this job template is to run "maven clean deploy" for
1474     # projects using this template.
1475     #
1476     # Required Variables:
1477     #     branch:    git branch (eg. stable/lithium or master)
1478     name: '{project-name}-{stream}-sdc-merge-java'
1479
1480     project-type: freestyle
1481     node: 'ubuntu1604-docker-8c-8g'
1482
1483     properties:
1484       - infra-properties:
1485           build-days-to-keep: '{build-days-to-keep}'
1486
1487     parameters:
1488       - infra-parameters:
1489           project: '{project}'
1490           branch: '{branch}'
1491           refspec: 'refs/heads/{branch}'
1492           artifacts: '{archive-artifacts}'
1493       - maven-exec:
1494           maven-version: '{maven-version}'
1495
1496     scm:
1497       - gerrit-trigger-scm:
1498           refspec: ''
1499           choosing-strategy: 'default'
1500           submodule-recursive: '{submodule-recursive}'
1501
1502     wrappers:
1503       - infra-wrappers:
1504           build-timeout: '{build-timeout}'
1505
1506     triggers:
1507       - gerrit-trigger-patch-merged:
1508           server: '{server-name}'
1509           project: '{project}'
1510           branch: '{branch}'
1511           files: '**'
1512
1513     builders:
1514       - provide-maven-settings:
1515           global-settings-file: 'global-settings'
1516           settings-file: '{mvn-settings}'
1517
1518       - docker-login
1519
1520       - maven-docker-push-daily:
1521           maven-version: '{maven-version}'
1522           mvn-settings: '{mvn-settings}'
1523           pom: '{docker-pom}'
1524           # use default as mvn-profile if profile is not needed
1525           mvn-profile: '{mvn-profile}'
1526
1527     publishers:
1528       - infra-shiplogs:
1529           maven-version: '{maven-version}'
1530
1531 - job-template:
1532     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1533     project-type: freestyle
1534     node: 'ubuntu1604-docker-8c-8g'
1535
1536     properties:
1537       - infra-properties:
1538           build-days-to-keep: '{build-days-to-keep}'
1539
1540     parameters:
1541       - infra-parameters:
1542           project: '{project}'
1543           branch: '{branch}'
1544           refspec: 'refs/heads/{branch}'
1545           artifacts: '{archive-artifacts}'
1546       - maven-exec:
1547           maven-version: '{maven-version}'
1548
1549     scm:
1550       - gerrit-trigger-scm:
1551           refspec: ''
1552           choosing-strategy: 'default'
1553           submodule-recursive: '{submodule-recursive}'
1554
1555     wrappers:
1556       - infra-wrappers:
1557           build-timeout: '{build-timeout}'
1558
1559     triggers:
1560       # 12 AM UTC
1561       - timed: 'H 12 * * *'
1562       - gerrit-trigger-release-manually:
1563           server: '{server-name}'
1564           project: '{project}'
1565           branch: '{branch}'
1566
1567     builders:
1568
1569       - provide-maven-settings:
1570           global-settings-file: 'global-settings'
1571           settings-file: '{mvn-settings}'
1572
1573       - docker-login
1574
1575       - maven-target:
1576           maven-version: '{maven-version}'
1577           pom: 'pom.xml'
1578           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1579           settings: '{mvn-settings}'
1580           settings-type: cfp
1581           global-settings: 'global-settings'
1582           global-settings-type: cfp
1583
1584       - maven-target:
1585           maven-version: '{maven-version}'
1586           pom: '{pom}'
1587           goals: '{mvn-goals}'
1588           settings: '{mvn-settings}'
1589           settings-type: cfp
1590           global-settings: 'global-settings'
1591           global-settings-type: cfp
1592           properties:
1593             - maven.test.skip=true
1594             - docker.pull.registry=nexus3.onap.org:10001
1595             - docker.push.registry=nexus3.onap.org:10003
1596
1597     publishers:
1598       - infra-shiplogs:
1599           maven-version: '{maven-version}'
1600