blob: 14b83344ea549b1428d547ade559b08b1e541236 [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>
Yuta HIGUCHI388a6b42014-07-22 17:29:47 -070033 <powermock.version>1.5.5</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 HIGUCHIc2141b72014-07-29 19:48:32 -070038 <findbugs.version>3.0.0</findbugs.version>
39 <findbugs-plugin.version>3.0.0</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 HIGUCHI868c6e72014-07-22 17:36:45 -070048 <hazelcast.version>3.2.4</hazelcast.version>
Pavlin Radoslavov2e3c2842014-07-27 11:18:10 -070049 <metrics.version>3.0.2</metrics.version>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -070050 <maven.surefire.plugin.version>2.16</maven.surefire.plugin.version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070051 </properties>
52 <build>
53 <plugins>
54 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -070055 <!-- Note: the checkstyle configuration is also in the reporting section -->
56 <groupId>org.apache.maven.plugins</groupId>
57 <artifactId>maven-checkstyle-plugin</artifactId>
58 <version>${checkstyle-plugin.version}</version>
59 <configuration>
60 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -070061 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Ray Milkeyb5716c52014-04-07 11:38:27 -070062 <failsOnError>false</failsOnError>
63 <logViolationsToConsole>true</logViolationsToConsole>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -070064 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -070065 </configuration>
66 <executions>
67 <execution>
68 <id>validate-checkstyle</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -070069 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -070070 <goals>
71 <goal>check</goal>
72 </goals>
73 </execution>
74 </executions>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -080075 </plugin>
76 <plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070077 <groupId>org.apache.maven.plugins</groupId>
78 <artifactId>maven-install-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070079 <version>2.5.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070080 <executions>
81 </executions>
82 </plugin>
83 <!-- guice maven plugin for dependency injection inside maven -->
84 <plugin>
85 <groupId>org.apache.camel</groupId>
86 <artifactId>guice-maven-plugin</artifactId>
87 <version>2.11.0</version>
88 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -070089 <plugin>
90 <artifactId>maven-clean-plugin</artifactId>
91 <version>2.5</version>
92 </plugin>
93 <plugin>
94 <artifactId>maven-deploy-plugin</artifactId>
95 <version>2.8</version>
96 </plugin>
97 <plugin>
98 <artifactId>maven-jar-plugin</artifactId>
99 <version>2.4</version>
100 </plugin>
101 <plugin>
102 <artifactId>maven-resources-plugin</artifactId>
103 <version>2.6</version>
104 </plugin>
105 <plugin>
106 <artifactId>maven-site-plugin</artifactId>
107 <version>3.3</version>
108 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700109 <plugin>
110 <groupId>org.apache.maven.plugins</groupId>
111 <artifactId>maven-compiler-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700112 <version>3.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700113 <configuration>
Yuta HIGUCHI641d9992013-12-18 16:40:45 -0800114 <source>1.7</source>
115 <target>1.7</target>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700116 <encoding>UTF-8</encoding>
Yuta HIGUCHIe636d472014-04-25 09:43:44 -0700117 <showDeprecation>true</showDeprecation>
118 <showWarnings>true</showWarnings>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700119 <compilerArgs>
120 <arg>-Xlint:all</arg>
121 <arg>-Xlint:-serial</arg>
Ray Milkeyff735142014-05-22 19:06:02 -0700122 <arg>-Werror</arg>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700123 </compilerArgs>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700124 </configuration>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700125 <executions>
126 </executions>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700127 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700128 <plugin>
129 <groupId>org.apache.maven.plugins</groupId>
130 <artifactId>maven-surefire-plugin</artifactId>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -0700131 <version>${maven.surefire.plugin.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700132 <configuration>
Yuta HIGUCHI105b7ed2014-08-04 09:33:08 -0700133 <!-- FIXME -XX:-UseSplitVerifier added as workaround for JDK 1.7.0u65 + PowerMock issue
134 https://issues.jboss.org/browse/JASSIST-228 -->
135 <argLine>-XX:MaxPermSize=256m -Dhazelcast.logging.type=slf4j -XX:-UseSplitVerifier</argLine>
Yuta HIGUCHI0b7c19e2014-07-21 23:33:20 -0700136 <redirectTestOutputToFile>false</redirectTestOutputToFile>
Ray Milkey10643572014-06-10 15:17:39 -0700137 <excludedGroups>net.onrc.onos.core.util.IntegrationTest</excludedGroups>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700138 </configuration>
139 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700140 <!-- TODO exec:java no longer used remove at some point? -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700141 <plugin>
142 <groupId>org.codehaus.mojo</groupId>
143 <artifactId>exec-maven-plugin</artifactId>
144 <version>1.2.1</version>
145 <configuration>
Jonathan Hart51f6f5b2014-04-03 10:32:10 -0700146 <mainClass>net.onrc.onos.core.main.Main</mainClass>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700147 </configuration>
148 <executions>
149 </executions>
150 </plugin>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700151 <plugin>
152 <groupId>org.apache.maven.plugins</groupId>
153 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700154 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700155 <configuration>
156 <charset>UTF-8</charset>
157 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700158 <author>false</author>
Yuta HIGUCHIccab05d2014-07-26 22:42:28 -0700159 <excludePackageNames>net.floodlightcontroller.*:org.openflow.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700160 </configuration>
161 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700162<!-- Remove me when we're sure that system test no longer need JaCoCo
timlindberg8b13e702013-07-17 14:45:50 -0700163 <plugin>
164 <groupId>org.jacoco</groupId>
165 <artifactId>jacoco-maven-plugin</artifactId>
166 <version>0.6.3.201306030806</version>
timlindberg8b13e702013-07-17 14:45:50 -0700167 <executions>
168 <execution>
169 <id>jacoco-initialize</id>
170 <goals>
171 <goal>prepare-agent</goal>
172 </goals>
173 </execution>
174 <execution>
175 <id>jacoco-site</id>
176 <phase>package</phase>
177 <goals>
178 <goal>report</goal>
179 </goals>
180 </execution>
181 </executions>
182 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700183-->
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700184 <!-- Uncomment when publishing javadoc to github in the future.
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700185 <plugin>
186 <groupId>com.github.github</groupId>
187 <artifactId>site-maven-plugin</artifactId>
188 <version>0.8</version>
189 <configuration>
190 <message>Creating site for ${project.version}</message>
191 <dryRun>true</dryRun>
192 <repositoryName>ONOS</repositoryName>
193 <repositoryOwner>OPENNETWORKINGLAB</repositoryOwner>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800194 <path>javadoc/${project.version}/</path>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700195 </configuration>
196 <executions>
197 <execution>
198 <goals>
199 <goal>site</goal>
200 </goals>
201 <phase>site</phase>
202 </execution>
203 </executions>
204 </plugin>
Pavlin Radoslavova463e462013-12-13 15:18:50 -0800205 -->
Jonathan Hart2c61a502013-10-18 18:12:26 -0700206 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700207 <artifactId>maven-assembly-plugin</artifactId>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700208 <version>2.4</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700209 <configuration>
210 <descriptorRefs>
211 <descriptorRef>jar-with-dependencies</descriptorRef>
212 </descriptorRefs>
213 </configuration>
Jonathan Hart2c61a502013-10-18 18:12:26 -0700214 </plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800215 <plugin>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700216 <!-- Using groovy script to set maven property ${hostname}.
217 This is a workaround to get hostname as a property inside pom file,
218 which current Maven does not provide. -->
219 <groupId>org.codehaus.gmaven</groupId>
220 <artifactId>groovy-maven-plugin</artifactId>
221 <version>2.0</version>
222 <executions>
223 <execution>
224 <phase>initialize</phase>
225 <goals>
226 <goal>execute</goal>
227 </goals>
228 <configuration>
229 <source>
230 project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
231 </source>
232 </configuration>
233 </execution>
234 </executions>
235 </plugin>
236 <plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800237 <groupId>org.apache.maven.plugins</groupId>
238 <artifactId>maven-dependency-plugin</artifactId>
239 <version>2.8</version>
240 <executions>
241 <execution>
242 <id>build-classpath</id>
Yuta HIGUCHIb6734602014-07-29 11:53:06 -0700243 <phase>compile</phase>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800244 <goals>
245 <goal>build-classpath</goal>
246 </goals>
247 <configuration>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700248 <outputFile>${project.basedir}/.javacp.${hostname}</outputFile>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800249 </configuration>
250 </execution>
251 </executions>
252 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700253 <plugin>
254 <groupId>org.codehaus.mojo</groupId>
255 <artifactId>cobertura-maven-plugin</artifactId>
256 <version>${cobertura-maven-plugin.version}</version>
257 <configuration>
258 <instrumentation>
259 <ignores>
260 <ignore>org.slf4j.*</ignore>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700261 </ignores>
262 <excludes>
Yuta HIGUCHIee818992014-06-18 10:10:10 -0700263 <exclude>edu/stanford/ramcloud/**/*.class</exclude>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700264 <exclude>org/openflow/**/*.class</exclude>
265 <exclude>net/floodlightcontroller/**/web/**/*.class</exclude>
266 </excludes>
267 </instrumentation>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700268 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700269 </configuration>
270 <executions>
271 <execution>
272 <goals>
273 <goal>clean</goal>
274 </goals>
275 </execution>
276 </executions>
277 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700278 <!-- Note: the findbugs configuration is also in the reporting section -->
279 <plugin>
280 <groupId>org.codehaus.mojo</groupId>
281 <artifactId>findbugs-maven-plugin</artifactId>
282 <version>${findbugs-plugin.version}</version>
283 <configuration>
284 <effort>${findbugs.effort}</effort>
285 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
286 </configuration>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700287 <executions>
288 <execution>
289 <id>validate-findbugs</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700290 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700291 <goals>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700292 <goal>check</goal>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700293 </goals>
294 </execution>
295 </executions>
Ray Milkey70d91cc2014-03-18 15:22:27 -0700296 </plugin>
297 <plugin>
298 <groupId>org.apache.maven.plugins</groupId>
299 <artifactId>maven-pmd-plugin</artifactId>
300 <version>3.1</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700301 <configuration>
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700302 <!--
303 Note: Exclusion definition exists in multiple places.
304 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700305 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700306 - maven-pmd-plugin configuration in pom.xml
307 (under build and reporting)
308 -->
Ray Milkeyb5716c52014-04-07 11:38:27 -0700309 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700310 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700311 <exclude>**/edu/stanford/**</exclude>
312 <exclude>**/net/floodlightcontroller/**</exclude>
313 <exclude>**/org/openflow/**</exclude>
314 </excludes>
315 <rulesets>
316 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
317 </rulesets>
318 </configuration>
319 <executions>
320 <execution>
321 <id>validate-pmd</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700322 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700323 <goals>
324 <!-- Uncomment this goal to make the build fail on pmd errors -->
325 <!--<goal>check</goal>-->
326 </goals>
327 </execution>
328 </executions>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700329 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700330 </plugins>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800331 <pluginManagement>
332 <plugins>
333 <!--This plugin's configuration is used to store Eclipse m2e settings
334 only. It has no influence on the Maven build itself. -->
335 <plugin>
336 <groupId>org.eclipse.m2e</groupId>
337 <artifactId>lifecycle-mapping</artifactId>
338 <version>1.0.0</version>
339 <configuration>
340 <lifecycleMappingMetadata>
341 <pluginExecutions>
342 <pluginExecution>
343 <pluginExecutionFilter>
344 <groupId>
345 org.apache.maven.plugins
346 </groupId>
347 <artifactId>
348 maven-dependency-plugin
349 </artifactId>
350 <versionRange>[2.8,)</versionRange>
351 <goals>
352 <goal>build-classpath</goal>
353 </goals>
354 </pluginExecutionFilter>
355 <action>
356 <ignore></ignore>
357 </action>
358 </pluginExecution>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700359 <pluginExecution>
360 <pluginExecutionFilter>
361 <groupId>org.codehaus.gmaven</groupId>
362 <artifactId>groovy-maven-plugin</artifactId>
363 <versionRange>[2.0,)</versionRange>
364 <goals>
365 <goal>execute</goal>
366 </goals>
367 </pluginExecutionFilter>
368 <action>
369 <ignore></ignore>
370 </action>
371 </pluginExecution>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800372 </pluginExecutions>
373 </lifecycleMappingMetadata>
374 </configuration>
375 </plugin>
376 </plugins>
377 </pluginManagement>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700378 </build>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700379 <!-- for getting visualization reporting -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700380 <reporting>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700381 <excludeDefaults>true</excludeDefaults>
382 <outputDirectory>${project.build.directory}/site</outputDirectory>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700383 <plugins>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700384 <plugin>
385 <groupId>org.apache.maven.plugins</groupId>
386 <artifactId>maven-project-info-reports-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700387 <version>2.7</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700388 <configuration>
389 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
390 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
391 </configuration>
392 <reportSets>
393 <reportSet>
394 <reports>
395 <report>dependencies</report>
396 <report>scm</report>
397 </reports>
398 </reportSet>
399 </reportSets>
400 </plugin>
401 <plugin>
402 <groupId>org.apache.maven.plugins</groupId>
403 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700404 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700405 <configuration>
406 <charset>UTF-8</charset>
407 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700408 <author>false</author>
409 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700410 </configuration>
411 </plugin>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800412 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700413 <!-- Note: the checkstyle configuration is also in the build section -->
414 <groupId>org.apache.maven.plugins</groupId>
415 <artifactId>maven-checkstyle-plugin</artifactId>
416 <version>${checkstyle-plugin.version}</version>
417 <configuration>
418 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700419 <!--
420 Note: Exclusion definition exists in multiple places.
421 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
422 - maven-checkstyle-plugin configuration in pom.xml
423 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700424 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700425 -->
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -0700426 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -0700427 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700428 </configuration>
429 <reportSets>
430 <reportSet>
431 <reports>
432 <report>checkstyle</report>
433 </reports>
434 </reportSet>
435 </reportSets>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800436 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700437 <!-- Note: the findbugs configuration is also in the build section -->
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800438 <plugin>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700439 <groupId>org.codehaus.mojo</groupId>
440 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700441 <version>${findbugs-plugin.version}</version>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700442 <configuration>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700443 <effort>${findbugs.effort}</effort>
444 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700445 <reportPlugins>
446 <plugin>
447 <groupId>org.codehaus.mojo</groupId>
448 <artifactId>findbugs-maven-plugin</artifactId>
449 </plugin>
450 </reportPlugins>
451 </configuration>
452 </plugin>
453 <plugin>
454 <groupId>org.apache.maven.plugins</groupId>
455 <artifactId>maven-pmd-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700456 <version>3.1</version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700457 <configuration>
458 <!--
459 Note: Exclusion definition exists in multiple places.
460 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700461 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700462 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700463 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700464 -->
465 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700466 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700467 <exclude>**/edu/stanford/**</exclude>
468 <exclude>**/net/floodlightcontroller/**</exclude>
469 <exclude>**/org/openflow/**</exclude>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700470 </excludes>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700471 <rulesets>
472 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
473 </rulesets>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700474 </configuration>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700475 </plugin>
476 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700477 <groupId>org.apache.maven.plugins</groupId>
478 <artifactId>maven-jxr-plugin</artifactId>
479 <version>2.4</version>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800480 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700481 <plugin>
482 <groupId>org.codehaus.mojo</groupId>
483 <artifactId>cobertura-maven-plugin</artifactId>
484 <version>${cobertura-maven-plugin.version}</version>
485 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700486 </plugins>
487 </reporting>
488 <dependencies>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800489 <!-- ONOS's direct dependencies -->
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700490 <dependency>
491 <groupId>com.esotericsoftware.kryo</groupId>
492 <artifactId>kryo</artifactId>
Yuta HIGUCHI6a518df2014-05-07 20:40:23 -0700493 <version>2.24.0</version>
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700494 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700495 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800496 <groupId>com.google.protobuf</groupId>
497 <artifactId>protobuf-java</artifactId>
498 <version>2.5.0</version>
yoshi28bac132014-01-22 11:00:17 -0800499 </dependency>
500 <dependency>
yoshi2fd4c7e2013-11-22 15:47:55 -0800501 <groupId>com.hazelcast</groupId>
502 <artifactId>hazelcast</artifactId>
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700503 <version>${hazelcast.version}</version>
504 </dependency>
505 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700506 <!-- Required for backend datastore as Hazelcast -->
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700507 <groupId>com.hazelcast</groupId>
508 <artifactId>hazelcast-client</artifactId>
509 <version>${hazelcast.version}</version>
yoshi2fd4c7e2013-11-22 15:47:55 -0800510 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700511 <dependency>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700512 <groupId>javax.websocket</groupId>
513 <artifactId>javax.websocket-api</artifactId>
514 <version>1.0</version>
515 </dependency>
516 <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>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700523 <groupId>org.eclipse.jetty</groupId>
524 <artifactId>jetty-server</artifactId>
525 <version>9.2.1.v20140609</version>
526 </dependency>
527 <dependency>
528 <groupId>org.eclipse.jetty</groupId>
529 <artifactId>jetty-servlet</artifactId>
530 <version>9.2.1.v20140609</version>
531 </dependency>
532 <dependency>
533 <groupId>org.eclipse.jetty.websocket</groupId>
534 <artifactId>javax-websocket-server-impl</artifactId>
535 <version>9.2.1.v20140609</version>
536 </dependency>
537 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700538 <groupId>org.restlet.jse</groupId>
539 <artifactId>org.restlet</artifactId>
540 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700541 </dependency>
542 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700543 <groupId>org.restlet.jse</groupId>
544 <artifactId>org.restlet.ext.slf4j</artifactId>
545 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700546 <scope>runtime</scope>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700547 </dependency>
548 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700549 <groupId>org.restlet.jse</groupId>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700550 <artifactId>org.restlet.ext.json</artifactId>
551 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700552 <scope>runtime</scope>
553 </dependency>
554 <dependency>
555 <groupId>org.restlet.jse</groupId>
556 <artifactId>org.restlet.lib.org.json</artifactId>
557 <version>2.0</version>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700558 </dependency>
559 <dependency>
560 <groupId>org.restlet.jse</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700561 <artifactId>org.restlet.ext.jackson</artifactId>
562 <version>${restlet.version}</version>
563 </dependency>
564 <dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700565 <groupId>org.codehaus.jackson</groupId>
566 <artifactId>jackson-core-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700567 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700568 </dependency>
569 <dependency>
570 <groupId>org.codehaus.jackson</groupId>
571 <artifactId>jackson-mapper-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700572 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700573 </dependency>
574 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700575 <groupId>org.restlet.jse</groupId>
576 <artifactId>org.restlet.ext.simple</artifactId>
577 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700578 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700579 </dependency>
580 <dependency>
581 <groupId>org.simpleframework</groupId>
582 <artifactId>simple</artifactId>
583 <version>4.1.21</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700584 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700585 </dependency>
586 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700587 <groupId>ch.qos.logback</groupId>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700588 <artifactId>logback-classic</artifactId>
Yuta HIGUCHI001159d2014-07-23 11:53:32 -0700589 <version>1.1.2</version>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700590 <scope>runtime</scope>
591 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800592 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700593 <groupId>org.slf4j</groupId>
594 <artifactId>slf4j-api</artifactId>
595 <version>1.7.5</version>
596 </dependency>
597 <dependency>
598 <groupId>com.google.guava</groupId>
599 <artifactId>guava</artifactId>
Sho SHIMIZU00ec3512014-07-22 21:02:56 -0700600 <version>17.0</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700601 </dependency>
602 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800603 <groupId>commons-configuration</groupId>
604 <artifactId>commons-configuration</artifactId>
Yuta HIGUCHI56f294e2014-07-23 11:09:06 -0700605 <version>1.10</version>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800606 </dependency>
607 <dependency>
Yuta HIGUCHI850b0042014-04-16 15:10:31 -0700608 <groupId>commons-lang</groupId>
609 <artifactId>commons-lang</artifactId>
610 <version>2.6</version>
611 </dependency>
612 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800613 <groupId>commons-httpclient</groupId>
614 <artifactId>commons-httpclient</artifactId>
615 <version>3.1</version>
616 </dependency>
617 <dependency>
Yuta HIGUCHI0c883d02014-07-23 10:59:17 -0700618 <groupId>org.apache.commons</groupId>
619 <artifactId>commons-collections4</artifactId>
620 <version>4.0</version>
Yuta HIGUCHId395b932014-05-01 15:15:20 -0700621 </dependency>
622 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800623 <groupId>org.apache.zookeeper</groupId>
624 <artifactId>zookeeper</artifactId>
Yuta HIGUCHIfb1905a2014-06-09 14:07:34 -0700625 <version>3.4.6</version>
Yuta HIGUCHI6d935e52014-03-28 10:34:26 -0700626 <scope>runtime</scope>
Yuta HIGUCHIffdb9132014-06-23 09:30:38 -0700627 <!-- Excluding log4j. ONOS uses logback-classic for SLF4J. -->
628 <exclusions>
629 <exclusion>
630 <artifactId>slf4j-log4j12</artifactId>
631 <groupId>org.slf4j</groupId>
632 </exclusion>
633 <exclusion>
634 <artifactId>log4j</artifactId>
635 <groupId>log4j</groupId>
636 </exclusion>
637 </exclusions>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800638 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800639 <dependency>
Jonathan Hartf6978ce2014-06-23 11:20:04 -0700640 <groupId>com.googlecode.concurrent-trees</groupId>
641 <artifactId>concurrent-trees</artifactId>
642 <version>2.4.0</version>
643 </dependency>
644 <dependency>
Jonathan Hart116b1fe2014-03-14 18:53:47 -0700645 <groupId>org.apache.curator</groupId>
646 <artifactId>curator-framework</artifactId>
647 <version>2.4.1</version>
648 </dependency>
649 <dependency>
650 <groupId>org.apache.curator</groupId>
651 <artifactId>curator-client</artifactId>
652 <version>2.4.1</version>
653 </dependency>
654 <dependency>
655 <groupId>org.apache.curator</groupId>
656 <artifactId>curator-recipes</artifactId>
657 <version>2.4.1</version>
658 </dependency>
659 <dependency>
660 <groupId>org.apache.curator</groupId>
661 <artifactId>curator-x-discovery</artifactId>
662 <version>2.4.1</version>
663 </dependency>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700664 <dependency>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700665 <!-- findbugs suppression annotation -->
666 <groupId>com.google.code.findbugs</groupId>
667 <artifactId>findbugs</artifactId>
668 <version>${findbugs.version}</version>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700669 </dependency>
Ray Milkey26921af2014-06-30 16:27:40 -0700670 <dependency>
671 <groupId>com.codahale.metrics</groupId>
672 <artifactId>metrics-core</artifactId>
673 <version>${metrics.version}</version>
674 </dependency>
675 <dependency>
676 <groupId>com.codahale.metrics</groupId>
677 <artifactId>metrics-json</artifactId>
678 <version>${metrics.version}</version>
679 </dependency>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700680 <dependency>
681 <groupId>com.fasterxml.jackson.core</groupId>
682 <artifactId>jackson-databind</artifactId>
683 <version>2.2.2</version>
684 </dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700685 <!-- Floodlight's dependencies -->
686 <dependency>
687 <groupId>args4j</groupId>
688 <artifactId>args4j</artifactId>
689 <version>2.0.25</version>
690 </dependency>
691 <dependency>
692 <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
693 <artifactId>concurrentlinkedhashmap-lru</artifactId>
694 <version>1.4</version>
695 </dependency>
696 <dependency>
697 <!-- dependency to old version of netty? -->
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700698 <groupId>io.netty</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700699 <artifactId>netty</artifactId>
Yuta HIGUCHI29af9b52014-07-29 00:13:54 -0700700 <version>3.9.2.Final</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700701 </dependency>
702 <!-- Dependency for libraries used for testing -->
703 <dependency>
704 <groupId>junit</groupId>
705 <artifactId>junit</artifactId>
706 <version>4.11</version>
707 <scope>test</scope>
708 </dependency>
709 <dependency>
710 <groupId>org.hamcrest</groupId>
711 <artifactId>hamcrest-core</artifactId>
712 <version>1.3</version>
713 <scope>test</scope>
714 </dependency>
715 <dependency>
716 <groupId>org.hamcrest</groupId>
717 <artifactId>hamcrest-library</artifactId>
718 <version>1.3</version>
719 <scope>test</scope>
720 </dependency>
721 <dependency>
722 <groupId>org.easymock</groupId>
723 <artifactId>easymock</artifactId>
Yuta HIGUCHI08469962014-07-22 17:52:22 -0700724 <version>3.2</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700725 <scope>test</scope>
726 </dependency>
727 <dependency>
728 <groupId>org.powermock</groupId>
729 <artifactId>powermock-module-junit4</artifactId>
730 <version>${powermock.version}</version>
731 <scope>test</scope>
732 </dependency>
733 <dependency>
734 <groupId>org.powermock</groupId>
735 <artifactId>powermock-api-easymock</artifactId>
736 <version>${powermock.version}</version>
737 <scope>test</scope>
738 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700739 </dependencies>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700740 <profiles>
741 <!-- Jenkins by default defines a property BUILD_NUMBER which is used to
742 enable the profile. -->
743 <profile>
744 <id>jenkins</id>
745 <activation>
746 <property>
747 <name>env.BUILD_NUMBER</name>
748 </property>
749 </activation>
750 <build>
751 <plugins>
752 <plugin>
753 <groupId>org.codehaus.mojo</groupId>
754 <artifactId>cobertura-maven-plugin</artifactId>
755 <version>${cobertura-maven-plugin.version}</version>
756 <configuration>
757 <formats>
758 <format>xml</format>
759 </formats>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700760 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700761 </configuration>
762 <executions>
763 <execution>
764 <phase>package</phase>
765 <goals>
766 <goal>cobertura</goal>
767 </goals>
768 </execution>
769 </executions>
770 </plugin>
771 </plugins>
772 </build>
773 </profile>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -0700774 <profile>
775 <id>all-tests</id>
776 <build>
777 <plugins>
778 <plugin>
779 <groupId>org.apache.maven.plugins</groupId>
780 <artifactId>maven-surefire-plugin</artifactId>
781 <version>${maven.surefire.plugin.version}</version>
782 <configuration combine.self="merge">
783 <excludedGroups></excludedGroups>
784 </configuration>
785 </plugin>
786 </plugins>
787 </build>
788 </profile>
Yuta HIGUCHIee0c5b62014-07-22 23:22:47 -0700789 <profile>
790 <id>error-prone</id>
791 <build>
792 <plugins>
793 <plugin>
794 <groupId>org.apache.maven.plugins</groupId>
795 <artifactId>maven-compiler-plugin</artifactId>
796 <version>3.1</version>
797 <configuration>
798 <compilerArgs combine.children="append">
799 <!-- FIXME -Xlint:-path required when using findbugs + error-prone -->
800 <arg>-Xlint:-path</arg>
801 </compilerArgs>
802 <!-- Turn on error-prone -->
803 <compilerId>javac-with-errorprone</compilerId>
804 <forceJavacCompilerUse>true</forceJavacCompilerUse>
805 </configuration>
806 <dependencies combine.children="append">
807 <dependency>
808 <groupId>com.google.errorprone</groupId>
809 <artifactId>error_prone_core</artifactId>
810 <version>1.1.2</version>
811 </dependency>
812 <dependency>
813 <groupId>org.codehaus.plexus</groupId>
814 <artifactId>plexus-compiler-javac</artifactId>
815 <version>2.3</version>
816 </dependency>
817 <dependency>
818 <groupId>org.codehaus.plexus</groupId>
819 <artifactId>plexus-compiler-javac-errorprone</artifactId>
820 <version>2.3</version>
821 </dependency>
822 </dependencies>
823 </plugin>
824 </plugins>
825 </build>
826 </profile>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700827 </profiles>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700828</project>