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