Features updated (odl-mdsal-common)
[openflowjava.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4     <parent>
5         <groupId>org.opendaylight.odlparent</groupId>
6         <artifactId>odlparent</artifactId>
7         <version>1.5.0-SNAPSHOT</version>
8         <relativePath/>
9     </parent>
10
11     <groupId>org.opendaylight.openflowjava</groupId>
12     <artifactId>openflow-protocol-parent</artifactId>
13     <version>0.6.0-SNAPSHOT</version>
14     <packaging>pom</packaging>
15     <modules>
16         <module>openflowjava-config</module>
17         <module>openflow-protocol-api</module>
18         <module>openflow-protocol-spi</module>
19         <module>util</module>
20         <module>openflow-protocol-impl</module>
21         <module>openflow-protocol-it</module>
22         <module>features</module>
23         <module>simple-client</module>
24     </modules>
25     <scm>
26         <connection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</connection>
27         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</developerConnection>
28         <url>https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Main</url>
29       <tag>HEAD</tag>
30     </scm>
31
32     <properties>
33         <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
34         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
35         <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
36         <siteplugin>3.2</siteplugin>
37         <projectinfo>2.6</projectinfo>
38         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
39         <compiler.version>2.3.2</compiler.version>
40         <surefire.version>2.13</surefire.version>
41         <exam.version>3.0.0</exam.version>
42         <url.version>1.5.0</url.version>
43         <enunciate.version>1.26.2</enunciate.version>
44         <jmxGeneratorPath>${project.build.directory}/yang-gen-config</jmxGeneratorPath>
45         <karaf.distro.empty.version>1.5.0-SNAPSHOT</karaf.distro.empty.version>
46         <salGeneratorPath>${project.build.directory}/yang-gen-sal</salGeneratorPath>
47         <sonar.branch>${user.name}-private-view</sonar.branch>
48         <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
49         <logback.version>1.0.9</logback.version>
50         <slf4j.version>1.7.2</slf4j.version>
51         <yang.prototype.version>1.2.0-SNAPSHOT</yang.prototype.version>
52         <ietf.model.version>2010.09.24.7-SNAPSHOT</ietf.model.version>
53         <yang.ext.version>2013.09.07.7-SNAPSHOT</yang.ext.version>
54         <maven.bundle.version>2.4.0</maven.bundle.version>
55         <guava.version>14.0.1</guava.version>
56         <netty.version>4.0.23.Final</netty.version>
57         <releaseplugin.version>2.3.2</releaseplugin.version>
58         <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
59         <yangtools.generator.version>0.7.0-SNAPSHOT</yangtools.generator.version>
60         <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
61         <config.version>0.3.0-SNAPSHOT</config.version>
62
63         <!-- Sonar config -->
64         <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
65         <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
66         <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
67         <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
68         <sonar.profile>Sonar way with Findbugs</sonar.profile>
69     </properties>
70
71     <pluginRepositories>
72         <!-- Opendaylight public group -->
73         <pluginRepository>
74             <id>odlPublic</id>
75             <name>odlPublic</name>
76             <url>${nexusproxy}/groups/public/</url>
77             <snapshots>
78               <enabled>false</enabled>
79             </snapshots>
80             <releases>
81               <enabled>true</enabled>
82             </releases>
83         </pluginRepository>
84         <!-- OpenDayLight Snapshot artifact -->
85         <pluginRepository>
86             <id>opendaylight-snapshot</id>
87             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
88             <snapshots>
89               <enabled>true</enabled>
90             </snapshots>
91             <releases>
92               <enabled>false</enabled>
93             </releases>
94         </pluginRepository>
95     </pluginRepositories>
96
97
98     <repositories>
99         <!-- Opendaylight public group -->
100         <repository>
101             <id>odlPublic</id>
102             <name>odlPublic</name>
103             <url>${nexusproxy}/groups/public/</url>
104             <snapshots>
105               <enabled>false</enabled>
106             </snapshots>
107             <releases>
108               <enabled>true</enabled>
109             </releases>
110         </repository>
111         <!-- OpenDayLight Snapshot artifact -->
112         <repository>
113             <id>opendaylight-snapshot</id>
114             <name>opendaylight-snapshot</name>
115             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
116             <snapshots>
117               <enabled>true</enabled>
118             </snapshots>
119             <releases>
120               <enabled>false</enabled>
121             </releases>
122         </repository>
123     </repositories>
124     <distributionManagement>
125         <!-- OpenDayLight Released artifact -->
126         <repository>
127             <id>opendaylight-release</id>
128             <url>${nexusproxy}/repositories/opendaylight.release/</url>
129         </repository>
130         <!-- OpenDayLight Snapshot artifact -->
131         <snapshotRepository>
132             <id>opendaylight-snapshot</id>
133             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
134         </snapshotRepository>
135         <!-- Site deployment -->
136         <!-- site>
137             <id>website</id>
138             <url>${sitedeploy}</url>
139         </site -->
140     </distributionManagement>
141
142
143     <dependencyManagement>
144         <dependencies>
145             <!-- feature dependencies -->
146             <dependency>
147               <groupId>org.opendaylight.yangtools</groupId>
148               <artifactId>features-yangtools</artifactId>
149               <version>${yangtools.version}</version>
150               <classifier>features</classifier>
151               <type>xml</type>
152             </dependency>
153             <dependency>
154               <groupId>org.opendaylight.controller</groupId>
155               <artifactId>features-config</artifactId>
156               <version>${config.version}</version>
157               <classifier>features</classifier>
158               <type>xml</type>
159             </dependency>
160             <dependency>
161                 <groupId>org.slf4j</groupId>
162                 <artifactId>slf4j-api</artifactId>
163                 <version>${slf4j.version}</version>
164             </dependency>
165             <dependency>
166                 <groupId>io.netty</groupId>
167                 <artifactId>netty-buffer</artifactId>
168                 <version>${netty.version}</version>
169             </dependency>
170             <dependency>
171                 <groupId>io.netty</groupId>
172                 <artifactId>netty-handler</artifactId>
173                 <version>${netty.version}</version>
174             </dependency>
175             <dependency>
176                 <groupId>io.netty</groupId>
177                 <artifactId>netty-codec</artifactId>
178                 <version>${netty.version}</version>
179             </dependency>
180             <dependency>
181                 <groupId>io.netty</groupId>
182                 <artifactId>netty-common</artifactId>
183                 <version>${netty.version}</version>
184             </dependency>
185             <dependency>
186                 <groupId>io.netty</groupId>
187                 <artifactId>netty-transport</artifactId>
188                 <version>${netty.version}</version>
189             </dependency>
190             <dependency>
191                 <groupId>com.google.guava</groupId>
192                 <artifactId>guava</artifactId>
193                 <version>${guava.version}</version>
194             </dependency>
195             <dependency>
196                 <groupId>org.opendaylight.yangtools.model</groupId>
197                 <artifactId>ietf-inet-types</artifactId>
198                 <version>${ietf.model.version}</version>
199             </dependency>
200             <dependency>
201                 <groupId>org.opendaylight.yangtools.model</groupId>
202                 <artifactId>ietf-yang-types</artifactId>
203                 <version>${ietf.model.version}</version>
204             </dependency>
205             <dependency>
206                 <groupId>org.opendaylight.yangtools.model</groupId>
207                 <artifactId>yang-ext</artifactId>
208                 <version>${yang.ext.version}</version>
209             </dependency>
210             <dependency>
211                 <groupId>org.osgi</groupId>
212                 <artifactId>org.osgi.core</artifactId>
213                 <version>5.0.0</version>
214             </dependency>
215             <dependency>
216                 <groupId>org.opendaylight.controller</groupId>
217                 <artifactId>config-api</artifactId>
218                 <version>0.3.0-SNAPSHOT</version>
219             </dependency>
220             <dependency>
221                 <groupId>junit</groupId>
222                 <artifactId>junit</artifactId>
223                 <version>${junit.version}</version>
224                 <scope>test</scope>
225                 <optional>true</optional>
226             </dependency>
227             <dependency>
228                 <groupId>org.mockito</groupId>
229                 <artifactId>mockito-all</artifactId>
230                 <version>1.9.5</version>
231                 <scope>test</scope>
232             </dependency>
233             <dependency>
234               <groupId>org.opendaylight.yangtools</groupId>
235               <artifactId>features-test</artifactId>
236               <version>${yangtools.version}</version>
237             </dependency>
238         </dependencies>
239     </dependencyManagement>
240
241     <dependencies>
242         <!-- Sonar -->
243         <dependency>
244             <groupId>org.codehaus.sonar-plugins.java</groupId>
245             <artifactId>sonar-jacoco-listeners</artifactId>
246             <version>${sonar-jacoco-listeners.version}</version>
247             <scope>test</scope>
248         </dependency>
249     </dependencies>
250
251     <build>
252         <plugins>
253             <plugin>
254                 <groupId>org.apache.maven.plugins</groupId>
255                 <artifactId>maven-compiler-plugin</artifactId>
256                 <inherited>true</inherited>
257                 <configuration>
258                     <source>1.7</source>
259                     <target>1.7</target>
260                 </configuration>
261             </plugin>
262             <plugin>
263                 <artifactId>maven-source-plugin</artifactId>
264                 <executions>
265                     <execution>
266                         <id>attach-sources</id>
267                         <phase>deploy</phase>
268                         <goals>
269                             <goal>jar-no-fork</goal>
270                         </goals>
271                     </execution>
272                 </executions>
273             </plugin>
274             <plugin>
275               <groupId>org.apache.felix</groupId>
276               <artifactId>maven-bundle-plugin</artifactId>
277               <extensions>true</extensions>
278               <configuration>
279                 <instructions>
280                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
281                 </instructions>
282                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
283               </configuration>
284             </plugin>
285             <plugin>
286               <groupId>org.apache.maven.plugins</groupId>
287               <artifactId>maven-checkstyle-plugin</artifactId>
288               <version>2.12</version>
289               <configuration>
290                 <failOnViolation>false</failOnViolation>
291                 <configLocation>checkstyle-logging.xml</configLocation>
292                 <consoleOutput>true</consoleOutput>
293                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
294                 <sourceDirectory>${project.basedir}</sourceDirectory>
295                 <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
296                 <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/</excludes>
297               </configuration>
298               <dependencies>
299                 <dependency>
300                 <groupId>org.opendaylight.yangtools</groupId>
301                 <artifactId>checkstyle-logging</artifactId>
302                 <version>${yangtools.version}</version>
303                 </dependency>
304               </dependencies>
305               <executions>
306                 <execution>
307                 <goals>
308                   <goal>check</goal>
309                 </goals>
310                 </execution>
311               </executions>
312             </plugin>
313             <plugin>
314                 <groupId>org.codehaus.mojo</groupId>
315                 <artifactId>build-helper-maven-plugin</artifactId>
316             </plugin>
317             <plugin>
318                 <groupId>org.jacoco</groupId>
319                 <artifactId>jacoco-maven-plugin</artifactId>
320                 <executions>
321                     <execution>
322                         <id>prepare-ut-agent</id>
323                         <phase>process-test-classes</phase>
324                         <goals>
325                             <goal>prepare-agent</goal>
326                         </goals>
327                         <configuration>
328                             <destFile>${sonar.jacoco.reportPath}</destFile>
329                             <propertyName>jacoco.agent.ut.arg</propertyName>
330                         </configuration>
331                     </execution>
332                     <execution>
333                         <id>prepare-it-agent</id>
334                         <phase>pre-integration-test</phase>
335                         <goals>
336                             <goal>prepare-agent</goal>
337                         </goals>
338                         <configuration>
339                             <destFile>${sonar.jacoco.itReportPath}</destFile>
340                             <propertyName>jacoco.agent.it.arg</propertyName>
341                         </configuration>
342                     </execution>
343                 </executions>
344             </plugin>
345         </plugins>
346         <pluginManagement>
347             <plugins>
348                 <plugin>
349                     <groupId>org.apache.maven.plugins</groupId>
350                     <artifactId>maven-source-plugin</artifactId>
351                     <version>2.2.1</version>
352                 </plugin>
353                 <plugin>
354                     <groupId>org.apache.maven.plugins</groupId>
355                     <artifactId>maven-deploy-plugin</artifactId>
356                     <version>2.7</version>
357                 </plugin>
358                 <plugin>
359                     <groupId>org.apache.maven.plugins</groupId>
360                     <artifactId>maven-jar-plugin</artifactId>
361                     <version>2.4</version>
362                 </plugin>
363                 <plugin>
364                     <groupId>org.apache.maven.plugins</groupId>
365                     <artifactId>maven-release-plugin</artifactId>
366                     <version>${releaseplugin.version}</version>
367                 </plugin>
368                 <plugin>
369                     <groupId>org.opendaylight.yangtools</groupId>
370                     <artifactId>yang-maven-plugin</artifactId>
371                     <version>${yangtools.version}</version>
372                 </plugin>
373                 <plugin>
374                     <groupId>org.apache.felix</groupId>
375                     <artifactId>maven-bundle-plugin</artifactId>
376                     <version>${maven.bundle.version}</version>
377                 </plugin>
378                 <plugin>
379                     <groupId>org.codehaus.mojo</groupId>
380                     <artifactId>build-helper-maven-plugin</artifactId>
381                     <version>1.8</version>
382                     <executions>
383                         <execution>
384                             <id>add-source</id>
385                             <goals>
386                                 <goal>add-source</goal>
387                             </goals>
388                             <phase>generate-sources</phase>
389                             <configuration>
390                                 <sources>
391                                     <source>src/main/yang</source>
392                                 </sources>
393                             </configuration>
394                         </execution>
395                     </executions>
396                 </plugin>
397                 <plugin>
398                     <groupId>org.apache.maven.plugins</groupId>
399                     <artifactId>maven-failsafe-plugin</artifactId>
400                     <configuration>
401                         <!-- Specific to generate mapping between tests and covered code -->
402                         <argLine>${jacoco.agent.it.arg}</argLine>
403                         <properties>
404                             <property>
405                                 <name>listener</name>
406                                 <value>org.sonar.java.jacoco.JUnitListener</value>
407                             </property>
408                         </properties>
409                         <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
410                         <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
411                     </configuration>
412                 </plugin>
413                 <plugin>
414                     <groupId>org.apache.maven.plugins</groupId>
415                     <artifactId>maven-surefire-plugin</artifactId>
416                     <configuration>
417                         <!-- Specific to generate mapping between tests and covered code -->
418                         <argLine>${jacoco.agent.ut.arg}</argLine>
419                         <properties>
420                             <property>
421                                 <name>listener</name>
422                                 <value>org.sonar.java.jacoco.JUnitListener</value>
423                             </property>
424                         </properties>
425                     </configuration>
426                 </plugin>
427                 <!-- Ignore/Execute plugin execution -->
428                 <plugin>
429                   <groupId>org.eclipse.m2e</groupId>
430                   <artifactId>lifecycle-mapping</artifactId>
431                   <version>1.0.0</version>
432                   <configuration>
433                     <lifecycleMappingMetadata>
434                       <pluginExecutions>
435                         <pluginExecution>
436                           <pluginExecutionFilter>
437                             <groupId>org.codehaus.mojo</groupId>
438                             <artifactId>properties-maven-plugin</artifactId>
439                             <versionRange>[0.0,)</versionRange>
440                             <goals>
441                               <goal>set-system-properties</goal>
442                             </goals>
443                           </pluginExecutionFilter>
444                           <action>
445                             <ignore/>
446                           </action>
447                         </pluginExecution>
448                         <pluginExecution>
449                           <pluginExecutionFilter>
450                             <groupId>org.codehaus.enunciate</groupId>
451                             <artifactId>maven-enunciate-plugin</artifactId>
452                             <versionRange>[0.0,)</versionRange>
453                             <goals>
454                               <goal>docs</goal>
455                             </goals>
456                           </pluginExecutionFilter>
457                           <action>
458                             <ignore/>
459                           </action>
460                         </pluginExecution>
461                         <pluginExecution>
462                           <pluginExecutionFilter>
463                             <groupId>org.jacoco</groupId>
464                             <artifactId>jacoco-maven-plugin</artifactId>
465                             <versionRange>[0.0,)</versionRange>
466                             <goals>
467                               <goal>prepare-agent</goal>
468                               <goal>pre-test</goal>
469                               <goal>post-test</goal>
470                             </goals>
471                           </pluginExecutionFilter>
472                           <action>
473                             <ignore/>
474                           </action>
475                         </pluginExecution>
476                         <pluginExecution>
477                           <pluginExecutionFilter>
478                             <groupId>org.ops4j.pax.exam</groupId>
479                             <artifactId>maven-paxexam-plugin</artifactId>
480                             <versionRange>[1.2.4,)</versionRange>
481                             <goals>
482                               <goal>generate-depends-file</goal>
483                             </goals>
484                           </pluginExecutionFilter>
485                           <action>
486                             <execute>
487                               <runOnIncremental>false</runOnIncremental>
488                             </execute>
489                           </action>
490                         </pluginExecution>
491                         <pluginExecution>
492                           <pluginExecutionFilter>
493                             <groupId>org.apache.maven.plugins</groupId>
494                             <artifactId>maven-checkstyle-plugin</artifactId>
495                             <versionRange>[2.0,)</versionRange>
496                             <goals>
497                               <goal>check</goal>
498                             </goals>
499                           </pluginExecutionFilter>
500                           <action>
501                             <ignore/>
502                           </action>
503                         </pluginExecution>
504                         <pluginExecution>
505                           <pluginExecutionFilter>
506                             <groupId>org.opendaylight.yangtools</groupId>
507                             <artifactId>yang-maven-plugin</artifactId>
508                             <versionRange>[0.5,)</versionRange>
509                             <goals>
510                               <goal>generate-sources</goal>
511                             </goals>
512                           </pluginExecutionFilter>
513                           <action>
514                             <execute/>
515                           </action>
516                         </pluginExecution>
517                         <pluginExecution>
518                           <pluginExecutionFilter>
519                             <groupId>org.codehaus.groovy.maven</groupId>
520                             <artifactId>gmaven-plugin</artifactId>
521                             <versionRange>1.0</versionRange>
522                             <goals>
523                               <goal>execute</goal>
524                             </goals>
525                           </pluginExecutionFilter>
526                           <action>
527                             <ignore/>
528                           </action>
529                         </pluginExecution>
530                         <pluginExecution>
531                           <pluginExecutionFilter>
532                             <groupId>org.apache.maven.plugins</groupId>
533                             <artifactId>maven-enforcer-plugin</artifactId>
534                             <versionRange>${enforcer.version}</versionRange>
535                             <goals>
536                               <goal>enforce</goal>
537                             </goals>
538                           </pluginExecutionFilter>
539                           <action>
540                             <ignore/>
541                           </action>
542                         </pluginExecution>
543                       </pluginExecutions>
544                     </lifecycleMappingMetadata>
545                   </configuration>
546                 </plugin>
547             </plugins>
548         </pluginManagement>
549     </build>
550     <reporting>
551         <plugins>
552             <plugin>
553                 <groupId>org.codehaus.mojo</groupId>
554                 <artifactId>findbugs-maven-plugin</artifactId>
555                 <version>2.5.2</version>
556                 <configuration>
557                     <effort>Max</effort>
558                     <threshold>Low</threshold>
559                     <goal>site</goal>
560                 </configuration>
561             </plugin>
562             <plugin>
563               <artifactId>maven-jxr-plugin</artifactId>
564               <version>2.3</version>
565               <configuration>
566                 <aggregate>true</aggregate>
567                 <linkJavadoc>true</linkJavadoc>
568               </configuration>
569             </plugin>
570
571             <plugin>
572                 <groupId>org.codehaus.mojo</groupId>
573                 <artifactId>jdepend-maven-plugin</artifactId>
574                 <version>2.0-beta-2</version>
575             </plugin>
576         </plugins>
577     </reporting>
578     <profiles>
579         <profile>
580             <id>viewbuild</id>
581             <activation>
582                 <activeByDefault>true</activeByDefault>
583             </activation>
584             <properties>
585                 <build.suffix>${project.version}</build.suffix>
586             </properties>
587         </profile>
588         <profile>
589             <id>jenkins</id>
590             <activation>
591                 <property>
592                     <name>BUILDSUFFIX</name>
593                 </property>
594             </activation>
595             <properties>
596                 <build.suffix>${BUILDSUFFIX}</build.suffix>
597             </properties>
598         </profile>
599         <profile>
600             <id>repoBuild</id>
601             <build>
602                 <plugins>
603                     <plugin>
604                         <groupId>org.apache.maven.plugins</groupId>
605                         <artifactId>maven-javadoc-plugin</artifactId>
606                         <version>2.8.1</version>
607                         <executions>
608                             <execution>
609                                 <goals>
610                                     <goal>aggregate</goal>
611                                 </goals>
612                                 <phase>site</phase>
613                             </execution>
614                             <execution>
615                                 <id>attach-javadocs</id>
616                                 <goals>
617                                     <goal>jar</goal>
618                                 </goals>
619                             </execution>
620                         </executions>
621                     </plugin>
622                     <plugin>
623                         <groupId>org.apache.maven.plugins</groupId>
624                         <artifactId>maven-source-plugin</artifactId>
625                         <executions>
626                             <execution>
627                                 <id>attach-sources</id>
628                                 <phase>package</phase>
629                                 <goals>
630                                     <goal>jar-no-fork</goal>
631                                 </goals>
632                             </execution>
633                         </executions>
634                     </plugin>
635                 </plugins>
636             </build>
637         </profile>
638     </profiles>
639 </project>