blob: bced4a7c66182faf1464d84e22cc57c494036081 [file] [log] [blame]
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -07001<?xml version="1.0"?>
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 <prerequisites>
5 <maven>3.0.4</maven>
6 </prerequisites>
7 <groupId>net.onrc.onos</groupId>
Pankaj Berdebbd38612013-06-22 05:59:12 -07008 <artifactId>onos</artifactId>
Yuta HIGUCHI43653222014-06-17 18:23:32 -07009 <version>0.3.0-SNAPSHOT</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070010 <packaging>jar</packaging>
Yuta HIGUCHIf232d0f2014-04-16 09:23:02 -070011 <name>ONOS</name>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070012 <url>http://onlab.us/</url>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -070013 <licenses>
14 <license>
15 <name>Apache License, Version 2.0</name>
16 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
17 </license>
18 </licenses>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070019 <repositories>
20 <repository>
21 <id>central</id>
22 <name>Maven Central repository</name>
23 <url>http://repo1.maven.org/maven2</url>
24 </repository>
25 <repository>
26 <id>maven-restlet</id>
27 <name>Public online Restlet repository</name>
28 <url>http://maven.restlet.org</url>
29 </repository>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070030 </repositories>
31 <properties>
32 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
yoshi2fd4c7e2013-11-22 15:47:55 -080033 <powermock.version>1.5.1</powermock.version>
Pankaj Berde37d6d4d2013-12-03 10:12:56 -080034 <restlet.version>2.1.4</restlet.version>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -070035 <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -070036 <!-- Following 2 findbugs version needs to be updated in sync to match the
37 findbugs version used in findbugs-plugin -->
Yuta HIGUCHI0fe749a2014-05-27 09:35:16 -070038 <findbugs.version>2.0.3</findbugs.version>
39 <findbugs-plugin.version>2.5.4</findbugs-plugin.version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -070040 <findbugs.effort>Max</findbugs.effort>
41 <findbugs.excludeFilterFile>conf/findbugs/exclude.xml</findbugs.excludeFilterFile>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070042 <checkstyle-plugin.version>2.12</checkstyle-plugin.version>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -080043 <!-- To publish javadoc to github,
44 uncomment com.github.github site-maven-plugin and
45 see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425
46 <github.global.server>github</github.global.server>
47 -->
Yuta HIGUCHI33a04972014-06-03 13:00:15 -070048 <hazelcast.version>3.2.3</hazelcast.version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070049 </properties>
50 <build>
51 <plugins>
52 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -070053 <!-- Note: the checkstyle configuration is also in the reporting section -->
54 <groupId>org.apache.maven.plugins</groupId>
55 <artifactId>maven-checkstyle-plugin</artifactId>
56 <version>${checkstyle-plugin.version}</version>
57 <configuration>
58 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -070059 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Ray Milkeyb5716c52014-04-07 11:38:27 -070060 <failsOnError>false</failsOnError>
61 <logViolationsToConsole>true</logViolationsToConsole>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -070062 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -070063 </configuration>
64 <executions>
65 <execution>
66 <id>validate-checkstyle</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -070067 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -070068 <goals>
69 <goal>check</goal>
70 </goals>
71 </execution>
72 </executions>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -080073 </plugin>
74 <plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070075 <groupId>org.apache.maven.plugins</groupId>
76 <artifactId>maven-install-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070077 <version>2.5.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070078 <executions>
79 </executions>
80 </plugin>
81 <!-- guice maven plugin for dependency injection inside maven -->
82 <plugin>
83 <groupId>org.apache.camel</groupId>
84 <artifactId>guice-maven-plugin</artifactId>
85 <version>2.11.0</version>
86 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -070087 <plugin>
88 <artifactId>maven-clean-plugin</artifactId>
89 <version>2.5</version>
90 </plugin>
91 <plugin>
92 <artifactId>maven-deploy-plugin</artifactId>
93 <version>2.8</version>
94 </plugin>
95 <plugin>
96 <artifactId>maven-jar-plugin</artifactId>
97 <version>2.4</version>
98 </plugin>
99 <plugin>
100 <artifactId>maven-resources-plugin</artifactId>
101 <version>2.6</version>
102 </plugin>
103 <plugin>
104 <artifactId>maven-site-plugin</artifactId>
105 <version>3.3</version>
106 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700107 <plugin>
108 <groupId>org.apache.maven.plugins</groupId>
109 <artifactId>maven-compiler-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700110 <version>3.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700111 <configuration>
Yuta HIGUCHI641d9992013-12-18 16:40:45 -0800112 <source>1.7</source>
113 <target>1.7</target>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700114 <encoding>UTF-8</encoding>
Yuta HIGUCHIe636d472014-04-25 09:43:44 -0700115 <showDeprecation>true</showDeprecation>
116 <showWarnings>true</showWarnings>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700117 <compilerArgs>
118 <arg>-Xlint:all</arg>
119 <arg>-Xlint:-serial</arg>
Ray Milkeyff735142014-05-22 19:06:02 -0700120 <arg>-Werror</arg>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700121 </compilerArgs>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700122 </configuration>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700123 <executions>
124 </executions>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700125 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700126 <plugin>
127 <groupId>org.apache.maven.plugins</groupId>
128 <artifactId>maven-surefire-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700129 <version>2.16</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700130 <configuration>
HIGUCHI Yuta71c96dd2013-10-20 17:15:56 -0700131 <argLine>-XX:MaxPermSize=256m</argLine>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800132 <redirectTestOutputToFile>true</redirectTestOutputToFile>
Ray Milkey10643572014-06-10 15:17:39 -0700133 <excludedGroups>net.onrc.onos.core.util.IntegrationTest</excludedGroups>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700134 </configuration>
135 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700136 <!-- TODO exec:java no longer used remove at some point? -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700137 <plugin>
138 <groupId>org.codehaus.mojo</groupId>
139 <artifactId>exec-maven-plugin</artifactId>
140 <version>1.2.1</version>
141 <configuration>
Jonathan Hart51f6f5b2014-04-03 10:32:10 -0700142 <mainClass>net.onrc.onos.core.main.Main</mainClass>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700143 </configuration>
144 <executions>
145 </executions>
146 </plugin>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700147 <plugin>
148 <groupId>org.apache.maven.plugins</groupId>
149 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700150 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700151 <configuration>
152 <charset>UTF-8</charset>
153 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700154 <author>false</author>
155 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700156 </configuration>
157 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700158<!-- Remove me when we're sure that system test no longer need JaCoCo
timlindberg8b13e702013-07-17 14:45:50 -0700159 <plugin>
160 <groupId>org.jacoco</groupId>
161 <artifactId>jacoco-maven-plugin</artifactId>
162 <version>0.6.3.201306030806</version>
timlindberg8b13e702013-07-17 14:45:50 -0700163 <executions>
164 <execution>
165 <id>jacoco-initialize</id>
166 <goals>
167 <goal>prepare-agent</goal>
168 </goals>
169 </execution>
170 <execution>
171 <id>jacoco-site</id>
172 <phase>package</phase>
173 <goals>
174 <goal>report</goal>
175 </goals>
176 </execution>
177 </executions>
178 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700179-->
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700180 <!-- Uncomment when publishing javadoc to github in the future.
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700181 <plugin>
182 <groupId>com.github.github</groupId>
183 <artifactId>site-maven-plugin</artifactId>
184 <version>0.8</version>
185 <configuration>
186 <message>Creating site for ${project.version}</message>
187 <dryRun>true</dryRun>
188 <repositoryName>ONOS</repositoryName>
189 <repositoryOwner>OPENNETWORKINGLAB</repositoryOwner>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800190 <path>javadoc/${project.version}/</path>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700191 </configuration>
192 <executions>
193 <execution>
194 <goals>
195 <goal>site</goal>
196 </goals>
197 <phase>site</phase>
198 </execution>
199 </executions>
200 </plugin>
Pavlin Radoslavova463e462013-12-13 15:18:50 -0800201 -->
Jonathan Hart2c61a502013-10-18 18:12:26 -0700202 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700203 <artifactId>maven-assembly-plugin</artifactId>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700204 <version>2.4</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700205 <configuration>
206 <descriptorRefs>
207 <descriptorRef>jar-with-dependencies</descriptorRef>
208 </descriptorRefs>
209 </configuration>
Jonathan Hart2c61a502013-10-18 18:12:26 -0700210 </plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800211 <plugin>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700212 <!-- Using groovy script to set maven property ${hostname}.
213 This is a workaround to get hostname as a property inside pom file,
214 which current Maven does not provide. -->
215 <groupId>org.codehaus.gmaven</groupId>
216 <artifactId>groovy-maven-plugin</artifactId>
217 <version>2.0</version>
218 <executions>
219 <execution>
220 <phase>initialize</phase>
221 <goals>
222 <goal>execute</goal>
223 </goals>
224 <configuration>
225 <source>
226 project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
227 </source>
228 </configuration>
229 </execution>
230 </executions>
231 </plugin>
232 <plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800233 <groupId>org.apache.maven.plugins</groupId>
234 <artifactId>maven-dependency-plugin</artifactId>
235 <version>2.8</version>
236 <executions>
237 <execution>
238 <id>build-classpath</id>
239 <phase>generate-sources</phase>
240 <goals>
241 <goal>build-classpath</goal>
242 </goals>
243 <configuration>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700244 <outputFile>${project.basedir}/.javacp.${hostname}</outputFile>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800245 </configuration>
246 </execution>
247 </executions>
248 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700249 <plugin>
250 <groupId>org.codehaus.mojo</groupId>
251 <artifactId>cobertura-maven-plugin</artifactId>
252 <version>${cobertura-maven-plugin.version}</version>
253 <configuration>
254 <instrumentation>
255 <ignores>
256 <ignore>org.slf4j.*</ignore>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700257 </ignores>
258 <excludes>
Yuta HIGUCHIee818992014-06-18 10:10:10 -0700259 <exclude>edu/stanford/ramcloud/**/*.class</exclude>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700260 <exclude>org/openflow/**/*.class</exclude>
261 <exclude>net/floodlightcontroller/**/web/**/*.class</exclude>
262 </excludes>
263 </instrumentation>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700264 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700265 </configuration>
266 <executions>
267 <execution>
268 <goals>
269 <goal>clean</goal>
270 </goals>
271 </execution>
272 </executions>
273 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700274 <!-- Note: the findbugs configuration is also in the reporting section -->
275 <plugin>
276 <groupId>org.codehaus.mojo</groupId>
277 <artifactId>findbugs-maven-plugin</artifactId>
278 <version>${findbugs-plugin.version}</version>
279 <configuration>
280 <effort>${findbugs.effort}</effort>
281 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
282 </configuration>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700283 <executions>
284 <execution>
285 <id>validate-findbugs</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700286 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700287 <goals>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700288 <goal>check</goal>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700289 </goals>
290 </execution>
291 </executions>
Ray Milkey70d91cc2014-03-18 15:22:27 -0700292 </plugin>
293 <plugin>
294 <groupId>org.apache.maven.plugins</groupId>
295 <artifactId>maven-pmd-plugin</artifactId>
296 <version>3.1</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700297 <configuration>
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700298 <!--
299 Note: Exclusion definition exists in multiple places.
300 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700301 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700302 - maven-pmd-plugin configuration in pom.xml
303 (under build and reporting)
304 -->
Ray Milkeyb5716c52014-04-07 11:38:27 -0700305 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700306 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700307 <exclude>**/edu/stanford/**</exclude>
308 <exclude>**/net/floodlightcontroller/**</exclude>
309 <exclude>**/org/openflow/**</exclude>
310 </excludes>
311 <rulesets>
312 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
313 </rulesets>
314 </configuration>
315 <executions>
316 <execution>
317 <id>validate-pmd</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700318 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700319 <goals>
320 <!-- Uncomment this goal to make the build fail on pmd errors -->
321 <!--<goal>check</goal>-->
322 </goals>
323 </execution>
324 </executions>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700325 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700326 </plugins>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800327 <pluginManagement>
328 <plugins>
329 <!--This plugin's configuration is used to store Eclipse m2e settings
330 only. It has no influence on the Maven build itself. -->
331 <plugin>
332 <groupId>org.eclipse.m2e</groupId>
333 <artifactId>lifecycle-mapping</artifactId>
334 <version>1.0.0</version>
335 <configuration>
336 <lifecycleMappingMetadata>
337 <pluginExecutions>
338 <pluginExecution>
339 <pluginExecutionFilter>
340 <groupId>
341 org.apache.maven.plugins
342 </groupId>
343 <artifactId>
344 maven-dependency-plugin
345 </artifactId>
346 <versionRange>[2.8,)</versionRange>
347 <goals>
348 <goal>build-classpath</goal>
349 </goals>
350 </pluginExecutionFilter>
351 <action>
352 <ignore></ignore>
353 </action>
354 </pluginExecution>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700355 <pluginExecution>
356 <pluginExecutionFilter>
357 <groupId>org.codehaus.gmaven</groupId>
358 <artifactId>groovy-maven-plugin</artifactId>
359 <versionRange>[2.0,)</versionRange>
360 <goals>
361 <goal>execute</goal>
362 </goals>
363 </pluginExecutionFilter>
364 <action>
365 <ignore></ignore>
366 </action>
367 </pluginExecution>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800368 </pluginExecutions>
369 </lifecycleMappingMetadata>
370 </configuration>
371 </plugin>
372 </plugins>
373 </pluginManagement>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700374 </build>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700375 <!-- for getting visualization reporting -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700376 <reporting>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700377 <excludeDefaults>true</excludeDefaults>
378 <outputDirectory>${project.build.directory}/site</outputDirectory>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700379 <plugins>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700380 <plugin>
381 <groupId>org.apache.maven.plugins</groupId>
382 <artifactId>maven-project-info-reports-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700383 <version>2.7</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700384 <configuration>
385 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
386 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
387 </configuration>
388 <reportSets>
389 <reportSet>
390 <reports>
391 <report>dependencies</report>
392 <report>scm</report>
393 </reports>
394 </reportSet>
395 </reportSets>
396 </plugin>
397 <plugin>
398 <groupId>org.apache.maven.plugins</groupId>
399 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700400 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700401 <configuration>
402 <charset>UTF-8</charset>
403 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700404 <author>false</author>
405 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700406 </configuration>
407 </plugin>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800408 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700409 <!-- Note: the checkstyle configuration is also in the build section -->
410 <groupId>org.apache.maven.plugins</groupId>
411 <artifactId>maven-checkstyle-plugin</artifactId>
412 <version>${checkstyle-plugin.version}</version>
413 <configuration>
414 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700415 <!--
416 Note: Exclusion definition exists in multiple places.
417 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
418 - maven-checkstyle-plugin configuration in pom.xml
419 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700420 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700421 -->
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -0700422 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -0700423 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700424 </configuration>
425 <reportSets>
426 <reportSet>
427 <reports>
428 <report>checkstyle</report>
429 </reports>
430 </reportSet>
431 </reportSets>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800432 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700433 <!-- Note: the findbugs configuration is also in the build section -->
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800434 <plugin>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700435 <groupId>org.codehaus.mojo</groupId>
436 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700437 <version>${findbugs-plugin.version}</version>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700438 <configuration>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700439 <effort>${findbugs.effort}</effort>
440 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700441 <reportPlugins>
442 <plugin>
443 <groupId>org.codehaus.mojo</groupId>
444 <artifactId>findbugs-maven-plugin</artifactId>
445 </plugin>
446 </reportPlugins>
447 </configuration>
448 </plugin>
449 <plugin>
450 <groupId>org.apache.maven.plugins</groupId>
451 <artifactId>maven-pmd-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700452 <version>3.1</version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700453 <configuration>
454 <!--
455 Note: Exclusion definition exists in multiple places.
456 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700457 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700458 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700459 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700460 -->
461 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700462 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700463 <exclude>**/edu/stanford/**</exclude>
464 <exclude>**/net/floodlightcontroller/**</exclude>
465 <exclude>**/org/openflow/**</exclude>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700466 </excludes>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700467 <rulesets>
468 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
469 </rulesets>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700470 </configuration>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700471 </plugin>
472 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700473 <groupId>org.apache.maven.plugins</groupId>
474 <artifactId>maven-jxr-plugin</artifactId>
475 <version>2.4</version>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800476 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700477 <plugin>
478 <groupId>org.codehaus.mojo</groupId>
479 <artifactId>cobertura-maven-plugin</artifactId>
480 <version>${cobertura-maven-plugin.version}</version>
481 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700482 </plugins>
483 </reporting>
484 <dependencies>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800485 <!-- ONOS's direct dependencies -->
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700486 <dependency>
487 <groupId>com.esotericsoftware.kryo</groupId>
488 <artifactId>kryo</artifactId>
Yuta HIGUCHI6a518df2014-05-07 20:40:23 -0700489 <version>2.24.0</version>
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700490 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700491 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800492 <groupId>com.google.protobuf</groupId>
493 <artifactId>protobuf-java</artifactId>
494 <version>2.5.0</version>
yoshi28bac132014-01-22 11:00:17 -0800495 </dependency>
496 <dependency>
yoshi2fd4c7e2013-11-22 15:47:55 -0800497 <groupId>com.hazelcast</groupId>
498 <artifactId>hazelcast</artifactId>
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700499 <version>${hazelcast.version}</version>
500 </dependency>
501 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700502 <!-- Required for backend datastore as Hazelcast -->
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700503 <groupId>com.hazelcast</groupId>
504 <artifactId>hazelcast-client</artifactId>
505 <version>${hazelcast.version}</version>
yoshi2fd4c7e2013-11-22 15:47:55 -0800506 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700507 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700508 <groupId>net.sf.json-lib</groupId>
509 <artifactId>json-lib</artifactId>
510 <version>2.4</version>
511 <classifier>jdk15</classifier>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700512 </dependency>
513 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700514 <groupId>org.restlet.jse</groupId>
515 <artifactId>org.restlet</artifactId>
516 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700517 </dependency>
518 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700519 <groupId>org.restlet.jse</groupId>
520 <artifactId>org.restlet.ext.slf4j</artifactId>
521 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700522 </dependency>
523 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700524 <groupId>org.restlet.jse</groupId>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700525 <artifactId>org.restlet.ext.json</artifactId>
526 <version>${restlet.version}</version>
527 </dependency>
528 <dependency>
529 <groupId>org.restlet.jse</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700530 <artifactId>org.restlet.ext.jackson</artifactId>
531 <version>${restlet.version}</version>
532 </dependency>
533 <dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700534 <groupId>org.codehaus.jackson</groupId>
535 <artifactId>jackson-core-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700536 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700537 </dependency>
538 <dependency>
539 <groupId>org.codehaus.jackson</groupId>
540 <artifactId>jackson-mapper-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700541 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700542 </dependency>
543 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700544 <groupId>org.restlet.jse</groupId>
545 <artifactId>org.restlet.ext.simple</artifactId>
546 <version>${restlet.version}</version>
547 </dependency>
548 <dependency>
549 <groupId>org.simpleframework</groupId>
550 <artifactId>simple</artifactId>
551 <version>4.1.21</version>
552 </dependency>
553 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700554 <groupId>ch.qos.logback</groupId>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700555 <artifactId>logback-classic</artifactId>
Pankaj Berde98478422013-09-10 13:53:26 -0700556 <version>1.0.13</version>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700557 <scope>runtime</scope>
558 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800559 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700560 <groupId>org.slf4j</groupId>
561 <artifactId>slf4j-api</artifactId>
562 <version>1.7.5</version>
563 </dependency>
564 <dependency>
565 <groupId>com.google.guava</groupId>
566 <artifactId>guava</artifactId>
567 <version>16.0.1</version>
568 </dependency>
569 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800570 <groupId>commons-configuration</groupId>
571 <artifactId>commons-configuration</artifactId>
572 <version>1.6</version>
573 </dependency>
574 <dependency>
Yuta HIGUCHI850b0042014-04-16 15:10:31 -0700575 <groupId>commons-lang</groupId>
576 <artifactId>commons-lang</artifactId>
577 <version>2.6</version>
578 </dependency>
579 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800580 <groupId>commons-httpclient</groupId>
581 <artifactId>commons-httpclient</artifactId>
582 <version>3.1</version>
583 </dependency>
584 <dependency>
Yuta HIGUCHId395b932014-05-01 15:15:20 -0700585 <groupId>commons-collections</groupId>
586 <artifactId>commons-collections</artifactId>
587 <version>3.2.1</version>
588 </dependency>
589 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800590 <groupId>org.apache.zookeeper</groupId>
591 <artifactId>zookeeper</artifactId>
Yuta HIGUCHIfb1905a2014-06-09 14:07:34 -0700592 <version>3.4.6</version>
Yuta HIGUCHI6d935e52014-03-28 10:34:26 -0700593 <scope>runtime</scope>
Yuta HIGUCHIffdb9132014-06-23 09:30:38 -0700594 <!-- Excluding log4j. ONOS uses logback-classic for SLF4J. -->
595 <exclusions>
596 <exclusion>
597 <artifactId>slf4j-log4j12</artifactId>
598 <groupId>org.slf4j</groupId>
599 </exclusion>
600 <exclusion>
601 <artifactId>log4j</artifactId>
602 <groupId>log4j</groupId>
603 </exclusion>
604 </exclusions>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800605 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800606 <dependency>
Jonathan Hartf6978ce2014-06-23 11:20:04 -0700607 <groupId>com.googlecode.concurrent-trees</groupId>
608 <artifactId>concurrent-trees</artifactId>
609 <version>2.4.0</version>
610 </dependency>
611 <dependency>
Jonathan Hart116b1fe2014-03-14 18:53:47 -0700612 <groupId>org.apache.curator</groupId>
613 <artifactId>curator-framework</artifactId>
614 <version>2.4.1</version>
615 </dependency>
616 <dependency>
617 <groupId>org.apache.curator</groupId>
618 <artifactId>curator-client</artifactId>
619 <version>2.4.1</version>
620 </dependency>
621 <dependency>
622 <groupId>org.apache.curator</groupId>
623 <artifactId>curator-recipes</artifactId>
624 <version>2.4.1</version>
625 </dependency>
626 <dependency>
627 <groupId>org.apache.curator</groupId>
628 <artifactId>curator-x-discovery</artifactId>
629 <version>2.4.1</version>
630 </dependency>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700631 <dependency>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700632 <!-- findbugs suppression annotation -->
633 <groupId>com.google.code.findbugs</groupId>
634 <artifactId>findbugs</artifactId>
635 <version>${findbugs.version}</version>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700636 </dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700637 <!-- Floodlight's dependencies -->
638 <dependency>
639 <groupId>args4j</groupId>
640 <artifactId>args4j</artifactId>
641 <version>2.0.25</version>
642 </dependency>
643 <dependency>
644 <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
645 <artifactId>concurrentlinkedhashmap-lru</artifactId>
646 <version>1.4</version>
647 </dependency>
648 <dependency>
649 <!-- dependency to old version of netty? -->
650 <groupId>org.jboss.netty</groupId>
651 <artifactId>netty</artifactId>
652 <version>3.2.7.Final</version>
653 </dependency>
654 <!-- Dependency for libraries used for testing -->
655 <dependency>
656 <groupId>junit</groupId>
657 <artifactId>junit</artifactId>
658 <version>4.11</version>
659 <scope>test</scope>
660 </dependency>
661 <dependency>
662 <groupId>org.hamcrest</groupId>
663 <artifactId>hamcrest-core</artifactId>
664 <version>1.3</version>
665 <scope>test</scope>
666 </dependency>
667 <dependency>
668 <groupId>org.hamcrest</groupId>
669 <artifactId>hamcrest-library</artifactId>
670 <version>1.3</version>
671 <scope>test</scope>
672 </dependency>
673 <dependency>
674 <groupId>org.easymock</groupId>
675 <artifactId>easymock</artifactId>
676 <version>3.1</version>
677 <scope>test</scope>
678 </dependency>
679 <dependency>
680 <groupId>org.powermock</groupId>
681 <artifactId>powermock-module-junit4</artifactId>
682 <version>${powermock.version}</version>
683 <scope>test</scope>
684 </dependency>
685 <dependency>
686 <groupId>org.powermock</groupId>
687 <artifactId>powermock-api-easymock</artifactId>
688 <version>${powermock.version}</version>
689 <scope>test</scope>
690 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700691 </dependencies>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700692 <profiles>
693 <!-- Jenkins by default defines a property BUILD_NUMBER which is used to
694 enable the profile. -->
695 <profile>
696 <id>jenkins</id>
697 <activation>
698 <property>
699 <name>env.BUILD_NUMBER</name>
700 </property>
701 </activation>
702 <build>
703 <plugins>
704 <plugin>
705 <groupId>org.codehaus.mojo</groupId>
706 <artifactId>cobertura-maven-plugin</artifactId>
707 <version>${cobertura-maven-plugin.version}</version>
708 <configuration>
709 <formats>
710 <format>xml</format>
711 </formats>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700712 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700713 </configuration>
714 <executions>
715 <execution>
716 <phase>package</phase>
717 <goals>
718 <goal>cobertura</goal>
719 </goals>
720 </execution>
721 </executions>
722 </plugin>
723 </plugins>
724 </build>
725 </profile>
726 </profiles>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700727</project>