Merge "Bug 1277 - Move ByteBuffUtils to separate bundle"
[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-SNAPSHOT</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>feature</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>src/main/yang-gen-config</jmxGeneratorPath>
37         <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
38         <sonar.branch>${user.name}-private-view</sonar.branch>
39         <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
40         <logback.version>1.0.9</logback.version>
41         <slf4j.version>1.7.2</slf4j.version>
42         <yang.prototype.version>1.1-SNAPSHOT</yang.prototype.version>
43         <ietf.model.version>2010.09.24.4-SNAPSHOT</ietf.model.version>
44         <yang.ext.version>2013.09.07.4-SNAPSHOT</yang.ext.version>
45         <maven.bundle.version>2.4.0</maven.bundle.version>
46         <guava.version>14.0.1</guava.version> 
47         <netty.version>4.0.19.Final</netty.version>
48         <releaseplugin.version>2.3.2</releaseplugin.version>
49         <yangtools.version>0.6.2-SNAPSHOT</yangtools.version>
50         <yangtools.generator.version>0.6.2-SNAPSHOT</yangtools.generator.version>
51         <config.version>0.2.5-SNAPSHOT</config.version>
52     </properties>
53
54     <pluginRepositories>
55         <!-- Opendaylight public group -->
56         <pluginRepository>
57             <id>odlPublic</id>
58             <name>odlPublic</name>
59             <url>${nexusproxy}/groups/public/</url>
60             <snapshots>
61               <enabled>false</enabled>
62             </snapshots>
63         </pluginRepository>
64         <!-- OpenDayLight Snapshot artifact -->
65         <pluginRepository>
66             <id>opendaylight-snapshot</id>
67             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
68             <releases>
69               <enabled>false</enabled>
70             </releases>
71         </pluginRepository>
72     </pluginRepositories>
73
74
75     <repositories>
76         <!-- Opendaylight public group -->
77         <repository>
78             <id>odlPublic</id>
79             <name>odlPublic</name>
80             <url>${nexusproxy}/groups/public/</url>
81             <snapshots>
82               <enabled>false</enabled>
83             </snapshots>
84         </repository>
85         <!-- OpenDayLight Snapshot artifact -->
86         <repository>
87             <id>opendaylight-snapshot</id>
88             <name>opendaylight-snapshot</name>
89             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
90             <releases>
91               <enabled>false</enabled>
92             </releases>
93         </repository>
94     </repositories>
95     <distributionManagement>
96         <!-- OpenDayLight Released artifact -->
97         <repository>
98             <id>opendaylight-release</id>
99             <url>${nexusproxy}/repositories/opendaylight.release/</url>
100         </repository>
101         <!-- OpenDayLight Snapshot artifact -->
102         <snapshotRepository>
103             <id>opendaylight-snapshot</id>
104             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
105         </snapshotRepository>
106         <!-- Site deployment -->
107         <!-- site>
108             <id>website</id>
109             <url>${sitedeploy}</url>
110         </site -->
111     </distributionManagement>
112
113
114     <dependencyManagement>
115         <dependencies>
116             <dependency>
117                 <groupId>org.slf4j</groupId>
118                 <artifactId>slf4j-api</artifactId>
119                 <version>${slf4j.version}</version>
120             </dependency>
121             <dependency>
122                 <groupId>io.netty</groupId>
123                 <artifactId>netty-buffer</artifactId>
124                 <version>${netty.version}</version>
125             </dependency>
126             <dependency>
127                 <groupId>io.netty</groupId>
128                 <artifactId>netty-handler</artifactId>
129                 <version>${netty.version}</version>
130             </dependency>
131             <dependency>
132                 <groupId>com.google.guava</groupId>
133                 <artifactId>guava</artifactId>
134                 <version>${guava.version}</version>
135             </dependency>
136             <dependency>
137                 <groupId>org.opendaylight.yangtools.model</groupId>
138                 <artifactId>ietf-inet-types</artifactId>
139                 <version>${ietf.model.version}</version>
140             </dependency>
141             <dependency>
142                 <groupId>org.opendaylight.yangtools.model</groupId>
143                 <artifactId>ietf-yang-types</artifactId>
144                 <version>${ietf.model.version}</version>
145             </dependency>
146             <dependency>
147                 <groupId>org.opendaylight.yangtools.model</groupId>
148                 <artifactId>yang-ext</artifactId>
149                 <version>${yang.ext.version}</version>
150             </dependency>
151             <dependency>
152                 <groupId>org.osgi</groupId>
153                 <artifactId>org.osgi.core</artifactId>
154                 <version>5.0.0</version>
155             </dependency>
156             <dependency>
157                 <groupId>org.opendaylight.controller</groupId>
158                 <artifactId>config-api</artifactId>
159                 <version>0.2.5-SNAPSHOT</version>
160             </dependency>
161             <dependency>
162                 <groupId>junit</groupId>
163                 <artifactId>junit</artifactId>
164                 <version>4.10</version>
165                 <scope>test</scope>
166                 <optional>true</optional>
167             </dependency>
168             <dependency>
169                 <groupId>org.mockito</groupId>
170                 <artifactId>mockito-all</artifactId>
171                 <version>1.9.5</version>
172                 <scope>test</scope>
173             </dependency>
174         </dependencies>
175     </dependencyManagement>
176     <build>
177         <plugins>
178             <plugin>
179                 <groupId>org.apache.maven.plugins</groupId>
180                 <artifactId>maven-compiler-plugin</artifactId>
181                 <version>${compiler.version}</version>
182                 <inherited>true</inherited>
183                 <configuration>
184                     <source>1.7</source>
185                     <target>1.7</target>
186                 </configuration>
187             </plugin>
188             <plugin>
189                 <artifactId>maven-source-plugin</artifactId>
190                 <executions>
191                     <execution>
192                         <id>attach-sources</id>
193                         <phase>deploy</phase>
194                         <goals>
195                             <goal>jar-no-fork</goal>
196                         </goals> 
197                     </execution>
198                 </executions>
199             </plugin>
200             <plugin>
201               <groupId>org.apache.felix</groupId>
202               <artifactId>maven-bundle-plugin</artifactId>
203               <extensions>true</extensions>
204               <configuration>
205                 <instructions>
206                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
207                 </instructions>
208                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
209               </configuration>
210             </plugin>
211             <plugin>
212               <groupId>org.apache.maven.plugins</groupId>
213               <artifactId>maven-checkstyle-plugin</artifactId>
214               <version>2.12</version>
215               <configuration>
216                 <failOnViolation>false</failOnViolation>
217                 <configLocation>checkstyle-logging.xml</configLocation>
218                 <consoleOutput>true</consoleOutput>
219                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
220                 <sourceDirectory>${project.basedir}</sourceDirectory>
221                 <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
222                 <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/</excludes>
223               </configuration>
224               <dependencies>
225                 <dependency>
226                 <groupId>org.opendaylight.yangtools</groupId>
227                 <artifactId>checkstyle-logging</artifactId>
228                 <version>${yangtools.version}</version>
229                 </dependency>
230               </dependencies>
231               <executions>
232                 <execution>
233                 <goals>
234                   <goal>check</goal>
235                 </goals>
236                 </execution>
237               </executions>
238             </plugin>
239             <plugin>
240                 <groupId>org.codehaus.mojo</groupId>
241                 <artifactId>build-helper-maven-plugin</artifactId>
242             </plugin>
243         </plugins>
244         <pluginManagement>
245             <plugins>
246                 <plugin>
247                     <groupId>org.apache.maven.plugins</groupId>
248                     <artifactId>maven-source-plugin</artifactId>
249                     <version>2.2.1</version>
250                 </plugin>
251                 <plugin>
252                     <groupId>org.apache.maven.plugins</groupId>
253                     <artifactId>maven-deploy-plugin</artifactId>
254                     <version>2.7</version>
255                 </plugin>
256                 <plugin>
257                     <groupId>org.apache.maven.plugins</groupId>
258                     <artifactId>maven-jar-plugin</artifactId>
259                     <version>2.4</version>
260                 </plugin>
261                 <plugin>
262                     <groupId>org.apache.maven.plugins</groupId>
263                     <artifactId>maven-release-plugin</artifactId>
264                     <version>${releaseplugin.version}</version>
265                 </plugin>
266                 <plugin>
267                     <groupId>org.opendaylight.yangtools</groupId>
268                     <artifactId>yang-maven-plugin</artifactId>
269                     <version>${yangtools.version}</version>
270                 </plugin>
271                 <plugin>
272                     <groupId>org.apache.felix</groupId>
273                     <artifactId>maven-bundle-plugin</artifactId>
274                     <version>${maven.bundle.version}</version>
275                 </plugin>
276                 <plugin>
277                     <groupId>org.codehaus.mojo</groupId>
278                     <artifactId>build-helper-maven-plugin</artifactId>
279                     <version>1.8</version>
280                     <executions>
281                         <execution>
282                             <id>add-source</id>
283                             <goals>
284                                 <goal>add-source</goal>
285                             </goals>
286                             <phase>generate-sources</phase>
287                             <configuration>
288                                 <sources>
289                                     <source>src/main/yang</source>
290                                     <source>${jmxGeneratorPath}</source>
291                                     <source>${salGeneratorPath}</source>
292                                 </sources>
293                             </configuration>
294                         </execution>
295                     </executions>
296                 </plugin>
297                 <!-- Ignore/Execute plugin execution -->
298                 <plugin>
299                   <groupId>org.eclipse.m2e</groupId>
300                   <artifactId>lifecycle-mapping</artifactId>
301                   <version>1.0.0</version>
302                   <configuration>
303                     <lifecycleMappingMetadata>
304                       <pluginExecutions>
305                         <pluginExecution>
306                           <pluginExecutionFilter>
307                             <groupId>org.codehaus.mojo</groupId>
308                             <artifactId>properties-maven-plugin</artifactId>
309                             <versionRange>[0.0,)</versionRange>
310                             <goals>
311                               <goal>set-system-properties</goal>
312                             </goals>
313                           </pluginExecutionFilter>
314                           <action>
315                             <ignore></ignore>
316                           </action>
317                         </pluginExecution>
318                         <pluginExecution>
319                           <pluginExecutionFilter>
320                             <groupId>org.codehaus.enunciate</groupId>
321                             <artifactId>maven-enunciate-plugin</artifactId>
322                             <versionRange>[0.0,)</versionRange>
323                             <goals>
324                               <goal>docs</goal>
325                             </goals>
326                           </pluginExecutionFilter>
327                           <action>
328                             <ignore></ignore>
329                           </action>
330                         </pluginExecution>
331                         <pluginExecution>
332                           <pluginExecutionFilter>
333                             <groupId>org.jacoco</groupId>
334                             <artifactId>jacoco-maven-plugin</artifactId>
335                             <versionRange>[0.0,)</versionRange>
336                             <goals>
337                               <goal>prepare-agent</goal>
338                               <goal>pre-test</goal>
339                               <goal>post-test</goal>
340                             </goals>
341                           </pluginExecutionFilter>
342                           <action>
343                             <ignore></ignore>
344                           </action>
345                         </pluginExecution>
346                         <pluginExecution>
347                           <pluginExecutionFilter>
348                             <groupId>org.ops4j.pax.exam</groupId>
349                             <artifactId>maven-paxexam-plugin</artifactId>
350                             <versionRange>[1.2.4,)</versionRange>
351                             <goals>
352                               <goal>generate-depends-file</goal>
353                             </goals>
354                           </pluginExecutionFilter>
355                           <action>
356                             <execute>
357                               <runOnIncremental>false</runOnIncremental>
358                             </execute>
359                           </action>
360                         </pluginExecution>
361                         <pluginExecution>
362                           <pluginExecutionFilter>
363                             <groupId>org.apache.maven.plugins</groupId>
364                             <artifactId>maven-checkstyle-plugin</artifactId>
365                             <versionRange>[2.0,)</versionRange>
366                             <goals>
367                               <goal>check</goal>
368                             </goals>
369                           </pluginExecutionFilter>
370                           <action>
371                             <ignore></ignore>
372                           </action>
373                         </pluginExecution>
374                         <pluginExecution>
375                           <pluginExecutionFilter>
376                             <groupId>org.opendaylight.yangtools</groupId>
377                             <artifactId>yang-maven-plugin</artifactId>
378                             <versionRange>[0.5,)</versionRange>
379                             <goals>
380                               <goal>generate-sources</goal>
381                             </goals>
382                           </pluginExecutionFilter>
383                           <action>
384                             <execute></execute>
385                           </action>
386                         </pluginExecution>
387                         <pluginExecution>
388                           <pluginExecutionFilter>
389                             <groupId>org.codehaus.groovy.maven</groupId>
390                             <artifactId>gmaven-plugin</artifactId>
391                             <versionRange>1.0</versionRange>
392                             <goals>
393                               <goal>execute</goal>
394                             </goals>
395                           </pluginExecutionFilter>
396                           <action>
397                             <ignore></ignore>
398                           </action>
399                         </pluginExecution>
400                         <pluginExecution>
401                           <pluginExecutionFilter>
402                             <groupId>org.apache.maven.plugins</groupId>
403                             <artifactId>maven-enforcer-plugin</artifactId>
404                             <versionRange>${enforcer.version}</versionRange>
405                             <goals>
406                               <goal>enforce</goal>
407                             </goals>
408                           </pluginExecutionFilter>
409                           <action>
410                             <ignore></ignore>
411                           </action>
412                         </pluginExecution>
413                       </pluginExecutions>
414                     </lifecycleMappingMetadata>
415                   </configuration>
416                 </plugin>
417             </plugins>
418         </pluginManagement>
419     </build>
420     <reporting>
421         <plugins>
422             <plugin>
423                 <groupId>org.codehaus.mojo</groupId>
424                 <artifactId>findbugs-maven-plugin</artifactId>
425                 <version>2.5.2</version>
426                 <configuration>
427                     <effort>Max</effort>
428                     <threshold>Low</threshold>
429                     <goal>site</goal>
430                 </configuration>
431             </plugin>
432             <plugin>
433               <artifactId>maven-jxr-plugin</artifactId>
434               <version>2.3</version>
435               <configuration>
436                 <aggregate>true</aggregate>
437                 <linkJavadoc>true</linkJavadoc>
438               </configuration>
439             </plugin>
440
441             <plugin>
442                 <groupId>org.codehaus.mojo</groupId>
443                 <artifactId>jdepend-maven-plugin</artifactId>
444                 <version>2.0-beta-2</version>
445             </plugin>
446         </plugins>
447     </reporting>
448     <profiles>
449         <profile>
450             <id>viewbuild</id>
451             <activation>
452                 <activeByDefault>true</activeByDefault>
453             </activation>
454             <properties>
455                 <build.suffix>${project.version}</build.suffix>
456             </properties>
457         </profile>
458         <profile>
459             <id>jenkins</id>
460             <activation>
461                 <property>
462                     <name>BUILDSUFFIX</name>
463                 </property>
464             </activation>
465             <properties>
466                 <build.suffix>${BUILDSUFFIX}</build.suffix>
467             </properties>
468         </profile>
469         <profile>
470             <id>repoBuild</id>
471             <build>
472                 <plugins>
473                     <plugin>
474                         <groupId>org.apache.maven.plugins</groupId>
475                         <artifactId>maven-javadoc-plugin</artifactId>
476                         <version>2.8.1</version>
477                         <executions>
478                             <execution>
479                                 <goals>
480                                     <goal>aggregate</goal>
481                                 </goals>
482                                 <phase>site</phase>
483                             </execution>
484                             <execution>
485                                 <id>attach-javadocs</id>
486                                 <goals>
487                                     <goal>jar</goal>
488                                 </goals>
489                             </execution>
490                         </executions>
491                     </plugin>
492                     <plugin>
493                         <groupId>org.apache.maven.plugins</groupId>
494                         <artifactId>maven-source-plugin</artifactId>
495                         <executions>
496                             <execution>
497                                 <id>attach-sources</id>
498                                 <phase>package</phase>
499                                 <goals>
500                                     <goal>jar-no-fork</goal>
501                                 </goals>
502                             </execution>
503                         </executions>
504                     </plugin>
505                 </plugins>
506             </build>
507         </profile>
508     </profiles>
509 </project>