blob: 80dbf31c143163a6fdf471c618ef4cb0b3546ea8 [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 HIGUCHI6a643132014-03-18 22:39:27 -070048 <hazelcast.version>3.0.2</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>
87 <!-- compile -->
88 <plugin>
89 <groupId>org.apache.maven.plugins</groupId>
90 <artifactId>maven-compiler-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070091 <version>3.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070092 <configuration>
Yuta HIGUCHI641d9992013-12-18 16:40:45 -080093 <source>1.7</source>
94 <target>1.7</target>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070095 <encoding>UTF-8</encoding>
Yuta HIGUCHIe636d472014-04-25 09:43:44 -070096 <showDeprecation>true</showDeprecation>
97 <showWarnings>true</showWarnings>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -070098 <compilerArgs>
99 <arg>-Xlint:all</arg>
100 <arg>-Xlint:-serial</arg>
Ray Milkeyff735142014-05-22 19:06:02 -0700101 <arg>-Werror</arg>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700102 </compilerArgs>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700103 </configuration>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700104 <executions>
105 </executions>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700106 </plugin>
107 <!-- test -->
108 <plugin>
109 <groupId>org.apache.maven.plugins</groupId>
110 <artifactId>maven-surefire-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700111 <version>2.16</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700112 <configuration>
HIGUCHI Yuta71c96dd2013-10-20 17:15:56 -0700113 <argLine>-XX:MaxPermSize=256m</argLine>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800114 <redirectTestOutputToFile>true</redirectTestOutputToFile>
Ray Milkey10643572014-06-10 15:17:39 -0700115 <excludedGroups>net.onrc.onos.core.util.IntegrationTest</excludedGroups>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700116 </configuration>
117 </plugin>
118 <!-- exec:java -->
119 <plugin>
120 <groupId>org.codehaus.mojo</groupId>
121 <artifactId>exec-maven-plugin</artifactId>
122 <version>1.2.1</version>
123 <configuration>
Jonathan Hart51f6f5b2014-04-03 10:32:10 -0700124 <mainClass>net.onrc.onos.core.main.Main</mainClass>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700125 </configuration>
126 <executions>
127 </executions>
128 </plugin>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700129 <!--
130 <plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700131 <groupId>org.codehaus.mojo</groupId>
132 <artifactId>build-helper-maven-plugin</artifactId>
133 <version>1.7</version>
134 <executions>
135 <execution>
136 <id>add-source</id>
137 <phase>generate-sources</phase>
138 <goals>
139 <goal>add-source</goal>
140 </goals>
141 <configuration>
142 <sources>
143 <source>lib/gen-java</source>
144 </sources>
145 </configuration>
146 </execution>
147 </executions>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700148 </plugin>
149 -->
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700150 <plugin>
151 <groupId>org.apache.maven.plugins</groupId>
152 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700153 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700154 <configuration>
155 <charset>UTF-8</charset>
156 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700157 <author>false</author>
158 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700159 </configuration>
160 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700161<!-- Remove me when we're sure that system test no longer need JaCoCo
timlindberg8b13e702013-07-17 14:45:50 -0700162 <plugin>
163 <groupId>org.jacoco</groupId>
164 <artifactId>jacoco-maven-plugin</artifactId>
165 <version>0.6.3.201306030806</version>
timlindberg8b13e702013-07-17 14:45:50 -0700166 <executions>
167 <execution>
168 <id>jacoco-initialize</id>
169 <goals>
170 <goal>prepare-agent</goal>
171 </goals>
172 </execution>
173 <execution>
174 <id>jacoco-site</id>
175 <phase>package</phase>
176 <goals>
177 <goal>report</goal>
178 </goals>
179 </execution>
180 </executions>
181 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700182-->
Pavlin Radoslavova463e462013-12-13 15:18:50 -0800183 <!--
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700184 <plugin>
185 <groupId>com.github.github</groupId>
186 <artifactId>site-maven-plugin</artifactId>
187 <version>0.8</version>
188 <configuration>
189 <message>Creating site for ${project.version}</message>
190 <dryRun>true</dryRun>
191 <repositoryName>ONOS</repositoryName>
192 <repositoryOwner>OPENNETWORKINGLAB</repositoryOwner>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800193 <path>javadoc/${project.version}/</path>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700194 </configuration>
195 <executions>
196 <execution>
197 <goals>
198 <goal>site</goal>
199 </goals>
200 <phase>site</phase>
201 </execution>
202 </executions>
203 </plugin>
Pavlin Radoslavova463e462013-12-13 15:18:50 -0800204 -->
Jonathan Hart2c61a502013-10-18 18:12:26 -0700205 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700206 <artifactId>maven-assembly-plugin</artifactId>
207 <configuration>
208 <descriptorRefs>
209 <descriptorRef>jar-with-dependencies</descriptorRef>
210 </descriptorRefs>
211 </configuration>
Jonathan Hart2c61a502013-10-18 18:12:26 -0700212 </plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800213 <plugin>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700214 <!-- Using groovy script to set maven property ${hostname}.
215 This is a workaround to get hostname as a property inside pom file,
216 which current Maven does not provide. -->
217 <groupId>org.codehaus.gmaven</groupId>
218 <artifactId>groovy-maven-plugin</artifactId>
219 <version>2.0</version>
220 <executions>
221 <execution>
222 <phase>initialize</phase>
223 <goals>
224 <goal>execute</goal>
225 </goals>
226 <configuration>
227 <source>
228 project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
229 </source>
230 </configuration>
231 </execution>
232 </executions>
233 </plugin>
234 <plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800235 <groupId>org.apache.maven.plugins</groupId>
236 <artifactId>maven-dependency-plugin</artifactId>
237 <version>2.8</version>
238 <executions>
239 <execution>
240 <id>build-classpath</id>
241 <phase>generate-sources</phase>
242 <goals>
243 <goal>build-classpath</goal>
244 </goals>
245 <configuration>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700246 <outputFile>${project.basedir}/.javacp.${hostname}</outputFile>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800247 </configuration>
248 </execution>
249 </executions>
250 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700251 <plugin>
252 <groupId>org.codehaus.mojo</groupId>
253 <artifactId>cobertura-maven-plugin</artifactId>
254 <version>${cobertura-maven-plugin.version}</version>
255 <configuration>
256 <instrumentation>
257 <ignores>
258 <ignore>org.slf4j.*</ignore>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700259 </ignores>
260 <excludes>
261 <exclude>org/openflow/**/*.class</exclude>
262 <exclude>net/floodlightcontroller/**/web/**/*.class</exclude>
263 </excludes>
264 </instrumentation>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700265 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700266 </configuration>
267 <executions>
268 <execution>
269 <goals>
270 <goal>clean</goal>
271 </goals>
272 </execution>
273 </executions>
274 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700275 <!-- Note: the findbugs configuration is also in the reporting section -->
276 <plugin>
277 <groupId>org.codehaus.mojo</groupId>
278 <artifactId>findbugs-maven-plugin</artifactId>
279 <version>${findbugs-plugin.version}</version>
280 <configuration>
281 <effort>${findbugs.effort}</effort>
282 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
283 </configuration>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700284 <executions>
285 <execution>
286 <id>validate-findbugs</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700287 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700288 <goals>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700289 <goal>check</goal>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700290 </goals>
291 </execution>
292 </executions>
Ray Milkey70d91cc2014-03-18 15:22:27 -0700293 </plugin>
294 <plugin>
295 <groupId>org.apache.maven.plugins</groupId>
296 <artifactId>maven-pmd-plugin</artifactId>
297 <version>3.1</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700298 <configuration>
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700299 <!--
300 Note: Exclusion definition exists in multiple places.
301 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700302 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700303 - maven-pmd-plugin configuration in pom.xml
304 (under build and reporting)
305 -->
Ray Milkeyb5716c52014-04-07 11:38:27 -0700306 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700307 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700308 <exclude>**/edu/stanford/**</exclude>
309 <exclude>**/net/floodlightcontroller/**</exclude>
310 <exclude>**/org/openflow/**</exclude>
311 </excludes>
312 <rulesets>
313 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
314 </rulesets>
315 </configuration>
316 <executions>
317 <execution>
318 <id>validate-pmd</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700319 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700320 <goals>
321 <!-- Uncomment this goal to make the build fail on pmd errors -->
322 <!--<goal>check</goal>-->
323 </goals>
324 </execution>
325 </executions>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700326 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700327 </plugins>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800328 <pluginManagement>
329 <plugins>
330 <!--This plugin's configuration is used to store Eclipse m2e settings
331 only. It has no influence on the Maven build itself. -->
332 <plugin>
333 <groupId>org.eclipse.m2e</groupId>
334 <artifactId>lifecycle-mapping</artifactId>
335 <version>1.0.0</version>
336 <configuration>
337 <lifecycleMappingMetadata>
338 <pluginExecutions>
339 <pluginExecution>
340 <pluginExecutionFilter>
341 <groupId>
342 org.apache.maven.plugins
343 </groupId>
344 <artifactId>
345 maven-dependency-plugin
346 </artifactId>
347 <versionRange>[2.8,)</versionRange>
348 <goals>
349 <goal>build-classpath</goal>
350 </goals>
351 </pluginExecutionFilter>
352 <action>
353 <ignore></ignore>
354 </action>
355 </pluginExecution>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700356 <pluginExecution>
357 <pluginExecutionFilter>
358 <groupId>org.codehaus.gmaven</groupId>
359 <artifactId>groovy-maven-plugin</artifactId>
360 <versionRange>[2.0,)</versionRange>
361 <goals>
362 <goal>execute</goal>
363 </goals>
364 </pluginExecutionFilter>
365 <action>
366 <ignore></ignore>
367 </action>
368 </pluginExecution>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800369 </pluginExecutions>
370 </lifecycleMappingMetadata>
371 </configuration>
372 </plugin>
373 </plugins>
374 </pluginManagement>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700375 </build>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700376 <!-- for getting visualization reporting -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700377 <reporting>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700378 <excludeDefaults>true</excludeDefaults>
379 <outputDirectory>${project.build.directory}/site</outputDirectory>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700380 <plugins>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700381 <!--
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700382 <plugin>
383 <groupId>org.apache.camel</groupId>
384 <artifactId>guice-maven-plugin</artifactId>
385 <version>2.11.0</version>
386 </plugin>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700387 -->
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700388 <plugin>
389 <groupId>org.apache.maven.plugins</groupId>
390 <artifactId>maven-project-info-reports-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700391 <version>2.7</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700392 <configuration>
393 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
394 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
395 </configuration>
396 <reportSets>
397 <reportSet>
398 <reports>
399 <report>dependencies</report>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700400 <!--report>maven-emma-plugin</report-->
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700401 <report>scm</report>
402 </reports>
403 </reportSet>
404 </reportSets>
405 </plugin>
406 <plugin>
407 <groupId>org.apache.maven.plugins</groupId>
408 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700409 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700410 <configuration>
411 <charset>UTF-8</charset>
412 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700413 <author>false</author>
414 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700415 </configuration>
416 </plugin>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800417 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700418 <!-- Note: the checkstyle configuration is also in the build section -->
419 <groupId>org.apache.maven.plugins</groupId>
420 <artifactId>maven-checkstyle-plugin</artifactId>
421 <version>${checkstyle-plugin.version}</version>
422 <configuration>
423 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700424 <!--
425 Note: Exclusion definition exists in multiple places.
426 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
427 - maven-checkstyle-plugin configuration in pom.xml
428 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700429 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700430 -->
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -0700431 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -0700432 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700433 </configuration>
434 <reportSets>
435 <reportSet>
436 <reports>
437 <report>checkstyle</report>
438 </reports>
439 </reportSet>
440 </reportSets>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800441 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700442 <!-- Note: the findbugs configuration is also in the build section -->
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800443 <plugin>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700444 <groupId>org.codehaus.mojo</groupId>
445 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700446 <version>${findbugs-plugin.version}</version>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700447 <configuration>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700448 <effort>${findbugs.effort}</effort>
449 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700450 <reportPlugins>
451 <plugin>
452 <groupId>org.codehaus.mojo</groupId>
453 <artifactId>findbugs-maven-plugin</artifactId>
454 </plugin>
455 </reportPlugins>
456 </configuration>
457 </plugin>
458 <plugin>
459 <groupId>org.apache.maven.plugins</groupId>
460 <artifactId>maven-pmd-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700461 <version>3.1</version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700462 <configuration>
463 <!--
464 Note: Exclusion definition exists in multiple places.
465 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700466 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700467 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700468 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700469 -->
470 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700471 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700472 <exclude>**/edu/stanford/**</exclude>
473 <exclude>**/net/floodlightcontroller/**</exclude>
474 <exclude>**/org/openflow/**</exclude>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700475 </excludes>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700476 <rulesets>
477 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
478 </rulesets>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700479 </configuration>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700480 </plugin>
481 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700482 <groupId>org.apache.maven.plugins</groupId>
483 <artifactId>maven-jxr-plugin</artifactId>
484 <version>2.4</version>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800485 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700486 <plugin>
487 <groupId>org.codehaus.mojo</groupId>
488 <artifactId>cobertura-maven-plugin</artifactId>
489 <version>${cobertura-maven-plugin.version}</version>
490 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700491 </plugins>
492 </reporting>
493 <dependencies>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800494 <!-- ONOS's direct dependencies -->
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700495 <dependency>
496 <groupId>com.esotericsoftware.kryo</groupId>
497 <artifactId>kryo</artifactId>
Yuta HIGUCHI6a518df2014-05-07 20:40:23 -0700498 <version>2.24.0</version>
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700499 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700500 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800501 <groupId>com.google.protobuf</groupId>
502 <artifactId>protobuf-java</artifactId>
503 <version>2.5.0</version>
yoshi28bac132014-01-22 11:00:17 -0800504 </dependency>
505 <dependency>
yoshi2fd4c7e2013-11-22 15:47:55 -0800506 <groupId>com.hazelcast</groupId>
507 <artifactId>hazelcast</artifactId>
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700508 <version>${hazelcast.version}</version>
509 </dependency>
510 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700511 <!-- Required for backend datastore as Hazelcast -->
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700512 <groupId>com.hazelcast</groupId>
513 <artifactId>hazelcast-client</artifactId>
514 <version>${hazelcast.version}</version>
yoshi2fd4c7e2013-11-22 15:47:55 -0800515 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700516 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700517 <groupId>net.sf.json-lib</groupId>
518 <artifactId>json-lib</artifactId>
519 <version>2.4</version>
520 <classifier>jdk15</classifier>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700521 </dependency>
522 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700523 <groupId>org.restlet.jse</groupId>
524 <artifactId>org.restlet</artifactId>
525 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700526 </dependency>
527 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700528 <groupId>org.restlet.jse</groupId>
529 <artifactId>org.restlet.ext.slf4j</artifactId>
530 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700531 </dependency>
532 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700533 <groupId>org.restlet.jse</groupId>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700534 <artifactId>org.restlet.ext.json</artifactId>
535 <version>${restlet.version}</version>
536 </dependency>
537 <dependency>
538 <groupId>org.restlet.jse</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700539 <artifactId>org.restlet.ext.jackson</artifactId>
540 <version>${restlet.version}</version>
541 </dependency>
542 <dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700543 <groupId>org.codehaus.jackson</groupId>
544 <artifactId>jackson-core-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700545 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700546 </dependency>
547 <dependency>
548 <groupId>org.codehaus.jackson</groupId>
549 <artifactId>jackson-mapper-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700550 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700551 </dependency>
552 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700553 <groupId>org.restlet.jse</groupId>
554 <artifactId>org.restlet.ext.simple</artifactId>
555 <version>${restlet.version}</version>
556 </dependency>
557 <dependency>
558 <groupId>org.simpleframework</groupId>
559 <artifactId>simple</artifactId>
560 <version>4.1.21</version>
561 </dependency>
562 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700563 <groupId>ch.qos.logback</groupId>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700564 <artifactId>logback-classic</artifactId>
Pankaj Berde98478422013-09-10 13:53:26 -0700565 <version>1.0.13</version>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700566 <scope>runtime</scope>
567 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800568 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700569 <groupId>org.slf4j</groupId>
570 <artifactId>slf4j-api</artifactId>
571 <version>1.7.5</version>
572 </dependency>
573 <dependency>
574 <groupId>com.google.guava</groupId>
575 <artifactId>guava</artifactId>
576 <version>16.0.1</version>
577 </dependency>
578 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800579 <groupId>commons-configuration</groupId>
580 <artifactId>commons-configuration</artifactId>
581 <version>1.6</version>
582 </dependency>
583 <dependency>
Yuta HIGUCHI850b0042014-04-16 15:10:31 -0700584 <groupId>commons-lang</groupId>
585 <artifactId>commons-lang</artifactId>
586 <version>2.6</version>
587 </dependency>
588 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800589 <groupId>commons-httpclient</groupId>
590 <artifactId>commons-httpclient</artifactId>
591 <version>3.1</version>
592 </dependency>
593 <dependency>
Yuta HIGUCHId395b932014-05-01 15:15:20 -0700594 <groupId>commons-collections</groupId>
595 <artifactId>commons-collections</artifactId>
596 <version>3.2.1</version>
597 </dependency>
598 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800599 <groupId>org.apache.zookeeper</groupId>
600 <artifactId>zookeeper</artifactId>
Yuta HIGUCHIfb1905a2014-06-09 14:07:34 -0700601 <version>3.4.6</version>
Yuta HIGUCHI6d935e52014-03-28 10:34:26 -0700602 <scope>runtime</scope>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800603 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800604 <dependency>
Jonathan Hart116b1fe2014-03-14 18:53:47 -0700605 <groupId>org.apache.curator</groupId>
606 <artifactId>curator-framework</artifactId>
607 <version>2.4.1</version>
608 </dependency>
609 <dependency>
610 <groupId>org.apache.curator</groupId>
611 <artifactId>curator-client</artifactId>
612 <version>2.4.1</version>
613 </dependency>
614 <dependency>
615 <groupId>org.apache.curator</groupId>
616 <artifactId>curator-recipes</artifactId>
617 <version>2.4.1</version>
618 </dependency>
619 <dependency>
620 <groupId>org.apache.curator</groupId>
621 <artifactId>curator-x-discovery</artifactId>
622 <version>2.4.1</version>
623 </dependency>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700624 <dependency>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700625 <!-- findbugs suppression annotation -->
626 <groupId>com.google.code.findbugs</groupId>
627 <artifactId>findbugs</artifactId>
628 <version>${findbugs.version}</version>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700629 </dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700630 <!-- Floodlight's dependencies -->
631 <dependency>
632 <groupId>args4j</groupId>
633 <artifactId>args4j</artifactId>
634 <version>2.0.25</version>
635 </dependency>
636 <dependency>
637 <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
638 <artifactId>concurrentlinkedhashmap-lru</artifactId>
639 <version>1.4</version>
640 </dependency>
641 <dependency>
642 <!-- dependency to old version of netty? -->
643 <groupId>org.jboss.netty</groupId>
644 <artifactId>netty</artifactId>
645 <version>3.2.7.Final</version>
646 </dependency>
647 <!-- Dependency for libraries used for testing -->
648 <dependency>
649 <groupId>junit</groupId>
650 <artifactId>junit</artifactId>
651 <version>4.11</version>
652 <scope>test</scope>
653 </dependency>
654 <dependency>
655 <groupId>org.hamcrest</groupId>
656 <artifactId>hamcrest-core</artifactId>
657 <version>1.3</version>
658 <scope>test</scope>
659 </dependency>
660 <dependency>
661 <groupId>org.hamcrest</groupId>
662 <artifactId>hamcrest-library</artifactId>
663 <version>1.3</version>
664 <scope>test</scope>
665 </dependency>
666 <dependency>
667 <groupId>org.easymock</groupId>
668 <artifactId>easymock</artifactId>
669 <version>3.1</version>
670 <scope>test</scope>
671 </dependency>
672 <dependency>
673 <groupId>org.powermock</groupId>
674 <artifactId>powermock-module-junit4</artifactId>
675 <version>${powermock.version}</version>
676 <scope>test</scope>
677 </dependency>
678 <dependency>
679 <groupId>org.powermock</groupId>
680 <artifactId>powermock-api-easymock</artifactId>
681 <version>${powermock.version}</version>
682 <scope>test</scope>
683 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700684 </dependencies>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700685 <profiles>
686 <!-- Jenkins by default defines a property BUILD_NUMBER which is used to
687 enable the profile. -->
688 <profile>
689 <id>jenkins</id>
690 <activation>
691 <property>
692 <name>env.BUILD_NUMBER</name>
693 </property>
694 </activation>
695 <build>
696 <plugins>
697 <plugin>
698 <groupId>org.codehaus.mojo</groupId>
699 <artifactId>cobertura-maven-plugin</artifactId>
700 <version>${cobertura-maven-plugin.version}</version>
701 <configuration>
702 <formats>
703 <format>xml</format>
704 </formats>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700705 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700706 </configuration>
707 <executions>
708 <execution>
709 <phase>package</phase>
710 <goals>
711 <goal>cobertura</goal>
712 </goals>
713 </execution>
714 </executions>
715 </plugin>
716 </plugins>
717 </build>
718 </profile>
719 </profiles>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700720</project>