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