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}'
41 - provide-maven-settings:
42 global-settings-file: 'odl-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: 'odl-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 # Job template for ODL integration verify jobs
72 # This is similar to a normal verify job, but it runs
73 # when a project that's a dependency of your project
74 # is successfully built.
77 # stream: release stream (eg. boron or carbon)
78 # branch: git branch (eg. stable/boron or master)
80 project-type: freestyle
85 - opendaylight-infra-properties:
86 build-days-to-keep: '{build-days-to-keep}'
89 - opendaylight-infra-parameters:
90 os-cloud: '{os-cloud}'
93 refspec: 'refs/heads/{branch}'
94 artifacts: '{archive-artifacts}'
102 - opendaylight-infra-wrappers:
103 build-timeout: '{build-timeout}'
107 jobs: '{dependencies}'
111 - jacoco-nojava-workaround
112 - provide-maven-settings:
113 global-settings-file: 'odl-global-settings'
114 settings-file: '{mvn-settings}'
116 maven-version: 'mvn33'
119 {opendaylight-infra-mvn-opts}
122 settings: '{mvn-settings}'
124 global-settings: 'odl-global-settings'
125 global-settings-type: cfp
128 - email-notification:
129 email-recipients: '{email-recipients}'
130 email-prefix: '{email-upstream}'
136 name: '{project-name}-merge-{stream}'
138 # Job template for ODL merge jobs
140 # The purpose of this job template is to setup a ODL merge job
141 # and deploy artifacts to Nexus.
143 # Required Variables:
144 # stream: release stream (eg. boron or carbon)
145 # branch: git branch (eg. stable/boron or master)
147 # Need to keep jobs that deploy to Nexus at end of build as Maven
148 # projects. Maybe reconsider this once upstream moves deploy to a
149 # separate lifecycle:
150 # https://issues.apache.org/jira/browse/MNG-5666
156 - opendaylight-infra-properties:
157 build-days-to-keep: 14
160 - opendaylight-infra-parameters:
161 os-cloud: '{os-cloud}'
164 refspec: 'refs/heads/{branch}'
165 artifacts: '{archive-artifacts}'
168 - gerrit-trigger-scm:
170 choosing-strategy: 'default'
173 - opendaylight-infra-wrappers:
174 build-timeout: '{build-timeout}'
178 - gerrit-trigger-patch-merged:
179 server-name: '{server-name}'
184 - jacoco-nojava-workaround
185 - provide-maven-settings:
186 global-settings-file: 'odl-global-settings'
187 settings-file: '{mvn-settings}'
189 # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
196 {opendaylight-infra-mvn-opts}
197 maven-opts: '{mvn-opts}'
198 settings: '{mvn-settings}'
200 global-settings: 'odl-global-settings'
201 global-settings-type: cfp
202 post-step-run-condition: UNSTABLE
206 condition-kind: file-exists
207 condition-filename: deploy-site.xml
208 condition-basedir: workspace
210 # The strategy here is intentional to run Maven site:deploy twice
211 # once using regular pom.xml to produce a staged-site which is
212 # then used by deploy-site.xml to push to Nexus. This is a
213 # workaround to Maven Site's default linking code which creates
214 # incorrect URLs for sites due to auto-detection assuming your
215 # project is configured in a certain way which ODL is not.
218 maven-version: 'mvn33'
220 goals: 'site:deploy -V -B -Dstream={stream}'
223 settings: '{mvn-settings}'
225 global-settings: 'odl-global-settings'
226 global-settings-type: cfp
228 maven-version: 'mvn33'
230 goals: 'site:deploy -V -B -Dstream={stream}'
233 settings: '{mvn-settings}'
235 global-settings: 'odl-global-settings'
236 global-settings-type: cfp
242 - email-notification:
243 email-recipients: '{email-recipients}'
244 email-prefix: '[{project-name}]'
248 deploy-unstable: false
252 project: 'distribution-merge-{stream}'
256 name: '{project-name}-sonar'
259 project-type: freestyle
264 - opendaylight-infra-properties:
265 build-days-to-keep: 7
268 - opendaylight-infra-parameters:
269 os-cloud: '{os-cloud}'
272 refspec: 'refs/heads/{branch}'
273 artifacts: '{archive-artifacts}'
281 - opendaylight-infra-wrappers:
282 build-timeout: '{build-timeout}'
286 - gerrit-trigger-patch-sonar:
287 server-name: '{server-name}'
289 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
292 - jacoco-nojava-workaround
293 - provide-maven-settings:
294 global-settings-file: 'odl-global-settings'
295 settings-file: '{mvn-settings}'
297 maven-version: 'mvn33'
301 {opendaylight-infra-mvn-opts}
304 settings: '{mvn-settings}'
306 global-settings: 'odl-global-settings'
307 global-settings-type: cfp
309 maven-version: 'mvn33'
310 # We should switch to the recommended configuration of sonar once
311 # JJB adds support for configurating the Sonar wrapper:
312 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
316 -Dsonar.host.url=https://sonar.opendaylight.org
317 {opendaylight-infra-mvn-opts}
320 settings: '{mvn-settings}'
322 global-settings: 'odl-global-settings'
323 global-settings-type: cfp
326 - email-notification:
327 email-recipients: '{email-recipients}'
328 email-prefix: '[{project-name}]'
334 name: '{project-name}-validate-autorelease-{stream}'
337 project-type: freestyle
343 - opendaylight-infra-properties:
344 build-days-to-keep: 7
347 - opendaylight-infra-parameters:
348 os-cloud: '{os-cloud}'
351 refspec: 'refs/heads/{branch}'
352 artifacts: '{archive-artifacts}'
353 - autorelease-release-tag:
354 release-tag: 'validate'
355 - autorelease-release-branch:
356 release-branch: '{branch}'
359 default: '{git-url}/releng/autorelease'
360 description: "Autorelease clone URL"
365 credentials-id: 'opendaylight-jenkins-ssh'
375 - opendaylight-infra-wrappers:
376 build-timeout: '{build-timeout}'
379 - gerrit-trigger-patch-submitted:
380 server: '{server-name}'
386 - jacoco-nojava-workaround
387 - autorelease-checkout-gerrit-patch
388 - autorelease-generate-release-patches
389 # In a perfect world projects should be releasing separately and we consume them
390 # via a project that pulls the release bits from each project from Nexus.
391 # Keep the patches compatible with that ideal, but apply an edit
392 # to enable building in a single maven reactor afterwards.
393 - autorelease-fix-relative-paths
395 maven-version: 'mvn33'
396 pom: validate-pom.xml
398 clean install dependency:tree
401 {opendaylight-infra-mvn-opts}
404 settings: 'autorelease-settings'
406 global-settings: 'odl-global-settings'
407 global-settings-type: cfp
409 maven-version: 'mvn33'
414 {opendaylight-infra-mvn-opts}
416 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
417 settings: 'autorelease-settings'
419 global-settings: 'odl-global-settings'
420 global-settings-type: cfp
423 - email-notification:
424 email-recipients: '{email-recipients}'
425 email-prefix: '[autorelease] [{project-name}]'
429 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
431 # Job template for ODL verify jobs
433 # The purpose of this job template is to setup a ODL verify job
435 # Required Variables:
436 # stream: release stream (eg. boron or carbon)
437 # branch: git branch (eg. stable/boron or master)
439 project-type: freestyle
445 - opendaylight-infra-properties:
446 build-days-to-keep: 7
449 - opendaylight-infra-parameters:
450 os-cloud: '{os-cloud}'
453 refspec: 'refs/heads/{branch}'
454 artifacts: '{archive-artifacts}'
457 - gerrit-trigger-scm:
458 refspec: '$GERRIT_REFSPEC'
459 choosing-strategy: 'gerrit'
462 - opendaylight-infra-wrappers:
463 build-timeout: '{build-timeout}'
466 - gerrit-trigger-patch-submitted:
467 server: '{server-name}'
473 - jacoco-nojava-workaround
474 - provide-maven-settings:
475 global-settings-file: 'odl-global-settings'
476 settings-file: '{mvn-settings}'
478 maven-version: '{mvn-version}'
482 {opendaylight-infra-mvn-opts}
485 settings: '{mvn-settings}'
487 global-settings: 'odl-global-settings'
488 global-settings-type: cfp
492 - email-notification:
493 email-recipients: '{email-recipients}'
494 email-prefix: '[{project-name}]'