blob: 779d78c4343b60d669a05053ff13dc8f48ecd14d [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>
Jonathan Hartc78b8f62014-08-07 22:31:09 -0700170 <excludePackageNames>net.floodlightcontroller.*: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>net/floodlightcontroller/**/web/**/*.class</exclude>
276 </excludes>
277 </instrumentation>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700278 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700279 </configuration>
280 <executions>
281 <execution>
282 <goals>
283 <goal>clean</goal>
284 </goals>
285 </execution>
286 </executions>
287 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700288 <!-- Note: the findbugs configuration is also in the reporting section -->
289 <plugin>
290 <groupId>org.codehaus.mojo</groupId>
291 <artifactId>findbugs-maven-plugin</artifactId>
292 <version>${findbugs-plugin.version}</version>
293 <configuration>
294 <effort>${findbugs.effort}</effort>
295 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
296 </configuration>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700297 <executions>
298 <execution>
299 <id>validate-findbugs</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700300 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700301 <goals>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700302 <goal>check</goal>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700303 </goals>
304 </execution>
305 </executions>
Ray Milkey70d91cc2014-03-18 15:22:27 -0700306 </plugin>
307 <plugin>
308 <groupId>org.apache.maven.plugins</groupId>
309 <artifactId>maven-pmd-plugin</artifactId>
310 <version>3.1</version>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700311 <configuration>
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700312 <!--
313 Note: Exclusion definition exists in multiple places.
314 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700315 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700316 - maven-pmd-plugin configuration in pom.xml
317 (under build and reporting)
318 -->
Ray Milkeyb5716c52014-04-07 11:38:27 -0700319 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700320 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700321 <exclude>**/edu/stanford/**</exclude>
322 <exclude>**/net/floodlightcontroller/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700323 </excludes>
324 <rulesets>
325 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
326 </rulesets>
327 </configuration>
328 <executions>
329 <execution>
330 <id>validate-pmd</id>
Yuta HIGUCHI82566512014-04-16 09:44:17 -0700331 <phase>verify</phase>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700332 <goals>
333 <!-- Uncomment this goal to make the build fail on pmd errors -->
334 <!--<goal>check</goal>-->
335 </goals>
336 </execution>
337 </executions>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700338 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700339 </plugins>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800340 <pluginManagement>
341 <plugins>
342 <!--This plugin's configuration is used to store Eclipse m2e settings
343 only. It has no influence on the Maven build itself. -->
344 <plugin>
345 <groupId>org.eclipse.m2e</groupId>
346 <artifactId>lifecycle-mapping</artifactId>
347 <version>1.0.0</version>
348 <configuration>
349 <lifecycleMappingMetadata>
350 <pluginExecutions>
351 <pluginExecution>
352 <pluginExecutionFilter>
353 <groupId>
354 org.apache.maven.plugins
355 </groupId>
356 <artifactId>
357 maven-dependency-plugin
358 </artifactId>
359 <versionRange>[2.8,)</versionRange>
360 <goals>
361 <goal>build-classpath</goal>
362 </goals>
363 </pluginExecutionFilter>
364 <action>
365 <ignore></ignore>
366 </action>
367 </pluginExecution>
Yuta HIGUCHIfbd9a7e2014-03-23 00:18:50 -0700368 <pluginExecution>
369 <pluginExecutionFilter>
370 <groupId>org.codehaus.gmaven</groupId>
371 <artifactId>groovy-maven-plugin</artifactId>
372 <versionRange>[2.0,)</versionRange>
373 <goals>
374 <goal>execute</goal>
375 </goals>
376 </pluginExecutionFilter>
377 <action>
378 <ignore></ignore>
379 </action>
380 </pluginExecution>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800381 </pluginExecutions>
382 </lifecycleMappingMetadata>
383 </configuration>
384 </plugin>
385 </plugins>
386 </pluginManagement>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700387 </build>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700388 <!-- for getting visualization reporting -->
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700389 <reporting>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700390 <excludeDefaults>true</excludeDefaults>
391 <outputDirectory>${project.build.directory}/site</outputDirectory>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700392 <plugins>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700393 <plugin>
394 <groupId>org.apache.maven.plugins</groupId>
395 <artifactId>maven-project-info-reports-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700396 <version>2.7</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700397 <configuration>
398 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
399 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
400 </configuration>
401 <reportSets>
402 <reportSet>
403 <reports>
404 <report>dependencies</report>
405 <report>scm</report>
406 </reports>
407 </reportSet>
408 </reportSets>
409 </plugin>
410 <plugin>
411 <groupId>org.apache.maven.plugins</groupId>
412 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700413 <version>2.9.1</version>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700414 <configuration>
415 <charset>UTF-8</charset>
416 <locale>en</locale>
Yuta HIGUCHIf4f9b282014-06-10 10:50:49 -0700417 <author>false</author>
418 <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames>
Naoki Shiota1c393ce2013-06-28 22:55:14 -0700419 </configuration>
420 </plugin>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800421 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700422 <!-- Note: the checkstyle configuration is also in the build section -->
423 <groupId>org.apache.maven.plugins</groupId>
424 <artifactId>maven-checkstyle-plugin</artifactId>
425 <version>${checkstyle-plugin.version}</version>
426 <configuration>
427 <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700428 <!--
429 Note: Exclusion definition exists in multiple places.
430 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
431 - maven-checkstyle-plugin configuration in pom.xml
432 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700433 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700434 -->
Yuta HIGUCHIcbbaed32014-05-14 20:27:43 -0700435 <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation>
Yuta HIGUCHI91a8f502014-06-17 10:15:29 -0700436 <includeTestSourceDirectory>true</includeTestSourceDirectory>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700437 </configuration>
438 <reportSets>
439 <reportSet>
440 <reports>
441 <report>checkstyle</report>
442 </reports>
443 </reportSet>
444 </reportSets>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800445 </plugin>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700446 <!-- Note: the findbugs configuration is also in the build section -->
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800447 <plugin>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700448 <groupId>org.codehaus.mojo</groupId>
449 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700450 <version>${findbugs-plugin.version}</version>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700451 <configuration>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700452 <effort>${findbugs.effort}</effort>
453 <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700454 <reportPlugins>
455 <plugin>
456 <groupId>org.codehaus.mojo</groupId>
457 <artifactId>findbugs-maven-plugin</artifactId>
458 </plugin>
459 </reportPlugins>
460 </configuration>
461 </plugin>
462 <plugin>
463 <groupId>org.apache.maven.plugins</groupId>
464 <artifactId>maven-pmd-plugin</artifactId>
Yuta HIGUCHI01c5ed92014-03-18 11:08:22 -0700465 <version>3.1</version>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700466 <configuration>
467 <!--
468 Note: Exclusion definition exists in multiple places.
469 - In file ${findbugs.excludeFilterFile} defined at top of pom.xml
Yuta HIGUCHI057f7bc2014-04-16 17:37:41 -0700470 - In file conf/checkstyle/onos_suppressions.xml
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700471 - maven-pmd-plugin configuration in pom.xml
Yuta HIGUCHIabdb3562014-03-27 13:37:36 -0700472 (under build and reporting)
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700473 -->
474 <excludes>
Yuta HIGUCHI1cd90292014-04-03 14:31:10 -0700475 <exclude>**/datastore/serializers/**</exclude>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700476 <exclude>**/edu/stanford/**</exclude>
477 <exclude>**/net/floodlightcontroller/**</exclude>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700478 </excludes>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700479 <rulesets>
480 <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset>
481 </rulesets>
Yuta HIGUCHI6cab6382014-03-17 13:47:38 -0700482 </configuration>
Ray Milkey8d3a2f02014-03-10 18:13:35 -0700483 </plugin>
484 <plugin>
Ray Milkeyb5716c52014-04-07 11:38:27 -0700485 <groupId>org.apache.maven.plugins</groupId>
486 <artifactId>maven-jxr-plugin</artifactId>
487 <version>2.4</version>
Pavlin Radoslavov4f090a82013-12-13 18:45:45 -0800488 </plugin>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700489 <plugin>
490 <groupId>org.codehaus.mojo</groupId>
491 <artifactId>cobertura-maven-plugin</artifactId>
492 <version>${cobertura-maven-plugin.version}</version>
493 </plugin>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700494 </plugins>
495 </reporting>
496 <dependencies>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800497 <!-- ONOS's direct dependencies -->
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700498 <dependency>
499 <groupId>com.esotericsoftware.kryo</groupId>
500 <artifactId>kryo</artifactId>
Yuta HIGUCHI6a518df2014-05-07 20:40:23 -0700501 <version>2.24.0</version>
Yuta HIGUCHI5548a492013-10-24 00:39:23 -0700502 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700503 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800504 <groupId>com.google.protobuf</groupId>
505 <artifactId>protobuf-java</artifactId>
506 <version>2.5.0</version>
yoshi28bac132014-01-22 11:00:17 -0800507 </dependency>
508 <dependency>
yoshi2fd4c7e2013-11-22 15:47:55 -0800509 <groupId>com.hazelcast</groupId>
510 <artifactId>hazelcast</artifactId>
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700511 <version>${hazelcast.version}</version>
512 </dependency>
513 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700514 <!-- Required for backend datastore as Hazelcast -->
Yuta HIGUCHI6a643132014-03-18 22:39:27 -0700515 <groupId>com.hazelcast</groupId>
516 <artifactId>hazelcast-client</artifactId>
517 <version>${hazelcast.version}</version>
yoshi2fd4c7e2013-11-22 15:47:55 -0800518 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700519 <dependency>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700520 <groupId>javax.websocket</groupId>
521 <artifactId>javax.websocket-api</artifactId>
522 <version>1.0</version>
523 </dependency>
524 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700525 <groupId>net.sf.json-lib</groupId>
526 <artifactId>json-lib</artifactId>
527 <version>2.4</version>
528 <classifier>jdk15</classifier>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700529 </dependency>
530 <dependency>
Pavlin Radoslavovde4c3892014-07-06 23:19:59 -0700531 <groupId>org.eclipse.jetty</groupId>
532 <artifactId>jetty-server</artifactId>
533 <version>9.2.1.v20140609</version>
534 </dependency>
535 <dependency>
536 <groupId>org.eclipse.jetty</groupId>
537 <artifactId>jetty-servlet</artifactId>
538 <version>9.2.1.v20140609</version>
539 </dependency>
540 <dependency>
541 <groupId>org.eclipse.jetty.websocket</groupId>
542 <artifactId>javax-websocket-server-impl</artifactId>
543 <version>9.2.1.v20140609</version>
544 </dependency>
545 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700546 <groupId>org.restlet.jse</groupId>
547 <artifactId>org.restlet</artifactId>
548 <version>${restlet.version}</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700549 </dependency>
550 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700551 <groupId>org.restlet.jse</groupId>
552 <artifactId>org.restlet.ext.slf4j</artifactId>
553 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700554 <scope>runtime</scope>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700555 </dependency>
556 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700557 <groupId>org.restlet.jse</groupId>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700558 <artifactId>org.restlet.ext.json</artifactId>
559 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700560 <scope>runtime</scope>
561 </dependency>
562 <dependency>
563 <groupId>org.restlet.jse</groupId>
564 <artifactId>org.restlet.lib.org.json</artifactId>
565 <version>2.0</version>
Ray Milkey3aeda4f2014-05-21 14:38:58 -0700566 </dependency>
567 <dependency>
568 <groupId>org.restlet.jse</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700569 <artifactId>org.restlet.ext.jackson</artifactId>
570 <version>${restlet.version}</version>
571 </dependency>
572 <dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700573 <groupId>org.codehaus.jackson</groupId>
574 <artifactId>jackson-core-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700575 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700576 </dependency>
577 <dependency>
578 <groupId>org.codehaus.jackson</groupId>
579 <artifactId>jackson-mapper-asl</artifactId>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700580 <version>1.9.13</version>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700581 </dependency>
582 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700583 <groupId>org.restlet.jse</groupId>
584 <artifactId>org.restlet.ext.simple</artifactId>
585 <version>${restlet.version}</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700586 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700587 </dependency>
588 <dependency>
589 <groupId>org.simpleframework</groupId>
590 <artifactId>simple</artifactId>
591 <version>4.1.21</version>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700592 <scope>runtime</scope>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700593 </dependency>
594 <dependency>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700595 <groupId>ch.qos.logback</groupId>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700596 <artifactId>logback-classic</artifactId>
Yuta HIGUCHI001159d2014-07-23 11:53:32 -0700597 <version>1.1.2</version>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700598 </dependency>
599 <dependency>
600 <groupId>ch.qos.logback</groupId>
601 <artifactId>logback-core</artifactId>
602 <version>1.1.2</version>
HIGUCHI Yuta9f5c5a72013-06-11 13:21:43 -0700603 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800604 <dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700605 <groupId>org.slf4j</groupId>
606 <artifactId>slf4j-api</artifactId>
607 <version>1.7.5</version>
608 </dependency>
609 <dependency>
610 <groupId>com.google.guava</groupId>
611 <artifactId>guava</artifactId>
Sho SHIMIZU00ec3512014-07-22 21:02:56 -0700612 <version>17.0</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700613 </dependency>
614 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800615 <groupId>commons-configuration</groupId>
616 <artifactId>commons-configuration</artifactId>
Yuta HIGUCHI56f294e2014-07-23 11:09:06 -0700617 <version>1.10</version>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800618 </dependency>
619 <dependency>
Yuta HIGUCHI850b0042014-04-16 15:10:31 -0700620 <groupId>commons-lang</groupId>
621 <artifactId>commons-lang</artifactId>
622 <version>2.6</version>
623 </dependency>
624 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800625 <groupId>commons-httpclient</groupId>
626 <artifactId>commons-httpclient</artifactId>
627 <version>3.1</version>
628 </dependency>
629 <dependency>
Yuta HIGUCHI0c883d02014-07-23 10:59:17 -0700630 <groupId>org.apache.commons</groupId>
631 <artifactId>commons-collections4</artifactId>
632 <version>4.0</version>
Yuta HIGUCHId395b932014-05-01 15:15:20 -0700633 </dependency>
634 <dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800635 <groupId>org.apache.zookeeper</groupId>
636 <artifactId>zookeeper</artifactId>
Yuta HIGUCHIfb1905a2014-06-09 14:07:34 -0700637 <version>3.4.6</version>
Yuta HIGUCHI6d935e52014-03-28 10:34:26 -0700638 <scope>runtime</scope>
Yuta HIGUCHIffdb9132014-06-23 09:30:38 -0700639 <!-- Excluding log4j. ONOS uses logback-classic for SLF4J. -->
640 <exclusions>
641 <exclusion>
642 <artifactId>slf4j-log4j12</artifactId>
643 <groupId>org.slf4j</groupId>
644 </exclusion>
645 <exclusion>
646 <artifactId>log4j</artifactId>
647 <groupId>log4j</groupId>
648 </exclusion>
649 </exclusions>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800650 </dependency>
Yuta HIGUCHI824552a2014-03-07 13:01:06 -0800651 <dependency>
Jonathan Hartf6978ce2014-06-23 11:20:04 -0700652 <groupId>com.googlecode.concurrent-trees</groupId>
653 <artifactId>concurrent-trees</artifactId>
654 <version>2.4.0</version>
655 </dependency>
656 <dependency>
Jonathan Hart116b1fe2014-03-14 18:53:47 -0700657 <groupId>org.apache.curator</groupId>
658 <artifactId>curator-framework</artifactId>
659 <version>2.4.1</version>
660 </dependency>
661 <dependency>
662 <groupId>org.apache.curator</groupId>
663 <artifactId>curator-client</artifactId>
664 <version>2.4.1</version>
665 </dependency>
666 <dependency>
667 <groupId>org.apache.curator</groupId>
668 <artifactId>curator-recipes</artifactId>
669 <version>2.4.1</version>
670 </dependency>
671 <dependency>
672 <groupId>org.apache.curator</groupId>
673 <artifactId>curator-x-discovery</artifactId>
674 <version>2.4.1</version>
675 </dependency>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700676 <dependency>
Yuta HIGUCHIec7c0a52014-08-06 19:08:15 -0700677 <!-- findbugs suppression annotation and @GuardedBy, etc. -->
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700678 <groupId>com.google.code.findbugs</groupId>
Yuta HIGUCHIec7c0a52014-08-06 19:08:15 -0700679 <artifactId>annotations</artifactId>
Yuta HIGUCHI042e82a2014-04-25 22:37:03 -0700680 <version>${findbugs.version}</version>
Yuta HIGUCHI6ee19182014-04-11 09:48:35 -0700681 </dependency>
Ray Milkey26921af2014-06-30 16:27:40 -0700682 <dependency>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700683 <groupId>com.fasterxml.jackson.core</groupId>
684 <artifactId>jackson-annotations</artifactId>
685 <version>2.4.0</version>
686 </dependency>
687 <dependency>
Ray Milkey26921af2014-06-30 16:27:40 -0700688 <groupId>com.codahale.metrics</groupId>
689 <artifactId>metrics-core</artifactId>
690 <version>${metrics.version}</version>
691 </dependency>
692 <dependency>
693 <groupId>com.codahale.metrics</groupId>
694 <artifactId>metrics-json</artifactId>
695 <version>${metrics.version}</version>
696 </dependency>
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700697 <dependency>
698 <groupId>com.fasterxml.jackson.core</groupId>
699 <artifactId>jackson-databind</artifactId>
700 <version>2.2.2</version>
701 </dependency>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700702 <dependency>
703 <groupId>org.projectfloodlight</groupId>
704 <artifactId>openflowj</artifactId>
Matteo Gerolae95f4ea2014-08-06 16:15:01 +0200705 <version>0.3.8-SNAPSHOT</version>
Brian O'Connorc67f9fa2014-08-07 18:17:46 -0700706 </dependency>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700707 <!-- Floodlight's dependencies -->
708 <dependency>
709 <groupId>args4j</groupId>
710 <artifactId>args4j</artifactId>
711 <version>2.0.25</version>
712 </dependency>
713 <dependency>
714 <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
715 <artifactId>concurrentlinkedhashmap-lru</artifactId>
716 <version>1.4</version>
717 </dependency>
718 <dependency>
719 <!-- dependency to old version of netty? -->
Yuta HIGUCHIaa2131f2014-07-28 23:45:47 -0700720 <groupId>io.netty</groupId>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700721 <artifactId>netty</artifactId>
Yuta HIGUCHI29af9b52014-07-29 00:13:54 -0700722 <version>3.9.2.Final</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700723 </dependency>
724 <!-- Dependency for libraries used for testing -->
725 <dependency>
726 <groupId>junit</groupId>
727 <artifactId>junit</artifactId>
728 <version>4.11</version>
729 <scope>test</scope>
730 </dependency>
731 <dependency>
732 <groupId>org.hamcrest</groupId>
733 <artifactId>hamcrest-core</artifactId>
734 <version>1.3</version>
735 <scope>test</scope>
736 </dependency>
737 <dependency>
738 <groupId>org.hamcrest</groupId>
739 <artifactId>hamcrest-library</artifactId>
740 <version>1.3</version>
741 <scope>test</scope>
742 </dependency>
743 <dependency>
744 <groupId>org.easymock</groupId>
745 <artifactId>easymock</artifactId>
Yuta HIGUCHI08469962014-07-22 17:52:22 -0700746 <version>3.2</version>
Yuta HIGUCHId209c0b2014-04-25 23:33:27 -0700747 <scope>test</scope>
748 </dependency>
749 <dependency>
750 <groupId>org.powermock</groupId>
751 <artifactId>powermock-module-junit4</artifactId>
752 <version>${powermock.version}</version>
753 <scope>test</scope>
754 </dependency>
755 <dependency>
756 <groupId>org.powermock</groupId>
757 <artifactId>powermock-api-easymock</artifactId>
758 <version>${powermock.version}</version>
759 <scope>test</scope>
760 </dependency>
HIGUCHI Yutae7aa9252013-06-06 14:54:21 -0700761 </dependencies>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700762 <profiles>
763 <!-- Jenkins by default defines a property BUILD_NUMBER which is used to
764 enable the profile. -->
765 <profile>
766 <id>jenkins</id>
767 <activation>
768 <property>
769 <name>env.BUILD_NUMBER</name>
770 </property>
771 </activation>
772 <build>
773 <plugins>
774 <plugin>
775 <groupId>org.codehaus.mojo</groupId>
776 <artifactId>cobertura-maven-plugin</artifactId>
777 <version>${cobertura-maven-plugin.version}</version>
778 <configuration>
779 <formats>
780 <format>xml</format>
781 </formats>
Yuta HIGUCHI2d624d32014-06-03 00:09:10 -0700782 <quiet>true</quiet>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700783 </configuration>
784 <executions>
785 <execution>
786 <phase>package</phase>
787 <goals>
788 <goal>cobertura</goal>
789 </goals>
790 </execution>
791 </executions>
792 </plugin>
793 </plugins>
794 </build>
795 </profile>
Yuta HIGUCHIcd2eb112014-07-21 23:20:23 -0700796 <profile>
797 <id>all-tests</id>
798 <build>
799 <plugins>
800 <plugin>
801 <groupId>org.apache.maven.plugins</groupId>
802 <artifactId>maven-surefire-plugin</artifactId>
803 <version>${maven.surefire.plugin.version}</version>
804 <configuration combine.self="merge">
805 <excludedGroups></excludedGroups>
806 </configuration>
807 </plugin>
808 </plugins>
809 </build>
810 </profile>
Yuta HIGUCHIee0c5b62014-07-22 23:22:47 -0700811 <profile>
812 <id>error-prone</id>
813 <build>
814 <plugins>
815 <plugin>
816 <groupId>org.apache.maven.plugins</groupId>
817 <artifactId>maven-compiler-plugin</artifactId>
818 <version>3.1</version>
819 <configuration>
820 <compilerArgs combine.children="append">
821 <!-- FIXME -Xlint:-path required when using findbugs + error-prone -->
822 <arg>-Xlint:-path</arg>
823 </compilerArgs>
824 <!-- Turn on error-prone -->
825 <compilerId>javac-with-errorprone</compilerId>
826 <forceJavacCompilerUse>true</forceJavacCompilerUse>
827 </configuration>
828 <dependencies combine.children="append">
829 <dependency>
830 <groupId>com.google.errorprone</groupId>
831 <artifactId>error_prone_core</artifactId>
832 <version>1.1.2</version>
833 </dependency>
834 <dependency>
835 <groupId>org.codehaus.plexus</groupId>
836 <artifactId>plexus-compiler-javac</artifactId>
837 <version>2.3</version>
838 </dependency>
839 <dependency>
840 <groupId>org.codehaus.plexus</groupId>
841 <artifactId>plexus-compiler-javac-errorprone</artifactId>
842 <version>2.3</version>
843 </dependency>
844 </dependencies>
845 </plugin>
846 </plugins>
847 </build>
848 </profile>
Yuta HIGUCHI8aa2f9b2014-07-28 11:33:45 -0700849 <profile>
850 <id>hz-cli</id>
851 <build>
852 <plugins>
853 <!-- mvn exec:java -P hz-cli to start Hazelcast CLI -->
854 <plugin>
855 <groupId>org.codehaus.mojo</groupId>
856 <artifactId>exec-maven-plugin</artifactId>
857 <version>1.2.1</version>
858 <configuration>
859 <mainClass>net.onrc.onos.core.datagrid.HazelcastCLI</mainClass>
860 <systemProperties>
861 <systemProperty>
862 <key>hazelcast.logging.type</key>
863 <value>slf4j</value>
864 </systemProperty>
865 </systemProperties>
866 </configuration>
867 <executions>
868 </executions>
869 </plugin>
870 </plugins>
871 </build>
872 </profile>
Yuta HIGUCHI889958b2014-03-12 12:05:47 -0700873 </profiles>
Pankaj Berde85c58f92013-10-03 18:26:08 -0700874</project>