Maven cleanup and features-parent migration
[netvirt.git] / commons / parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
4
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
8 -->
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>
13
14   <parent>
15     <groupId>org.opendaylight.odlparent</groupId>
16     <artifactId>odlparent</artifactId>
17     <version>1.6.0-SNAPSHOT</version>
18     <relativePath/>
19   </parent>
20
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>
28   <licenses>
29     <license>
30       <name>Eclipse Public License v1.0</name>
31       <url>http://www.eclipse.org/legal/epl-v10.html</url>
32     </license>
33   </licenses>
34   <developers>
35     <developer>
36       <name>Sam Hague</name>
37       <email>shague@gmail.com</email>
38       <url>https://github.com/shague</url>
39     </developer>
40   </developers>
41   <scm>
42     <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
43     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
44     <tag>HEAD</tag>
45     <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
46   </scm>
47
48   <prerequisites>
49     <maven>3.1.1</maven>
50   </prerequisites>
51
52   <properties>
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     <containermanager.version>0.7.0-SNAPSHOT</containermanager.version>
84     <controller.config.version>0.4.0-SNAPSHOT</controller.config.version>
85     <forwardingrulesmanager.version>0.8.0-SNAPSHOT</forwardingrulesmanager.version>
86     <mdsal.version>1.3.0-SNAPSHOT</mdsal.version>
87     <networkconfig.neutron.version>0.6.0-SNAPSHOT</networkconfig.neutron.version>
88     <northbound.commons.version>0.6.0-SNAPSHOT</northbound.commons.version>
89     <nsf.version>0.6.0-SNAPSHOT</nsf.version>
90     <odl.karaf.base.version>1.6.0-SNAPSHOT</odl.karaf.base.version>
91     <odlparent.version>1.6.0-SNAPSHOT</odlparent.version>
92     <openflowjava-nicira.version>0.2.0-SNAPSHOT</openflowjava-nicira.version>
93     <openflowjava-extension.version>0.2.0-SNAPSHOT</openflowjava-extension.version>
94     <openflowjava.version>0.7.0-SNAPSHOT</openflowjava.version>
95     <openflowplugin.version>0.2.0-SNAPSHOT</openflowplugin.version>
96     <sal.version>0.10.0-SNAPSHOT</sal.version>
97     <switchmanager.api.version>0.9.0-SNAPSHOT</switchmanager.api.version>
98     <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
99     <!-- 3rd Pary Dependency Versions -->
100     <commons.collection.version>3.2.1</commons.collection.version>
101     <httpcomponents.version>4.4.1</httpcomponents.version>
102     <portlet.version>2.0</portlet.version>
103     <powermock.version>1.5.2</powermock.version>
104     <dlux.version>0.3.0-SNAPSHOT</dlux.version>
105     <ovsdb.ui.version>0.1.0-SNAPSHOT</ovsdb.ui.version>
106   </properties>
107
108   <dependencyManagement>
109     <dependencies>
110       <dependency>
111         <groupId>org.opendaylight.mdsal</groupId>
112         <artifactId>mdsal-artifacts</artifactId>
113         <version>2.0.0-SNAPSHOT</version>
114         <type>pom</type>
115         <scope>import</scope>
116       </dependency>
117       <dependency>
118         <groupId>org.opendaylight.mdsal.model</groupId>
119         <artifactId>mdsal-model-artifacts</artifactId>
120         <version>0.8.0-SNAPSHOT</version>
121         <type>pom</type>
122         <scope>import</scope>
123       </dependency>
124       <dependency>
125         <groupId>commons-collections</groupId>
126         <artifactId>commons-collections</artifactId>
127         <version>${commons.collection.version}</version>
128       </dependency>
129       <dependency>
130         <groupId>io.netty</groupId>
131         <artifactId>netty-all</artifactId>
132         <version>${netty.version}</version>
133       </dependency>
134       <dependency>
135         <groupId>javax.portlet</groupId>
136         <artifactId>portlet-api</artifactId>
137         <version>${portlet.version}</version>
138       </dependency>
139       <dependency>
140         <groupId>org.apache.httpcomponents</groupId>
141         <artifactId>httpcore-nio</artifactId>
142         <version>${httpcomponents.version}</version>
143       </dependency>
144       <dependency>
145         <groupId>org.opendaylight.controller</groupId>
146         <artifactId>config-api</artifactId>
147         <version>${controller.config.version}</version>
148       </dependency>
149       <dependency>
150         <groupId>org.opendaylight.neutron</groupId>
151         <artifactId>neutron-spi</artifactId>
152         <version>${networkconfig.neutron.version}</version>
153       </dependency>
154       <dependency>
155         <groupId>org.opendaylight.controller</groupId>
156         <artifactId>opendaylight-karaf-empty</artifactId>
157         <version>1.6.0-SNAPSHOT</version>
158         <type>zip</type>
159       </dependency>
160
161       <dependency>
162         <groupId>org.opendaylight.yangtools</groupId>
163         <artifactId>yangtools-artifacts</artifactId>
164         <version>${yangtools.version}</version>
165         <type>pom</type>
166         <scope>import</scope>
167       </dependency>
168       <dependency>
169         <groupId>org.opendaylight.controller</groupId>
170         <artifactId>config-artifacts</artifactId>
171         <version>${controller.config.version}</version>
172         <type>pom</type>
173         <scope>import</scope>
174       </dependency>
175       <dependency>
176         <groupId>org.opendaylight.controller</groupId>
177         <artifactId>mdsal-artifacts</artifactId>
178         <version>${mdsal.version}</version>
179         <scope>import</scope>
180         <type>pom</type>
181       </dependency>
182       <dependency>
183         <groupId>org.opendaylight.openflowjava</groupId>
184         <artifactId>openflowjava-artifacts</artifactId>
185         <version>${openflowjava.version}</version>
186         <type>pom</type>
187         <scope>import</scope>
188       </dependency>
189
190       <dependency>
191         <groupId>org.opendaylight.openflowplugin.model</groupId>
192         <artifactId>model-flow-base</artifactId>
193         <version>${openflowplugin.version}</version>
194       </dependency>
195       <dependency>
196         <groupId>org.opendaylight.openflowplugin.model</groupId>
197         <artifactId>model-flow-service</artifactId>
198         <version>${openflowplugin.version}</version>
199       </dependency>
200       <dependency>
201         <groupId>org.opendaylight.openflowplugin.model</groupId>
202         <artifactId>model-flow-statistics</artifactId>
203         <version>${openflowplugin.version}</version>
204       </dependency>
205       <dependency>
206         <groupId>org.opendaylight.odlparent</groupId>
207         <artifactId>features-test</artifactId>
208         <version>${odlparent.version}</version>
209         <scope>test</scope>
210       </dependency>
211       <dependency>
212         <groupId>org.opendaylight.openflowplugin</groupId>
213         <artifactId>openflowplugin</artifactId>
214         <version>${openflowplugin.version}</version>
215       </dependency>
216       <dependency>
217         <groupId>org.opendaylight.openflowplugin</groupId>
218         <artifactId>openflowjava-extension-nicira</artifactId>
219         <version>${openflowjava-nicira.version}</version>
220       </dependency>
221       <dependency>
222         <groupId>org.opendaylight.openflowplugin</groupId>
223         <artifactId>openflowjava-extension-nicira-api</artifactId>
224         <version>${openflowjava-nicira.version}</version>
225       </dependency>
226       <dependency>
227         <groupId>org.opendaylight.openflowplugin</groupId>
228         <artifactId>openflowplugin-extension-api</artifactId>
229         <version>${openflowplugin.version}</version>
230       </dependency>
231       <dependency>
232         <groupId>org.opendaylight.openflowplugin</groupId>
233         <artifactId>openflowplugin-extension-nicira</artifactId>
234         <version>${openflowplugin.version}</version>
235       </dependency>
236       <dependency>
237         <groupId>org.opendaylight.openflowplugin</groupId>
238         <artifactId>openflowplugin-extension-nicira-config</artifactId>
239         <version>${openflowplugin.version}</version>
240       </dependency>
241       <dependency>
242         <groupId>org.opendaylight.ovsdb</groupId>
243         <artifactId>features-ovsdb</artifactId>
244         <version>${ovsdb.features.version}</version>
245       </dependency>
246       <dependency>
247         <groupId>org.opendaylight.ovsdb</groupId>
248         <artifactId>library</artifactId>
249         <version>${ovsdb.library.version}</version>
250       </dependency>
251       <dependency>
252         <groupId>org.opendaylight.ovsdb</groupId>
253         <artifactId>northbound</artifactId>
254         <version>${ovsdb.northbound.version}</version>
255       </dependency>
256       <dependency>
257         <groupId>org.opendaylight.ovsdb</groupId>
258         <artifactId>openstack.net-virt</artifactId>
259         <version>${openstack.netvirt.version}</version>
260       </dependency>
261       <dependency>
262         <groupId>org.opendaylight.ovsdb</groupId>
263         <artifactId>openstack.net-virt-providers</artifactId>
264         <version>${openstack.netvirt.providers.version}</version>
265       </dependency>
266       <dependency>
267         <groupId>org.opendaylight.ovsdb</groupId>
268         <artifactId>ovsdb-plugin-compatibility-layer</artifactId>
269         <version>${ovsdb.plugin.compatibility.layer.version}</version>
270       </dependency>
271       <dependency>
272         <groupId>org.opendaylight.ovsdb</groupId>
273         <artifactId>plugin</artifactId>
274         <version>${ovsdb.plugin.version}</version>
275       </dependency>
276       <dependency>
277         <groupId>org.opendaylight.ovsdb</groupId>
278         <artifactId>plugin-mdsal-adapter</artifactId>
279         <version>${ovsdb.plugin.adapter.version}</version>
280       </dependency>
281       <dependency>
282         <groupId>org.opendaylight.ovsdb</groupId>
283         <artifactId>plugin-shell</artifactId>
284         <version>${plugin.shell.version}</version>
285       </dependency>
286       <dependency>
287         <groupId>org.opendaylight.ovsdb</groupId>
288         <artifactId>schema.hardwarevtep</artifactId>
289         <version>${schema.hardwarevtep.version}</version>
290       </dependency>
291       <dependency>
292         <groupId>org.opendaylight.ovsdb</groupId>
293         <artifactId>schema.openvswitch</artifactId>
294         <version>${schema.openvswitch.version}</version>
295       </dependency>
296       <dependency>
297         <groupId>org.opendaylight.ovsdb</groupId>
298         <artifactId>utils.config</artifactId>
299         <version>${ovsdb.utils.config.version}</version>
300       </dependency>
301       <dependency>
302         <groupId>org.opendaylight.ovsdb</groupId>
303         <artifactId>utils.mdsal-node</artifactId>
304         <version>${ovsdb.utils.mdsal.node.version}</version>
305       </dependency>
306       <dependency>
307         <groupId>org.opendaylight.ovsdb</groupId>
308         <artifactId>utils.mdsal-openflow</artifactId>
309         <version>${ovsdb.utils.mdsal.openflow.version}</version>
310       </dependency>
311       <dependency>
312         <groupId>org.opendaylight.ovsdb</groupId>
313         <artifactId>utils.servicehelper</artifactId>
314         <version>${ovsdb.utils.servicehelper.version}</version>
315       </dependency>
316       <dependency>
317         <groupId>org.powermock</groupId>
318         <artifactId>powermock-module-junit4</artifactId>
319         <version>${powermock.version}</version>
320       </dependency>
321       <dependency>
322         <groupId>org.powermock</groupId>
323         <artifactId>powermock-api-mockito</artifactId>
324         <version>${powermock.version}</version>
325       </dependency>
326       <dependency>
327         <groupId>org.powermock</groupId>
328         <artifactId>powermock-core</artifactId>
329         <version>${powermock.version}</version>
330       </dependency>
331       <dependency>
332         <groupId>org.opendaylight.ovsdb</groupId>
333         <artifactId>ovsdb-ui</artifactId>
334         <version>${ovsdb.ui.version}</version>
335       </dependency>
336     </dependencies>
337   </dependencyManagement>
338
339   <build>
340     <pluginManagement>
341       <plugins>
342         <plugin>
343           <groupId>org.apache.maven.plugins</groupId>
344           <artifactId>maven-compiler-plugin</artifactId>
345           <configuration>
346             <source>${java.version.source}</source>
347             <target>${java.version.target}</target>
348             <testSource>${java.version.source}</testSource>
349             <testTarget>${java.version.target}</testTarget>
350           </configuration>
351         </plugin>
352         <!-- This configuration should move to ODL-Parent -->
353         <plugin>
354           <groupId>org.eclipse.m2e</groupId>
355           <artifactId>lifecycle-mapping</artifactId>
356           <version>${lifecycle.mapping.version}</version>
357           <configuration>
358             <lifecycleMappingMetadata>
359               <pluginExecutions>
360                 <pluginExecution>
361                   <pluginExecutionFilter>
362                     <groupId>org.codehaus.mojo</groupId>
363                     <artifactId>properties-maven-plugin</artifactId>
364                     <versionRange>[0.0,)</versionRange>
365                     <goals>
366                       <goal>set-system-properties</goal>
367                     </goals>
368                   </pluginExecutionFilter>
369                   <action>
370                     <ignore></ignore>
371                   </action>
372                 </pluginExecution>
373                 <pluginExecution>
374                   <pluginExecutionFilter>
375                     <groupId>org.jacoco</groupId>
376                     <artifactId>jacoco-maven-plugin</artifactId>
377                     <versionRange>[0.0,)</versionRange>
378                     <goals>
379                       <goal>prepare-agent</goal>
380                       <goal>pre-test</goal>
381                       <goal>post-test</goal>
382                     </goals>
383                   </pluginExecutionFilter>
384                   <action>
385                     <ignore></ignore>
386                   </action>
387                 </pluginExecution>
388                 <pluginExecution>
389                   <pluginExecutionFilter>
390                     <groupId>org.opendaylight.yangtools</groupId>
391                     <artifactId>yang-maven-plugin</artifactId>
392                     <versionRange>[0.5,)</versionRange>
393                     <goals>
394                       <goal>generate-sources</goal>
395                     </goals>
396                   </pluginExecutionFilter>
397                   <action>
398                     <execute></execute>
399                   </action>
400                 </pluginExecution>
401               </pluginExecutions>
402             </lifecycleMappingMetadata>
403           </configuration>
404         </plugin>
405         <plugin>
406           <groupId>org.apache.maven.plugins</groupId>
407           <artifactId>maven-checkstyle-plugin</artifactId>
408           <dependencies>
409             <dependency>
410               <groupId>com.puppycrawl.tools</groupId>
411               <artifactId>checkstyle</artifactId>
412               <version>6.4.1</version>
413             </dependency>
414           </dependencies>
415           <configuration>
416             <failsOnError>true</failsOnError>
417             <includes>**/*.java,**/*.xml,**/*.ini,**/*.sh,**/*.bat</includes>
418             <excludes>**/yang/,**/features/,
419               **/openstack/,**/ovs-sfc/,
420               **/schema/hardwarevtep/,**/schema/openvswitch/,
421               **/southbound/,**/utils/
422             </excludes>
423           </configuration>
424         </plugin>
425         <plugin>
426           <groupId>org.jacoco</groupId>
427           <artifactId>jacoco-maven-plugin</artifactId>
428           <configuration>
429             <skip>${skip.coverage}</skip>
430           </configuration>
431           <executions>
432             <execution>
433               <id>pre-unit-test</id>
434               <goals>
435                 <goal>prepare-agent</goal>
436               </goals>
437               <configuration>
438                 <destFile>${sonar.jacoco.reportPath}</destFile>
439               </configuration>
440             </execution>
441             <execution>
442               <id>pre-integration-test</id>
443               <goals>
444                 <goal>prepare-agent-integration</goal>
445               </goals>
446               <configuration>
447                 <destFile>${sonar.jacoco.itReportPath}</destFile>
448                 <append>true</append>
449                 <skip>${skip.integrationtest}</skip>
450               </configuration>
451             </execution>
452             <execution>
453               <id>post-unit-test</id>
454               <goals>
455                 <goal>report</goal>
456               </goals>
457               <configuration>
458                 <dataFile>${sonar.jacoco.reportPath}</dataFile>
459               </configuration>
460             </execution>
461             <execution>
462               <id>post-integration-test</id>
463               <goals>
464                 <goal>report-integration</goal>
465               </goals>
466               <configuration>
467                 <dataFile>${sonar.jacoco.itReportPath}</dataFile>
468                 <skip>${skip.integrationtest}</skip>
469               </configuration>
470             </execution>
471           </executions>
472         </plugin>
473         <plugin>
474           <groupId>org.apache.maven.plugins</groupId>
475           <artifactId>maven-surefire-plugin</artifactId>
476         </plugin>
477         <plugin>
478           <groupId>org.apache.maven.plugins</groupId>
479           <artifactId>maven-failsafe-plugin</artifactId>
480           <executions>
481             <execution>
482               <id>failsafe-integration-tests</id>
483               <goals>
484                 <goal>integration-test</goal>
485                 <goal>verify</goal>
486               </goals>
487               <configuration>
488                 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
489                 <skipTests>${skip.integrationtest}</skipTests>
490               </configuration>
491             </execution>
492           </executions>
493         </plugin>
494         <plugin>
495           <groupId>org.opendaylight.yangtools</groupId>
496           <artifactId>yang-maven-plugin</artifactId>
497           <version>${yangtools.version}</version>
498           <executions>
499             <execution>
500               <goals>
501                 <goal>generate-sources</goal>
502               </goals>
503               <configuration>
504                 <!-- directory containing yang files to parse and generate code -->
505                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
506                 <codeGenerators>
507                   <generator>
508                     <codeGeneratorClass>
509                       org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
510                     </codeGeneratorClass>
511                     <!-- directory into which generated files will be placed -->
512                     <outputBaseDir>
513                       target/generated-sources/sal
514                     </outputBaseDir>
515                   </generator>
516                 </codeGenerators>
517                 <inspectDependencies>true</inspectDependencies>
518               </configuration>
519             </execution>
520           </executions>
521           <dependencies>
522             <dependency>
523               <groupId>org.opendaylight.mdsal</groupId>
524               <artifactId>maven-sal-api-gen-plugin</artifactId>
525               <version>${yangtools.version}</version>
526               <type>jar</type>
527             </dependency>
528           </dependencies>
529         </plugin>
530         <plugin>
531           <groupId>org.codehaus.mojo</groupId>
532           <artifactId>build-helper-maven-plugin</artifactId>
533           <version>1.7</version>
534           <executions>
535             <execution>
536               <phase>generate-sources</phase>
537               <goals>
538                 <goal>add-source</goal>
539               </goals>
540               <configuration>
541                 <sources>
542                   <source>target/generated-sources/sal</source>
543                 </sources>
544               </configuration>
545             </execution>
546           </executions>
547         </plugin>
548       </plugins>
549     </pluginManagement>
550   </build>
551
552   <profiles>
553     <profile>
554       <id>integrationtest</id>
555       <activation>
556         <activeByDefault>false</activeByDefault>
557       </activation>
558       <properties>
559         <skip.integrationtest>false</skip.integrationtest>
560       </properties>
561     </profile>
562     <profile>
563       <id>coverage</id>
564       <activation>
565         <activeByDefault>false</activeByDefault>
566       </activation>
567       <properties>
568         <skip.coverage>false</skip.coverage>
569       </properties>
570     </profile>
571     <profile>
572       <id>jenkins</id>
573       <activation>
574         <activeByDefault>false</activeByDefault>
575       </activation>
576       <properties>
577         <skip.distribution>true</skip.distribution>
578         <root.directory>${env.WORKSPACE}</root.directory>
579       </properties>
580     </profile>
581     <profile>
582       <id>karaf</id>
583       <activation>
584         <activeByDefault>false</activeByDefault>
585       </activation>
586       <properties>
587         <skip.karaf.featureTest>false</skip.karaf.featureTest>
588       </properties>
589     </profile>
590   </profiles>
591 </project>