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