Fix: JaCoCo exclude patterns format
[releng/builder.git] / jjb / releng-templates-java.yaml
1 ---
2 - job-group:
3     name: odl-maven-jobs-jdk11
4
5     jobs:
6       - gerrit-maven-clm:
7           nexus-iq-namespace: odl-
8           nexus-iq-stage: release
9
10       - gerrit-maven-merge:
11           build-timeout: 180
12
13       - gerrit-maven-stage:
14           sign-artifacts: true
15           sbom-generator: true
16           cron: ""
17
18       - gerrit-maven-mri-stage:
19           sbom-generator: true
20           sign-artifacts: true
21           cron: ""
22
23     java-version: openjdk11
24     mvn-version: mvn38
25
26 - job-group:
27     name: odl-maven-jobs-jdk17
28
29     jobs:
30       - gerrit-maven-clm:
31           nexus-iq-namespace: odl-
32           nexus-iq-stage: release
33           mvn-opts: "--add-opens java.base/java.util=ALL-UNNAMED"
34
35       - gerrit-maven-merge:
36           build-timeout: 180
37
38       - gerrit-maven-stage:
39           sbom-generator: true
40           sign-artifacts: true
41           cron: ""
42
43       - gerrit-maven-mri-stage:
44           sbom-generator: true
45           sign-artifacts: true
46           cron: ""
47
48     java-version: openjdk17
49     mvn-version: mvn38
50
51 - job-group:
52     name: odl-maven-verify-jobs
53
54     jobs:
55       - gerrit-maven-verify
56       - gerrit-maven-verify-dependencies:
57           build-timeout: 180
58
59     mvn-version: mvn38
60
61 - job-group:
62     name: odl-maven-verify-jobs-jdk17
63
64     jobs:
65       - gerrit-maven-verify
66       - gerrit-maven-verify-dependencies:
67           build-timeout: 180
68
69     java-version: openjdk17
70     mvn-version: mvn38
71
72 - job-group:
73     name: odl-sonar-jobs-jdk17
74
75     jobs:
76       - gerrit-maven-sonar
77
78     java-version: openjdk17
79     mvn-version: mvn38
80     sonarcloud: true
81     sonarcloud-java-version: openjdk17
82     sonarcloud-project-organization: "{sonarcloud_project_organization}"
83     sonarcloud-api-token: "{sonarcloud_api_token}"
84     sonarcloud-project-key: "{sonarcloud_project_organization}_{project-name}"
85
86 - job-template:
87     name: "{project-name}-integration-{stream}"
88
89     ######################
90     # Default parameters #
91     ######################
92
93     archive-artifacts: >
94       **/*.log
95       **/hs_err_*.log
96       **/target/**/feature.xml
97       **/target/failsafe-reports/failsafe-summary.xml
98       **/target/surefire-reports/*-output.txt
99     mvn-goals: clean install
100     disable-job: false
101     jacoco-exclude-pattern: >-
102       **/gen/**,
103       **/generated-sources/**,
104       **/yang-gen**,
105       **/pax/**
106
107     #####################
108     # Job Configuration #
109     #####################
110
111     project-type: freestyle
112     node: "{build-node}"
113     jdk: "{java-version}"
114     disabled: "{disable-job}"
115
116     properties:
117       - opendaylight-infra-properties:
118           build-days-to-keep: "{build-days-to-keep}"
119
120     parameters:
121       - opendaylight-infra-parameters:
122           os-cloud: "{os-cloud}"
123           project: "{project}"
124           branch: "{branch}"
125           refspec: "refs/heads/{branch}"
126           artifacts: "{archive-artifacts}"
127
128     scm:
129       - git-scm:
130           refspec: ""
131           branch: "{branch}"
132
133     wrappers:
134       - opendaylight-infra-wrappers:
135           build-timeout: "{build-timeout}"
136
137     triggers:
138       - reverse:
139           jobs: "{dependencies}"
140           result: "success"
141
142     builders:
143       - lf-jacoco-nojava-workaround
144       - lf-provide-maven-settings:
145           global-settings-file: "global-settings"
146           settings-file: "{mvn-settings}"
147       - maven-target:
148           maven-version: "mvn35"
149           goals: |
150             {mvn-goals}
151             {opendaylight-infra-mvn-opts}
152           java-opts:
153             - "{mvn-opts}"
154           settings: "{mvn-settings}"
155           settings-type: cfp
156           global-settings: "global-settings"
157           global-settings-type: cfp
158
159     publishers:
160       - email-notification:
161           email-recipients: "{email-recipients}"
162           email-prefix: "{email-upstream}"
163       - findbugs
164       - lf-jacoco-report:
165           exclude-pattern: "{jacoco-exclude-pattern}"
166       - lf-infra-publish
167
168 - job-template:
169     name: "{project-name}-merge-{stream}"
170
171     ######################
172     # Default parameters #
173     ######################
174     disable-job: "false"
175     jacoco-exclude-pattern: >-
176       **/gen/**,
177       **/generated-sources/**,
178       **/yang-gen**,
179       **/pax/**
180
181     archive-artifacts: >
182       **/*.log
183       **/hs_err_*.log
184       **/target/**/feature.xml
185       **/target/failsafe-reports/failsafe-summary.xml
186       **/target/surefire-reports/*-output.txt
187     cron: "0 0 * * tue,sat"
188     mvn-opts: ""
189     mvn-version: mvn35
190
191     #####################
192     # Job Configuration #
193     #####################
194
195     # Need to keep jobs that deploy to Nexus at end of build as Maven
196     # projects. Maybe reconsider this once upstream moves deploy to a
197     # separate lifecycle:
198     #     https://issues.apache.org/jira/browse/MNG-5666
199     project-type: maven
200     node: "{build-node}"
201     jdk: "{java-version}"
202     disabled: "{disable-job}"
203
204     properties:
205       - opendaylight-infra-properties:
206           build-days-to-keep: 14
207
208     parameters:
209       - opendaylight-infra-parameters:
210           os-cloud: "{os-cloud}"
211           project: "{project}"
212           branch: "{branch}"
213           refspec: "refs/heads/{branch}"
214           artifacts: "{archive-artifacts}"
215       - string:
216           name: STREAM
217           default: "{stream}"
218           description: "String representing release name"
219
220     scm:
221       - gerrit-trigger-scm:
222           refspec: ""
223           choosing-strategy: "default"
224
225     wrappers:
226       - opendaylight-infra-wrappers:
227           build-timeout: "{build-timeout}"
228
229     triggers:
230       - timed: "{obj:cron}"
231       - gerrit-trigger-patch-merged:
232           gerrit-server-name: "{gerrit-server-name}"
233           name: "{project}"
234           branch: "{branch}"
235           files: "**"
236           forbidden-files: ""
237
238     prebuilders:
239       - lf-jacoco-nojava-workaround
240       - lf-provide-maven-settings:
241           global-settings-file: "global-settings"
242           settings-file: "{mvn-settings}"
243       - lf-maven-install:
244           mvn-version: "{mvn-version}"
245
246     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
247     maven:
248       maven-name: "{mvn-version}"
249       goals: >
250         {mvn-goals}
251         -Dmerge
252         -Dstream={stream}
253         {opendaylight-infra-mvn-opts}
254       maven-opts: "{mvn-opts}"
255       settings: "{mvn-settings}"
256       settings-type: cfp
257       global-settings: "global-settings"
258       global-settings-type: cfp
259       post-step-run-condition: UNSTABLE
260
261     reporters:
262       - findbugs
263
264     publishers:
265       - email-notification:
266           email-recipients: "{email-recipients}"
267           email-prefix: "[{project-name}]"
268       - maven-deploy:
269           id: ""
270           unique-version: true
271           deploy-unstable: false
272       - lf-jacoco-report:
273           exclude-pattern: "{jacoco-exclude-pattern}"
274       - lf-infra-publish