3 # Template used for running CLM scans
5 # {name} - Project Shortname
6 # {project} - Fully qualified project name
7 # {mvn-settings} - Project maven settings file
10 name: '{project-name}-clm-{stream}'
12 project-type: freestyle
17 - opendaylight-infra-properties:
18 build-days-to-keep: '{build-days-to-keep}'
21 - opendaylight-infra-parameters:
22 os-cloud: '{os-cloud}'
25 refspec: 'refs/heads/{branch}'
26 artifacts: '{archive-artifacts}'
34 - opendaylight-infra-wrappers:
35 build-timeout: '{build-timeout}'
38 - timed: '{schedule-saturday}'
41 - provide-maven-settings:
42 global-settings-file: 'global-settings'
43 settings-file: '{mvn-settings}'
45 maven-version: 'mvn33'
48 clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
50 {opendaylight-infra-mvn-opts}
52 - '-Xmx4096m -XX:MaxPermSize=512m'
53 settings: '{mvn-settings}'
55 global-settings: 'global-settings'
56 global-settings-type: cfp
57 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
59 application-name: '{project-name}'
63 email-recipients: '{email-recipients}'
64 email-prefix: '[{project-name}]'
68 name: '{project-name}-integration-{stream}'
70 project-type: freestyle
75 - opendaylight-infra-properties:
76 build-days-to-keep: '{build-days-to-keep}'
79 - opendaylight-infra-parameters:
80 os-cloud: '{os-cloud}'
83 refspec: 'refs/heads/{branch}'
84 artifacts: '{archive-artifacts}'
92 - opendaylight-infra-wrappers:
93 build-timeout: '{build-timeout}'
97 jobs: '{dependencies}'
101 - jacoco-nojava-workaround
102 - provide-maven-settings:
103 global-settings-file: 'global-settings'
104 settings-file: '{mvn-settings}'
106 maven-version: 'mvn33'
109 {opendaylight-infra-mvn-opts}
112 settings: '{mvn-settings}'
114 global-settings: 'global-settings'
115 global-settings-type: cfp
118 - email-notification:
119 email-recipients: '{email-recipients}'
120 email-prefix: '{email-upstream}'
126 name: '{project-name}-merge-{stream}'
128 # Need to keep jobs that deploy to Nexus at end of build as Maven
129 # projects. Maybe reconsider this once upstream moves deploy to a
130 # separate lifecycle:
131 # https://issues.apache.org/jira/browse/MNG-5666
137 - opendaylight-infra-properties:
138 build-days-to-keep: 14
141 - opendaylight-infra-parameters:
142 os-cloud: '{os-cloud}'
145 refspec: 'refs/heads/{branch}'
146 artifacts: '{archive-artifacts}'
150 description: "String representing release name"
153 - gerrit-trigger-scm:
155 choosing-strategy: 'default'
158 - opendaylight-infra-wrappers:
159 build-timeout: '{build-timeout}'
163 - gerrit-trigger-patch-merged:
164 server-name: '{server-name}'
169 - jacoco-nojava-workaround
170 - provide-maven-settings:
171 global-settings-file: 'global-settings'
172 settings-file: '{mvn-settings}'
174 # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
181 {opendaylight-infra-mvn-opts}
182 maven-opts: '{mvn-opts}'
183 settings: '{mvn-settings}'
185 global-settings: 'global-settings'
186 global-settings-type: cfp
187 post-step-run-condition: UNSTABLE
191 condition-kind: file-exists
192 condition-filename: deploy-site.xml
193 condition-basedir: workspace
195 # The strategy here is intentional to run Maven site:deploy twice
196 # once using regular pom.xml to produce a staged-site which is
197 # then used by deploy-site.xml to push to Nexus. This is a
198 # workaround to Maven Site's default linking code which creates
199 # incorrect URLs for sites due to auto-detection assuming your
200 # project is configured in a certain way which ODL is not.
203 maven-version: 'mvn33'
205 goals: 'site:deploy -V -B -Dstream={stream}'
208 settings: '{mvn-settings}'
210 global-settings: 'global-settings'
211 global-settings-type: cfp
212 - opendaylight-infra-deploy-maven-site:
213 settings-file: '{mvn-settings}'
219 - email-notification:
220 email-recipients: '{email-recipients}'
221 email-prefix: '[{project-name}]'
225 deploy-unstable: false
229 project: 'distribution-merge-{stream}'
233 name: '{project-name}-sonar'
236 project-type: freestyle
241 - opendaylight-infra-properties:
242 build-days-to-keep: 7
245 - opendaylight-infra-parameters:
246 os-cloud: '{os-cloud}'
249 refspec: 'refs/heads/{branch}'
250 artifacts: '{archive-artifacts}'
258 - opendaylight-infra-wrappers:
259 build-timeout: '{build-timeout}'
262 - timed: '{schedule-saturday}'
263 - gerrit-trigger-patch-sonar:
264 server-name: '{server-name}'
266 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
269 - jacoco-nojava-workaround
270 - provide-maven-settings:
271 global-settings-file: 'global-settings'
272 settings-file: '{mvn-settings}'
274 maven-version: 'mvn33'
278 {opendaylight-infra-mvn-opts}
281 settings: '{mvn-settings}'
283 global-settings: 'global-settings'
284 global-settings-type: cfp
286 maven-version: 'mvn33'
287 # We should switch to the recommended configuration of sonar once
288 # JJB adds support for configurating the Sonar wrapper:
289 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
293 -Dsonar.host.url=https://sonar.opendaylight.org
294 {opendaylight-infra-mvn-opts}
297 settings: '{mvn-settings}'
299 global-settings: 'global-settings'
300 global-settings-type: cfp
303 - email-notification:
304 email-recipients: '{email-recipients}'
305 email-prefix: '[{project-name}]'
311 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
313 project-type: freestyle
319 - opendaylight-infra-properties:
320 build-days-to-keep: 7
323 - opendaylight-infra-parameters:
324 os-cloud: '{os-cloud}'
327 refspec: 'refs/heads/{branch}'
328 artifacts: '{archive-artifacts}'
331 - gerrit-trigger-scm:
332 refspec: '$GERRIT_REFSPEC'
333 choosing-strategy: 'gerrit'
336 - opendaylight-infra-wrappers:
337 build-timeout: '{build-timeout}'
340 - gerrit-trigger-patch-submitted:
341 server: '{server-name}'
347 - jacoco-nojava-workaround
348 - provide-maven-settings:
349 global-settings-file: 'global-settings'
350 settings-file: '{mvn-settings}'
352 maven-version: '{mvn-version}'
356 {opendaylight-infra-mvn-opts}
359 settings: '{mvn-settings}'
361 global-settings: 'global-settings'
362 global-settings-type: cfp
366 - email-notification:
367 email-recipients: '{email-recipients}'
368 email-prefix: '[{project-name}]'