1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
5 This program and the accompanying materials are made available under the
6 terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 and is available at http://www.eclipse.org/legal/epl-v10.html
9 <project xmlns="http://maven.apache.org/POM/4.0.0"
10 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12 <modelVersion>4.0.0</modelVersion>
15 <groupId>org.opendaylight.odlparent</groupId>
16 <artifactId>odlparent</artifactId>
17 <version>1.6.0-SNAPSHOT</version>
21 <groupId>org.opendaylight.ovsdb</groupId>
22 <artifactId>commons</artifactId>
23 <name>${project.artifactId}.parent</name>
24 <version>1.4.0-SNAPSHOT</version>
25 <packaging>pom</packaging>
26 <description>The OVSDB Plugin integration project is a project for OpenDaylight that will implement the Open vSwitch Database RFC 7047 management protocol allowing the Southbound configuration of vSwitches and a network virtualization implementation.</description>
27 <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
30 <name>Eclipse Public License v1.0</name>
31 <url>http://www.eclipse.org/legal/epl-v10.html</url>
36 <name>Sam Hague</name>
37 <email>shague@gmail.com</email>
38 <url>https://github.com/shague</url>
42 <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
43 <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
45 <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
53 <lifecycle.mapping.version>1.0.0</lifecycle.mapping.version>
54 <!-- Surefire/Failsafe Arguments -->
55 <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
56 <!-- OVSDB Component Versions -->
57 <openstack.netvirt.version>1.2.1-SNAPSHOT</openstack.netvirt.version>
58 <openstack.netvirt.providers.version>1.2.1-SNAPSHOT</openstack.netvirt.providers.version>
59 <ovsdb.features.version>1.2.1-SNAPSHOT</ovsdb.features.version>
60 <ovsdb.library.version>1.2.1-SNAPSHOT</ovsdb.library.version>
61 <ovsdb.northbound.version>0.8.0-SNAPSHOT</ovsdb.northbound.version>
62 <ovsdb.plugin.version>1.2.1-SNAPSHOT</ovsdb.plugin.version>
63 <ovsdb.plugin.compatibility.layer.version>1.2.1-SNAPSHOT</ovsdb.plugin.compatibility.layer.version>
64 <ovsdb.ovssfc.version>0.2.0-SNAPSHOT</ovsdb.ovssfc.version>
65 <ovsdb.utils.config.version>1.2.1-SNAPSHOT</ovsdb.utils.config.version>
66 <ovsdb.utils.mdsal.node.version>1.2.1-SNAPSHOT</ovsdb.utils.mdsal.node.version>
67 <ovsdb.utils.mdsal.openflow.version>1.2.1-SNAPSHOT</ovsdb.utils.mdsal.openflow.version>
68 <ovsdb.utils.servicehelper.version>1.2.1-SNAPSHOT</ovsdb.utils.servicehelper.version>
69 <plugin.shell.version>1.2.1-SNAPSHOT</plugin.shell.version>
70 <schema.hardwarevtep.version>1.2.1-SNAPSHOT</schema.hardwarevtep.version>
71 <schema.openvswitch.version>1.2.1-SNAPSHOT</schema.openvswitch.version>
72 <!-- Skip Coverage and IT by default -->
73 <skip.coverage>true</skip.coverage>
74 <skip.distribution>false</skip.distribution>
75 <skip.integrationtest>true</skip.integrationtest>
76 <skip.karaf.featureTest>false</skip.karaf.featureTest>
77 <!-- The directory where maven was executed TODO see if this can be removed -->
78 <root.directory>${env.PWD}</root.directory>
79 <!-- IT report is aggregated to enable PAX Exam coverage to be logged -->
80 <sonar.jacoco.itReportPath>${root.directory}/target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
81 <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
82 <!-- ODL Dependency Versions -->
83 <clustering.services.version>0.7.0-SNAPSHOT</clustering.services.version>
84 <containermanager.version>0.7.0-SNAPSHOT</containermanager.version>
85 <controller.config.version>0.4.0-SNAPSHOT</controller.config.version>
86 <forwardingrulesmanager.version>0.8.0-SNAPSHOT</forwardingrulesmanager.version>
87 <mdsal.version>1.3.0-SNAPSHOT</mdsal.version>
88 <networkconfig.neutron.version>0.6.0-SNAPSHOT</networkconfig.neutron.version>
89 <northbound.commons.version>0.6.0-SNAPSHOT</northbound.commons.version>
90 <nsf.version>0.6.0-SNAPSHOT</nsf.version>
91 <odl.karaf.base.version>1.6.0-SNAPSHOT</odl.karaf.base.version>
92 <odlparent.version>1.6.0-SNAPSHOT</odlparent.version>
93 <openflowjava-nicira.version>0.2.0-SNAPSHOT</openflowjava-nicira.version>
94 <openflowjava-extension.version>0.2.0-SNAPSHOT</openflowjava-extension.version>
95 <openflowjava.version>0.7.0-SNAPSHOT</openflowjava.version>
96 <openflowplugin.version>0.2.0-SNAPSHOT</openflowplugin.version>
97 <sal.version>0.10.0-SNAPSHOT</sal.version>
98 <switchmanager.api.version>0.9.0-SNAPSHOT</switchmanager.api.version>
99 <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
100 <!-- 3rd Pary Dependency Versions -->
101 <commons.collection.version>1.0</commons.collection.version>
102 <httpcomponents.version>4.2.1</httpcomponents.version>
103 <portlet.version>2.0</portlet.version>
104 <powermock.version>1.5.2</powermock.version>
105 <ovsdb.ui.version>0.1.0-SNAPSHOT</ovsdb.ui.version>
106 <dlux.loader.version>0.3.0-SNAPSHOT</dlux.loader.version>
107 <dlux.core.version>0.3.0-SNAPSHOT</dlux.core.version>
110 <dependencyManagement>
113 <groupId>commons-collections</groupId>
114 <artifactId>commons-collections</artifactId>
115 <version>${commons.collection.version}</version>
118 <groupId>io.netty</groupId>
119 <artifactId>netty-all</artifactId>
120 <version>${netty.version}</version>
123 <groupId>javax.portlet</groupId>
124 <artifactId>portlet-api</artifactId>
125 <version>${portlet.version}</version>
128 <groupId>org.apache.httpcomponents</groupId>
129 <artifactId>httpcore-nio</artifactId>
130 <version>${httpcomponents.version}</version>
133 <groupId>org.opendaylight.controller</groupId>
134 <artifactId>commons.northbound</artifactId>
135 <version>${northbound.commons.version}</version>
138 <groupId>org.opendaylight.controller</groupId>
139 <artifactId>config-api</artifactId>
140 <version>${controller.config.version}</version>
143 <groupId>org.opendaylight.controller</groupId>
144 <artifactId>clustering.services</artifactId>
145 <version>${clustering.services.version}</version>
148 <groupId>org.opendaylight.controller</groupId>
149 <artifactId>containermanager</artifactId>
150 <version>${containermanager.version}</version>
153 <groupId>org.opendaylight.controller</groupId>
154 <artifactId>forwardingrulesmanager</artifactId>
155 <version>${forwardingrulesmanager.version}</version>
158 <groupId>org.opendaylight.neutron</groupId>
159 <artifactId>neutron-spi</artifactId>
160 <version>${networkconfig.neutron.version}</version>
163 <groupId>org.opendaylight.controller</groupId>
164 <artifactId>opendaylight-karaf-empty</artifactId>
165 <version>1.6.0-SNAPSHOT</version>
169 <groupId>org.opendaylight.controller</groupId>
170 <artifactId>sal</artifactId>
171 <version>${sal.version}</version>
175 <groupId>org.opendaylight.yangtools</groupId>
176 <artifactId>yangtools-artifacts</artifactId>
177 <version>${yangtools.version}</version>
179 <scope>import</scope>
182 <groupId>org.opendaylight.controller</groupId>
183 <artifactId>config-artifacts</artifactId>
184 <version>${controller.config.version}</version>
186 <scope>import</scope>
189 <groupId>org.opendaylight.controller</groupId>
190 <artifactId>mdsal-artifacts</artifactId>
191 <version>${mdsal.version}</version>
192 <scope>import</scope>
196 <groupId>org.opendaylight.openflowjava</groupId>
197 <artifactId>openflowjava-artifacts</artifactId>
198 <version>${openflowjava.version}</version>
200 <scope>import</scope>
204 <groupId>org.opendaylight.controller</groupId>
205 <artifactId>switchmanager</artifactId>
206 <version>${switchmanager.api.version}</version>
209 <groupId>org.opendaylight.openflowplugin.model</groupId>
210 <artifactId>model-flow-base</artifactId>
211 <version>${openflowplugin.version}</version>
214 <groupId>org.opendaylight.openflowplugin.model</groupId>
215 <artifactId>model-flow-service</artifactId>
216 <version>${openflowplugin.version}</version>
219 <groupId>org.opendaylight.openflowplugin.model</groupId>
220 <artifactId>model-flow-statistics</artifactId>
221 <version>${openflowplugin.version}</version>
224 <groupId>org.opendaylight.odlparent</groupId>
225 <artifactId>features-test</artifactId>
226 <version>${odlparent.version}</version>
230 <groupId>org.opendaylight.openflowplugin</groupId>
231 <artifactId>openflowplugin</artifactId>
232 <version>${openflowplugin.version}</version>
235 <groupId>org.opendaylight.openflowplugin</groupId>
236 <artifactId>openflowjava-extension-nicira</artifactId>
237 <version>${openflowjava-nicira.version}</version>
240 <groupId>org.opendaylight.openflowplugin</groupId>
241 <artifactId>openflowjava-extension-nicira-api</artifactId>
242 <version>${openflowjava-nicira.version}</version>
245 <groupId>org.opendaylight.openflowplugin</groupId>
246 <artifactId>openflowplugin-extension-api</artifactId>
247 <version>${openflowplugin.version}</version>
250 <groupId>org.opendaylight.openflowplugin</groupId>
251 <artifactId>openflowplugin-extension-nicira</artifactId>
252 <version>${openflowplugin.version}</version>
255 <groupId>org.opendaylight.openflowplugin</groupId>
256 <artifactId>openflowplugin-extension-nicira-config</artifactId>
257 <version>${openflowplugin.version}</version>
260 <groupId>org.opendaylight.ovsdb</groupId>
261 <artifactId>features-ovsdb</artifactId>
262 <version>${ovsdb.features.version}</version>
265 <groupId>org.opendaylight.ovsdb</groupId>
266 <artifactId>library</artifactId>
267 <version>${ovsdb.library.version}</version>
270 <groupId>org.opendaylight.ovsdb</groupId>
271 <artifactId>northbound</artifactId>
272 <version>${ovsdb.northbound.version}</version>
275 <groupId>org.opendaylight.ovsdb</groupId>
276 <artifactId>openstack.net-virt</artifactId>
277 <version>${openstack.netvirt.version}</version>
280 <groupId>org.opendaylight.ovsdb</groupId>
281 <artifactId>openstack.net-virt-providers</artifactId>
282 <version>${openstack.netvirt.providers.version}</version>
285 <groupId>org.opendaylight.ovsdb</groupId>
286 <artifactId>ovsdb-plugin-compatibility-layer</artifactId>
287 <version>${ovsdb.plugin.compatibility.layer.version}</version>
290 <groupId>org.opendaylight.ovsdb</groupId>
291 <artifactId>plugin</artifactId>
292 <version>${ovsdb.plugin.version}</version>
295 <groupId>org.opendaylight.ovsdb</groupId>
296 <artifactId>plugin-mdsal-adapter</artifactId>
297 <version>${ovsdb.plugin.adapter.version}</version>
300 <groupId>org.opendaylight.ovsdb</groupId>
301 <artifactId>plugin-shell</artifactId>
302 <version>${plugin.shell.version}</version>
305 <groupId>org.opendaylight.ovsdb</groupId>
306 <artifactId>schema.hardwarevtep</artifactId>
307 <version>${schema.hardwarevtep.version}</version>
310 <groupId>org.opendaylight.ovsdb</groupId>
311 <artifactId>schema.openvswitch</artifactId>
312 <version>${schema.openvswitch.version}</version>
315 <groupId>org.opendaylight.ovsdb</groupId>
316 <artifactId>utils.config</artifactId>
317 <version>${ovsdb.utils.config.version}</version>
320 <groupId>org.opendaylight.ovsdb</groupId>
321 <artifactId>utils.mdsal-node</artifactId>
322 <version>${ovsdb.utils.mdsal.node.version}</version>
325 <groupId>org.opendaylight.ovsdb</groupId>
326 <artifactId>utils.mdsal-openflow</artifactId>
327 <version>${ovsdb.utils.mdsal.openflow.version}</version>
330 <groupId>org.opendaylight.ovsdb</groupId>
331 <artifactId>utils.servicehelper</artifactId>
332 <version>${ovsdb.utils.servicehelper.version}</version>
335 <groupId>org.powermock</groupId>
336 <artifactId>powermock-module-junit4</artifactId>
337 <version>${powermock.version}</version>
340 <groupId>org.powermock</groupId>
341 <artifactId>powermock-api-mockito</artifactId>
342 <version>${powermock.version}</version>
345 <groupId>org.powermock</groupId>
346 <artifactId>powermock-core</artifactId>
347 <version>${powermock.version}</version>
350 <groupId>org.opendaylight.ovsdb</groupId>
351 <artifactId>ovsdb-ui</artifactId>
352 <version>${ovsdb.ui.version}</version>
355 </dependencyManagement>
361 <groupId>org.apache.maven.plugins</groupId>
362 <artifactId>maven-compiler-plugin</artifactId>
364 <source>${java.version.source}</source>
365 <target>${java.version.target}</target>
366 <testSource>${java.version.source}</testSource>
367 <testTarget>${java.version.target}</testTarget>
370 <!-- This configuration should move to ODL-Parent -->
372 <groupId>org.eclipse.m2e</groupId>
373 <artifactId>lifecycle-mapping</artifactId>
374 <version>${lifecycle.mapping.version}</version>
376 <lifecycleMappingMetadata>
379 <pluginExecutionFilter>
380 <groupId>org.codehaus.mojo</groupId>
381 <artifactId>properties-maven-plugin</artifactId>
382 <versionRange>[0.0,)</versionRange>
384 <goal>set-system-properties</goal>
386 </pluginExecutionFilter>
392 <pluginExecutionFilter>
393 <groupId>org.jacoco</groupId>
394 <artifactId>jacoco-maven-plugin</artifactId>
395 <versionRange>[0.0,)</versionRange>
397 <goal>prepare-agent</goal>
398 <goal>pre-test</goal>
399 <goal>post-test</goal>
401 </pluginExecutionFilter>
407 <pluginExecutionFilter>
408 <groupId>org.opendaylight.yangtools</groupId>
409 <artifactId>yang-maven-plugin</artifactId>
410 <versionRange>[0.5,)</versionRange>
412 <goal>generate-sources</goal>
414 </pluginExecutionFilter>
420 </lifecycleMappingMetadata>
424 <groupId>org.apache.maven.plugins</groupId>
425 <artifactId>maven-checkstyle-plugin</artifactId>
428 <groupId>com.puppycrawl.tools</groupId>
429 <artifactId>checkstyle</artifactId>
430 <version>6.4.1</version>
434 <configLocation>src/main/resources/ovsdb_checks.xml</configLocation>
435 <failsOnError>true</failsOnError>
436 <includes>**/*.java,**/*.xml,**/*.ini,**/*.sh,**/*.bat</includes>
437 <excludes>**/yang/,**/features/,**/integrationtest/,**/northbound/,
438 **/openstack/,**/ovs-sfc/,
439 **/ovsdb-plugin-compatibility-layer/,
440 **/plugin/,**/plugin-shell/,
441 **/schema/hardwarevtep/,**/schema/openvswitch/,
442 **/southbound/,**/utils/
447 <groupId>org.jacoco</groupId>
448 <artifactId>jacoco-maven-plugin</artifactId>
450 <skip>${skip.coverage}</skip>
454 <id>pre-unit-test</id>
456 <goal>prepare-agent</goal>
459 <destFile>${sonar.jacoco.reportPath}</destFile>
463 <id>pre-integration-test</id>
465 <goal>prepare-agent-integration</goal>
468 <destFile>${sonar.jacoco.itReportPath}</destFile>
469 <append>true</append>
470 <skip>${skip.integrationtest}</skip>
474 <id>post-unit-test</id>
479 <dataFile>${sonar.jacoco.reportPath}</dataFile>
483 <id>post-integration-test</id>
485 <goal>report-integration</goal>
488 <dataFile>${sonar.jacoco.itReportPath}</dataFile>
489 <skip>${skip.integrationtest}</skip>
495 <groupId>org.apache.maven.plugins</groupId>
496 <artifactId>maven-surefire-plugin</artifactId>
499 <groupId>org.apache.maven.plugins</groupId>
500 <artifactId>maven-failsafe-plugin</artifactId>
503 <id>failsafe-integration-tests</id>
505 <goal>integration-test</goal>
509 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
510 <skipTests>${skip.integrationtest}</skipTests>
516 <groupId>org.opendaylight.yangtools</groupId>
517 <artifactId>yang-maven-plugin</artifactId>
518 <version>${yangtools.version}</version>
522 <goal>generate-sources</goal>
525 <!-- directory containing yang files to parse and generate code -->
526 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
530 org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
531 </codeGeneratorClass>
532 <!-- directory into which generated files will be placed -->
534 target/generated-sources/sal
538 <inspectDependencies>true</inspectDependencies>
544 <groupId>org.opendaylight.yangtools</groupId>
545 <artifactId>maven-sal-api-gen-plugin</artifactId>
546 <version>${yangtools.version}</version>
552 <groupId>org.codehaus.mojo</groupId>
553 <artifactId>build-helper-maven-plugin</artifactId>
554 <version>1.7</version>
557 <phase>generate-sources</phase>
559 <goal>add-source</goal>
563 <source>target/generated-sources/sal</source>
575 <id>integrationtest</id>
577 <activeByDefault>false</activeByDefault>
580 <skip.integrationtest>false</skip.integrationtest>
586 <activeByDefault>false</activeByDefault>
589 <skip.coverage>false</skip.coverage>
595 <activeByDefault>false</activeByDefault>
598 <skip.distribution>true</skip.distribution>
599 <root.directory>${env.WORKSPACE}</root.directory>
605 <activeByDefault>false</activeByDefault>
608 <skip.karaf.featureTest>false</skip.karaf.featureTest>