blob: 036ad4a4d9c8f145e305b3e4930c7c1c0d5ea782 [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>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -070023 <url>https://repo1.maven.org/maven2</url>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070024 </repository>
25 <repository>
26 <id>maven-restlet</id>
27 <name>Public online Restlet repository</name>
28 <url>http://maven.restlet.org</url>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -070029 <snapshots>
30 <enabled>false</enabled>
31 </snapshots>
32 </repository>
33 <repository>
34 <id>sonatype-oss-snapshot</id>
35 <name>Sonatype OSS snapshot repository</name>
36 <url>https://oss.sonatype.org/content/repositories/snapshots</url>
37 <releases>
38 <enabled>false</enabled>
39 </releases>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070040 </repository>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070041 </repositories>
42 <properties>
43 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Yuta HIGUCHI388a6b42014-07-22 17:29:47 -070044 <powermock.version>1.5.5</powermock.version>
Pankaj Berde37d6d4d2013-12-03 10:12:56 -080045 <restlet.version>2.1.4</restlet.version>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -070046 <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -070047 <!-- Following 2 findbugs version needs to be updated in sync to match the
48 findbugs version used in findbugs-plugin -->
Yuta HIGUCHIc2141b72014-07-29 19:48:32 -070049 <findbugs.version>3.0.0</findbugs.version>
50 <findbugs-plugin.version>3.0.0</findbugs-plugin.version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -070051 <findbugs.effort>Max</findbugs.effort>
52 <findbugs.excludeFilterFile>conf/findbugs/exclude.xml</findbugs.excludeFilterFile>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070053 <checkstyle-plugin.version>2.12</checkstyle-plugin.version>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -080054 <!-- To publish javadoc to github,
55 uncomment com.github.github site-maven-plugin and
56 see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425
57 <github.global.server>github</github.global.server>
58 -->
Yuta HIGUCHI868c6e72014-07-22 17:36:45 -070059 <hazelcast.version>3.2.4</hazelcast.version>
Pavlin Radoslavov2e3c2842014-07-27 11:18:10 -070060 <metrics.version>3.0.2</metrics.version>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -070061 <maven.surefire.plugin.version>2.16</maven.surefire.plugin.version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070062 </properties>
63 <build>
64 <plugins>
65 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -070066 <!-- Note: the checkstyle configuration is also in the reporting section -->
67 <groupId>org.apache.maven.plugins</groupId>
68 <artifactId>maven-checkstyle-plugin</artifactId>
69 <version>${checkstyle-plugin.version}</version>
70 <configuration>
71 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -070072 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Ray Milkeyb5716c52014-04-07 11:38:27 -070073 <failsOnError>false</failsOnError>
74 <logViolationsToConsole>true</logViolationsToConsole>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -070075 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -070076 </configuration>
77 <executions>
78 <execution>
79 <id>validate-checkstyle</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -070080 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -070081 <goals>
82 <goal>check</goal>
83 </goals>
84 </execution>
85 </executions>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -080086 </plugin>
87 <plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070088 <groupId>org.apache.maven.plugins</groupId>
89 <artifactId>maven-install-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -070090 <version>2.5.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -070091 <executions>
92 </executions>
93 </plugin>
94 <!-- guice maven plugin for dependency injection inside maven -->
95 <plugin>
96 <groupId>org.apache.camel</groupId>
97 <artifactId>guice-maven-plugin</artifactId>
98 <version>2.11.0</version>
99 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700100 <plugin>
101 <artifactId>maven-clean-plugin</artifactId>
102 <version>2.5</version>
103 </plugin>
104 <plugin>
105 <artifactId>maven-deploy-plugin</artifactId>
106 <version>2.8</version>
107 </plugin>
108 <plugin>
109 <artifactId>maven-jar-plugin</artifactId>
110 <version>2.4</version>
111 </plugin>
112 <plugin>
113 <artifactId>maven-resources-plugin</artifactId>
114 <version>2.6</version>
115 </plugin>
116 <plugin>
117 <artifactId>maven-site-plugin</artifactId>
118 <version>3.3</version>
119 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700120 <plugin>
121 <groupId>org.apache.maven.plugins</groupId>
122 <artifactId>maven-compiler-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700123 <version>3.1</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700124 <configuration>
Yuta HIGUCHI641d9992013-12-18 16:40:45 -0800125 <source>1.7</source>
126 <target>1.7</target>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700127 <encoding>UTF-8</encoding>
Yuta HIGUCHIe636d472014-04-25 09:43:44 -0700128 <showDeprecation>true</showDeprecation>
129 <showWarnings>true</showWarnings>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700130 <compilerArgs>
131 <arg>-Xlint:all</arg>
132 <arg>-Xlint:-serial</arg>
Ray Milkeyff735142014-05-22 19:06:02 -0700133 <arg>-Werror</arg>
Yuta HIGUCHI593ee4c2014-05-12 21:31:39 -0700134 </compilerArgs>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700135 </configuration>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700136 <executions>
137 </executions>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700138 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700139 <plugin>
140 <groupId>org.apache.maven.plugins</groupId>
141 <artifactId>maven-surefire-plugin</artifactId>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -0700142 <version>${maven.surefire.plugin.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700143 <configuration>
Yuta HIGUCHI105b7ed2014-08-04 09:33:08 -0700144 <!-- FIXME -XX:-UseSplitVerifier added as workaround for JDK 1.7.0u65 + PowerMock issue
145 https://issues.jboss.org/browse/JASSIST-228 -->
146 <argLine>-XX:MaxPermSize=256m -Dhazelcast.logging.type=slf4j -XX:-UseSplitVerifier</argLine>
Yuta HIGUCHI0b7c19e2014-07-21 23:33:20 -0700147 <redirectTestOutputToFile>false</redirectTestOutputToFile>
Ray Milkey10643572014-06-10 15:17:39 -0700148 <excludedGroups>net.onrc.onos.core.util.IntegrationTest</excludedGroups>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700149 </configuration>
150 </plugin>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700151 <!-- TODO exec:java no longer used remove at some point? -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700152 <plugin>
153 <groupId>org.codehaus.mojo</groupId>
154 <artifactId>exec-maven-plugin</artifactId>
155 <version>1.2.1</version>
156 <configuration>
Jonathan Hart51f6f5b2014-04-03 10:32:10 -0700157 <mainClass>net.onrc.onos.core.main.Main</mainClass>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700158 </configuration>
159 <executions>
160 </executions>
161 </plugin>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700162 <plugin>
163 <groupId>org.apache.maven.plugins</groupId>
164 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700165 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700166 <configuration>
167 <charset>UTF-8</charset>
168 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700169 <author>false</author>
Yuta HIGUCHIccab05d2014-07-26 22:42:28 -0700170 <excludePackageNames>net.floodlightcontroller.*:org.openflow.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700171 </configuration>
172 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700173<!-- Remove me when we're sure that system test no longer need JaCoCo
timlindberg8b13e702013-07-17 14:45:50 -0700174 <plugin>
175 <groupId>org.jacoco</groupId>
176 <artifactId>jacoco-maven-plugin</artifactId>
177 <version>0.6.3.201306030806</version>
timlindberg8b13e702013-07-17 14:45:50 -0700178 <executions>
179 <execution>
180 <id>jacoco-initialize</id>
181 <goals>
182 <goal>prepare-agent</goal>
183 </goals>
184 </execution>
185 <execution>
186 <id>jacoco-site</id>
187 <phase>package</phase>
188 <goals>
189 <goal>report</goal>
190 </goals>
191 </execution>
192 </executions>
193 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700194-->
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700195 <!-- Uncomment when publishing javadoc to github in the future.
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700196 <plugin>
197 <groupId>com.github.github</groupId>
198 <artifactId>site-maven-plugin</artifactId>
199 <version>0.8</version>
200 <configuration>
201 <message>Creating site for ${project.version}</message>
202 <dryRun>true</dryRun>
203 <repositoryName>ONOS</repositoryName>
204 <repositoryOwner>OPENNETWORKINGLAB</repositoryOwner>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800205 <path>javadoc/${project.version}/</path>
HIGUCHI Yuta842b6f72013-10-08 14:19:48 -0700206 </configuration>
207 <executions>
208 <execution>
209 <goals>
210 <goal>site</goal>
211 </goals>
212 <phase>site</phase>
213 </execution>
214 </executions>
215 </plugin>
Pavlin Radoslavova463e462013-12-13 15:18:50 -0800216 -->
Jonathan Hart2c61a502013-10-18 18:12:26 -0700217 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700218 <artifactId>maven-assembly-plugin</artifactId>
Yuta HIGUCHI34a66462014-06-17 16:05:30 -0700219 <version>2.4</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700220 <configuration>
221 <descriptorRefs>
222 <descriptorRef>jar-with-dependencies</descriptorRef>
223 </descriptorRefs>
224 </configuration>
Jonathan Hart2c61a502013-10-18 18:12:26 -0700225 </plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800226 <plugin>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700227 <!-- Using groovy script to set maven property ${hostname}.
228 This is a workaround to get hostname as a property inside pom file,
229 which current Maven does not provide. -->
230 <groupId>org.codehaus.gmaven</groupId>
231 <artifactId>groovy-maven-plugin</artifactId>
232 <version>2.0</version>
233 <executions>
234 <execution>
235 <phase>initialize</phase>
236 <goals>
237 <goal>execute</goal>
238 </goals>
239 <configuration>
240 <source>
241 project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
242 </source>
243 </configuration>
244 </execution>
245 </executions>
246 </plugin>
247 <plugin>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800248 <groupId>org.apache.maven.plugins</groupId>
249 <artifactId>maven-dependency-plugin</artifactId>
250 <version>2.8</version>
251 <executions>
252 <execution>
253 <id>build-classpath</id>
Yuta HIGUCHIb6734602014-07-29 11:53:06 -0700254 <phase>compile</phase>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800255 <goals>
256 <goal>build-classpath</goal>
257 </goals>
258 <configuration>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700259 <outputFile>${project.basedir}/.javacp.${hostname}</outputFile>
Yuta HIGUCHIb561efa2013-12-20 01:35:04 -0800260 </configuration>
261 </execution>
262 </executions>
263 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700264 <plugin>
265 <groupId>org.codehaus.mojo</groupId>
266 <artifactId>cobertura-maven-plugin</artifactId>
267 <version>${cobertura-maven-plugin.version}</version>
268 <configuration>
269 <instrumentation>
270 <ignores>
271 <ignore>org.slf4j.*</ignore>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700272 </ignores>
273 <excludes>
Yuta HIGUCHIee818992014-06-18 10:10:10 -0700274 <exclude>edu/stanford/ramcloud/**/*.class</exclude>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700275 <exclude>org/openflow/**/*.class</exclude>
276 <exclude>net/floodlightcontroller/**/web/**/*.class</exclude>
277 </excludes>
278 </instrumentation>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700279 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700280 </configuration>
281 <executions>
282 <execution>
283 <goals>
284 <goal>clean</goal>
285 </goals>
286 </execution>
287 </executions>
288 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700289 <!-- Note: the findbugs configuration is also in the reporting section -->
290 <plugin>
291 <groupId>org.codehaus.mojo</groupId>
292 <artifactId>findbugs-maven-plugin</artifactId>
293 <version>${findbugs-plugin.version}</version>
294 <configuration>
295 <effort>${findbugs.effort}</effort>
296 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
297 </configuration>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700298 <executions>
299 <execution>
300 <id>validate-findbugs</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700301 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700302 <goals>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700303 <goal>check</goal>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700304 </goals>
305 </execution>
306 </executions>
Ray Milkey70d91cc2014-03-18 15:22:27 -0700307 </plugin>
308 <plugin>
309 <groupId>org.apache.maven.plugins</groupId>
310 <artifactId>maven-pmd-plugin</artifactId>
311 <version>3.1</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700312 <configuration>
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700313 <!--
314 Note: Exclusion definition exists in multiple places.
315 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700316 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700317 - maven-pmd-plugin configuration in pom.xml
318 (under build and reporting)
319 -->
Ray Milkeyb5716c52014-04-07 11:38:27 -0700320 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700321 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700322 <exclude>**/edu/stanford/**</exclude>
323 <exclude>**/net/floodlightcontroller/**</exclude>
324 <exclude>**/org/openflow/**</exclude>
325 </excludes>
326 <rulesets>
327 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
328 </rulesets>
329 </configuration>
330 <executions>
331 <execution>
332 <id>validate-pmd</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700333 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700334 <goals>
335 <!-- Uncomment this goal to make the build fail on pmd errors -->
336 <!--<goal>check</goal>-->
337 </goals>
338 </execution>
339 </executions>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700340 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700341 </plugins>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800342 <pluginManagement>
343 <plugins>
344 <!--This plugin's configuration is used to store Eclipse m2e settings
345 only. It has no influence on the Maven build itself. -->
346 <plugin>
347 <groupId>org.eclipse.m2e</groupId>
348 <artifactId>lifecycle-mapping</artifactId>
349 <version>1.0.0</version>
350 <configuration>
351 <lifecycleMappingMetadata>
352 <pluginExecutions>
353 <pluginExecution>
354 <pluginExecutionFilter>
355 <groupId>
356 org.apache.maven.plugins
357 </groupId>
358 <artifactId>
359 maven-dependency-plugin
360 </artifactId>
361 <versionRange>[2.8,)</versionRange>
362 <goals>
363 <goal>build-classpath</goal>
364 </goals>
365 </pluginExecutionFilter>
366 <action>
367 <ignore></ignore>
368 </action>
369 </pluginExecution>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700370 <pluginExecution>
371 <pluginExecutionFilter>
372 <groupId>org.codehaus.gmaven</groupId>
373 <artifactId>groovy-maven-plugin</artifactId>
374 <versionRange>[2.0,)</versionRange>
375 <goals>
376 <goal>execute</goal>
377 </goals>
378 </pluginExecutionFilter>
379 <action>
380 <ignore></ignore>
381 </action>
382 </pluginExecution>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800383 </pluginExecutions>
384 </lifecycleMappingMetadata>
385 </configuration>
386 </plugin>
387 </plugins>
388 </pluginManagement>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700389 </build>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700390 <!-- for getting visualization reporting -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700391 <reporting>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700392 <excludeDefaults>true</excludeDefaults>
393 <outputDirectory>${project.build.directory}/site</outputDirectory>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700394 <plugins>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700395 <plugin>
396 <groupId>org.apache.maven.plugins</groupId>
397 <artifactId>maven-project-info-reports-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700398 <version>2.7</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700399 <configuration>
400 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
401 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
402 </configuration>
403 <reportSets>
404 <reportSet>
405 <reports>
406 <report>dependencies</report>
407 <report>scm</report>
408 </reports>
409 </reportSet>
410 </reportSets>
411 </plugin>
412 <plugin>
413 <groupId>org.apache.maven.plugins</groupId>
414 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700415 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700416 <configuration>
417 <charset>UTF-8</charset>
418 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700419 <author>false</author>
420 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700421 </configuration>
422 </plugin>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800423 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700424 <!-- Note: the checkstyle configuration is also in the build section -->
425 <groupId>org.apache.maven.plugins</groupId>
426 <artifactId>maven-checkstyle-plugin</artifactId>
427 <version>${checkstyle-plugin.version}</version>
428 <configuration>
429 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700430 <!--
431 Note: Exclusion definition exists in multiple places.
432 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
433 - maven-checkstyle-plugin configuration in pom.xml
434 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700435 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700436 -->
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -0700437 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -0700438 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700439 </configuration>
440 <reportSets>
441 <reportSet>
442 <reports>
443 <report>checkstyle</report>
444 </reports>
445 </reportSet>
446 </reportSets>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800447 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700448 <!-- Note: the findbugs configuration is also in the build section -->
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800449 <plugin>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700450 <groupId>org.codehaus.mojo</groupId>
451 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700452 <version>${findbugs-plugin.version}</version>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700453 <configuration>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700454 <effort>${findbugs.effort}</effort>
455 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700456 <reportPlugins>
457 <plugin>
458 <groupId>org.codehaus.mojo</groupId>
459 <artifactId>findbugs-maven-plugin</artifactId>
460 </plugin>
461 </reportPlugins>
462 </configuration>
463 </plugin>
464 <plugin>
465 <groupId>org.apache.maven.plugins</groupId>
466 <artifactId>maven-pmd-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700467 <version>3.1</version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700468 <configuration>
469 <!--
470 Note: Exclusion definition exists in multiple places.
471 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700472 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700473 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700474 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700475 -->
476 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700477 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700478 <exclude>**/edu/stanford/**</exclude>
479 <exclude>**/net/floodlightcontroller/**</exclude>
480 <exclude>**/org/openflow/**</exclude>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700481 </excludes>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700482 <rulesets>
483 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
484 </rulesets>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700485 </configuration>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700486 </plugin>
487 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700488 <groupId>org.apache.maven.plugins</groupId>
489 <artifactId>maven-jxr-plugin</artifactId>
490 <version>2.4</version>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800491 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700492 <plugin>
493 <groupId>org.codehaus.mojo</groupId>
494 <artifactId>cobertura-maven-plugin</artifactId>
495 <version>${cobertura-maven-plugin.version}</version>
496 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700497 </plugins>
498 </reporting>
499 <dependencies>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800500 <!-- ONOS's direct dependencies -->
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700501 <dependency>
502 <groupId>com.esotericsoftware.kryo</groupId>
503 <artifactId>kryo</artifactId>
Yuta HIGUCHI6a518df2014-05-07 20:40:23 -0700504 <version>2.24.0</version>
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700505 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700506 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800507 <groupId>com.google.protobuf</groupId>
508 <artifactId>protobuf-java</artifactId>
509 <version>2.5.0</version>
yoshi28bac132014-01-22 11:00:17 -0800510 </dependency>
511 <dependency>
yoshi2fd4c7e2013-11-22 15:47:55 -0800512 <groupId>com.hazelcast</groupId>
513 <artifactId>hazelcast</artifactId>
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700514 <version>${hazelcast.version}</version>
515 </dependency>
516 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700517 <!-- Required for backend datastore as Hazelcast -->
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700518 <groupId>com.hazelcast</groupId>
519 <artifactId>hazelcast-client</artifactId>
520 <version>${hazelcast.version}</version>
yoshi2fd4c7e2013-11-22 15:47:55 -0800521 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700522 <dependency>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700523 <groupId>javax.websocket</groupId>
524 <artifactId>javax.websocket-api</artifactId>
525 <version>1.0</version>
526 </dependency>
527 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700528 <groupId>net.sf.json-lib</groupId>
529 <artifactId>json-lib</artifactId>
530 <version>2.4</version>
531 <classifier>jdk15</classifier>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700532 </dependency>
533 <dependency>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700534 <groupId>org.eclipse.jetty</groupId>
535 <artifactId>jetty-server</artifactId>
536 <version>9.2.1.v20140609</version>
537 </dependency>
538 <dependency>
539 <groupId>org.eclipse.jetty</groupId>
540 <artifactId>jetty-servlet</artifactId>
541 <version>9.2.1.v20140609</version>
542 </dependency>
543 <dependency>
544 <groupId>org.eclipse.jetty.websocket</groupId>
545 <artifactId>javax-websocket-server-impl</artifactId>
546 <version>9.2.1.v20140609</version>
547 </dependency>
548 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700549 <groupId>org.restlet.jse</groupId>
550 <artifactId>org.restlet</artifactId>
551 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700552 </dependency>
553 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700554 <groupId>org.restlet.jse</groupId>
555 <artifactId>org.restlet.ext.slf4j</artifactId>
556 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700557 <scope>runtime</scope>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700558 </dependency>
559 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700560 <groupId>org.restlet.jse</groupId>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700561 <artifactId>org.restlet.ext.json</artifactId>
562 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700563 <scope>runtime</scope>
564 </dependency>
565 <dependency>
566 <groupId>org.restlet.jse</groupId>
567 <artifactId>org.restlet.lib.org.json</artifactId>
568 <version>2.0</version>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700569 </dependency>
570 <dependency>
571 <groupId>org.restlet.jse</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700572 <artifactId>org.restlet.ext.jackson</artifactId>
573 <version>${restlet.version}</version>
574 </dependency>
575 <dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700576 <groupId>org.codehaus.jackson</groupId>
577 <artifactId>jackson-core-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700578 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700579 </dependency>
580 <dependency>
581 <groupId>org.codehaus.jackson</groupId>
582 <artifactId>jackson-mapper-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700583 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700584 </dependency>
585 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700586 <groupId>org.restlet.jse</groupId>
587 <artifactId>org.restlet.ext.simple</artifactId>
588 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700589 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700590 </dependency>
591 <dependency>
592 <groupId>org.simpleframework</groupId>
593 <artifactId>simple</artifactId>
594 <version>4.1.21</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700595 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700596 </dependency>
597 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700598 <groupId>ch.qos.logback</groupId>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700599 <artifactId>logback-classic</artifactId>
Yuta HIGUCHI001159d2014-07-23 11:53:32 -0700600 <version>1.1.2</version>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700601 </dependency>
602 <dependency>
603 <groupId>ch.qos.logback</groupId>
604 <artifactId>logback-core</artifactId>
605 <version>1.1.2</version>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700606 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800607 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700608 <groupId>org.slf4j</groupId>
609 <artifactId>slf4j-api</artifactId>
610 <version>1.7.5</version>
611 </dependency>
612 <dependency>
613 <groupId>com.google.guava</groupId>
614 <artifactId>guava</artifactId>
Sho SHIMIZU00ec3512014-07-22 21:02:56 -0700615 <version>17.0</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700616 </dependency>
617 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800618 <groupId>commons-configuration</groupId>
619 <artifactId>commons-configuration</artifactId>
Yuta HIGUCHI56f294e2014-07-23 11:09:06 -0700620 <version>1.10</version>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800621 </dependency>
622 <dependency>
Yuta HIGUCHI850b0042014-04-16 15:10:31 -0700623 <groupId>commons-lang</groupId>
624 <artifactId>commons-lang</artifactId>
625 <version>2.6</version>
626 </dependency>
627 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800628 <groupId>commons-httpclient</groupId>
629 <artifactId>commons-httpclient</artifactId>
630 <version>3.1</version>
631 </dependency>
632 <dependency>
Yuta HIGUCHI0c883d02014-07-23 10:59:17 -0700633 <groupId>org.apache.commons</groupId>
634 <artifactId>commons-collections4</artifactId>
635 <version>4.0</version>
Yuta HIGUCHId395b932014-05-01 15:15:20 -0700636 </dependency>
637 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800638 <groupId>org.apache.zookeeper</groupId>
639 <artifactId>zookeeper</artifactId>
Yuta HIGUCHIfb1905a2014-06-09 14:07:34 -0700640 <version>3.4.6</version>
Yuta HIGUCHI6d935e52014-03-28 10:34:26 -0700641 <scope>runtime</scope>
Yuta HIGUCHIffdb9132014-06-23 09:30:38 -0700642 <!-- Excluding log4j. ONOS uses logback-classic for SLF4J. -->
643 <exclusions>
644 <exclusion>
645 <artifactId>slf4j-log4j12</artifactId>
646 <groupId>org.slf4j</groupId>
647 </exclusion>
648 <exclusion>
649 <artifactId>log4j</artifactId>
650 <groupId>log4j</groupId>
651 </exclusion>
652 </exclusions>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800653 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800654 <dependency>
Jonathan Hartf6978ce2014-06-23 11:20:04 -0700655 <groupId>com.googlecode.concurrent-trees</groupId>
656 <artifactId>concurrent-trees</artifactId>
657 <version>2.4.0</version>
658 </dependency>
659 <dependency>
Jonathan Hart116b1fe2014-03-14 18:53:47 -0700660 <groupId>org.apache.curator</groupId>
661 <artifactId>curator-framework</artifactId>
662 <version>2.4.1</version>
663 </dependency>
664 <dependency>
665 <groupId>org.apache.curator</groupId>
666 <artifactId>curator-client</artifactId>
667 <version>2.4.1</version>
668 </dependency>
669 <dependency>
670 <groupId>org.apache.curator</groupId>
671 <artifactId>curator-recipes</artifactId>
672 <version>2.4.1</version>
673 </dependency>
674 <dependency>
675 <groupId>org.apache.curator</groupId>
676 <artifactId>curator-x-discovery</artifactId>
677 <version>2.4.1</version>
678 </dependency>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700679 <dependency>
Yuta HIGUCHIec7c0a52014-08-06 19:08:15 -0700680 <!-- findbugs suppression annotation and @GuardedBy, etc. -->
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700681 <groupId>com.google.code.findbugs</groupId>
Yuta HIGUCHIec7c0a52014-08-06 19:08:15 -0700682 <artifactId>annotations</artifactId>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700683 <version>${findbugs.version}</version>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700684 </dependency>
Ray Milkey26921af2014-06-30 16:27:40 -0700685 <dependency>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700686 <groupId>com.fasterxml.jackson.core</groupId>
687 <artifactId>jackson-annotations</artifactId>
688 <version>2.4.0</version>
689 </dependency>
690 <dependency>
Ray Milkey26921af2014-06-30 16:27:40 -0700691 <groupId>com.codahale.metrics</groupId>
692 <artifactId>metrics-core</artifactId>
693 <version>${metrics.version}</version>
694 </dependency>
695 <dependency>
696 <groupId>com.codahale.metrics</groupId>
697 <artifactId>metrics-json</artifactId>
698 <version>${metrics.version}</version>
699 </dependency>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700700 <dependency>
701 <groupId>com.fasterxml.jackson.core</groupId>
702 <artifactId>jackson-databind</artifactId>
703 <version>2.2.2</version>
704 </dependency>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700705 <dependency>
706 <groupId>org.projectfloodlight</groupId>
707 <artifactId>openflowj</artifactId>
708 <version>0.3.4-SNAPSHOT</version>
709 </dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700710 <!-- Floodlight's dependencies -->
711 <dependency>
712 <groupId>args4j</groupId>
713 <artifactId>args4j</artifactId>
714 <version>2.0.25</version>
715 </dependency>
716 <dependency>
717 <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
718 <artifactId>concurrentlinkedhashmap-lru</artifactId>
719 <version>1.4</version>
720 </dependency>
721 <dependency>
722 <!-- dependency to old version of netty? -->
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700723 <groupId>io.netty</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700724 <artifactId>netty</artifactId>
Yuta HIGUCHI29af9b52014-07-29 00:13:54 -0700725 <version>3.9.2.Final</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700726 </dependency>
727 <!-- Dependency for libraries used for testing -->
728 <dependency>
729 <groupId>junit</groupId>
730 <artifactId>junit</artifactId>
731 <version>4.11</version>
732 <scope>test</scope>
733 </dependency>
734 <dependency>
735 <groupId>org.hamcrest</groupId>
736 <artifactId>hamcrest-core</artifactId>
737 <version>1.3</version>
738 <scope>test</scope>
739 </dependency>
740 <dependency>
741 <groupId>org.hamcrest</groupId>
742 <artifactId>hamcrest-library</artifactId>
743 <version>1.3</version>
744 <scope>test</scope>
745 </dependency>
746 <dependency>
747 <groupId>org.easymock</groupId>
748 <artifactId>easymock</artifactId>
Yuta HIGUCHI08469962014-07-22 17:52:22 -0700749 <version>3.2</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700750 <scope>test</scope>
751 </dependency>
752 <dependency>
753 <groupId>org.powermock</groupId>
754 <artifactId>powermock-module-junit4</artifactId>
755 <version>${powermock.version}</version>
756 <scope>test</scope>
757 </dependency>
758 <dependency>
759 <groupId>org.powermock</groupId>
760 <artifactId>powermock-api-easymock</artifactId>
761 <version>${powermock.version}</version>
762 <scope>test</scope>
763 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700764 </dependencies>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700765 <profiles>
766 <!-- Jenkins by default defines a property BUILD_NUMBER which is used to
767 enable the profile. -->
768 <profile>
769 <id>jenkins</id>
770 <activation>
771 <property>
772 <name>env.BUILD_NUMBER</name>
773 </property>
774 </activation>
775 <build>
776 <plugins>
777 <plugin>
778 <groupId>org.codehaus.mojo</groupId>
779 <artifactId>cobertura-maven-plugin</artifactId>
780 <version>${cobertura-maven-plugin.version}</version>
781 <configuration>
782 <formats>
783 <format>xml</format>
784 </formats>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700785 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700786 </configuration>
787 <executions>
788 <execution>
789 <phase>package</phase>
790 <goals>
791 <goal>cobertura</goal>
792 </goals>
793 </execution>
794 </executions>
795 </plugin>
796 </plugins>
797 </build>
798 </profile>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -0700799 <profile>
800 <id>all-tests</id>
801 <build>
802 <plugins>
803 <plugin>
804 <groupId>org.apache.maven.plugins</groupId>
805 <artifactId>maven-surefire-plugin</artifactId>
806 <version>${maven.surefire.plugin.version}</version>
807 <configuration combine.self="merge">
808 <excludedGroups></excludedGroups>
809 </configuration>
810 </plugin>
811 </plugins>
812 </build>
813 </profile>
Yuta HIGUCHIee0c5b62014-07-22 23:22:47 -0700814 <profile>
815 <id>error-prone</id>
816 <build>
817 <plugins>
818 <plugin>
819 <groupId>org.apache.maven.plugins</groupId>
820 <artifactId>maven-compiler-plugin</artifactId>
821 <version>3.1</version>
822 <configuration>
823 <compilerArgs combine.children="append">
824 <!-- FIXME -Xlint:-path required when using findbugs + error-prone -->
825 <arg>-Xlint:-path</arg>
826 </compilerArgs>
827 <!-- Turn on error-prone -->
828 <compilerId>javac-with-errorprone</compilerId>
829 <forceJavacCompilerUse>true</forceJavacCompilerUse>
830 </configuration>
831 <dependencies combine.children="append">
832 <dependency>
833 <groupId>com.google.errorprone</groupId>
834 <artifactId>error_prone_core</artifactId>
835 <version>1.1.2</version>
836 </dependency>
837 <dependency>
838 <groupId>org.codehaus.plexus</groupId>
839 <artifactId>plexus-compiler-javac</artifactId>
840 <version>2.3</version>
841 </dependency>
842 <dependency>
843 <groupId>org.codehaus.plexus</groupId>
844 <artifactId>plexus-compiler-javac-errorprone</artifactId>
845 <version>2.3</version>
846 </dependency>
847 </dependencies>
848 </plugin>
849 </plugins>
850 </build>
851 </profile>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700852 </profiles>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700853</project>