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