blob: 49341862f4d35f7937d916f5ecd805d7f999288a [file] [log] [blame]
alshabib522d9872014-08-15 10:35:16 -07001<?xml version="1.0" encoding="UTF-8"?>
tom09419512014-08-15 11:28:43 -07002<project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5 <modelVersion>4.0.0</modelVersion>
alshabib522d9872014-08-15 10:35:16 -07006
tom0eb04ca2014-08-25 14:34:51 -07007 <groupId>org.onlab.onos</groupId>
tom09419512014-08-15 11:28:43 -07008 <artifactId>onos</artifactId>
9 <packaging>pom</packaging>
10 <version>1.0.0-SNAPSHOT</version>
alshabib522d9872014-08-15 10:35:16 -070011
tom0eb04ca2014-08-25 14:34:51 -070012 <description>Open Networking Operating System root project</description>
tom09419512014-08-15 11:28:43 -070013
14 <modules>
tom0eb04ca2014-08-25 14:34:51 -070015 <module>tools/build/conf</module>
16 <module>utils</module>
tome2dc27a2014-09-09 12:41:21 -070017 <module>core</module>
tom0eb04ca2014-08-25 14:34:51 -070018 <module>web</module>
19 <module>cli</module>
20 <module>providers</module>
tom09419512014-08-15 11:28:43 -070021 <module>of</module>
tom8bb16062014-09-12 14:47:46 -070022 <module>apps</module>
tom09419512014-08-15 11:28:43 -070023 <module>features</module>
24 </modules>
25
26 <url>http://onlab.us/</url>
27
28 <licenses>
29 <license>
30 <!-- TODO: Is this really our license scheme? -->
31 <name>Apache License, Version 2.0</name>
32 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
33 </license>
34 </licenses>
35
tom0eb04ca2014-08-25 14:34:51 -070036 <dependencyManagement>
37 <dependencies>
38 <dependency>
39 <groupId>junit</groupId>
40 <artifactId>junit</artifactId>
41 <version>4.11</version>
42 <scope>test</scope>
43 </dependency>
tom09419512014-08-15 11:28:43 -070044
tom0eb04ca2014-08-25 14:34:51 -070045 <dependency>
46 <groupId>org.slf4j</groupId>
47 <artifactId>slf4j-api</artifactId>
48 <version>1.7.6</version>
49 <scope>provided</scope>
50 </dependency>
51
52 <dependency>
53 <groupId>org.slf4j</groupId>
54 <artifactId>slf4j-jdk14</artifactId>
55 <version>1.7.6</version>
56 <scope>test</scope>
57 </dependency>
58
59 <dependency>
60 <groupId>com.google.guava</groupId>
61 <artifactId>guava</artifactId>
tomeadbb462014-09-07 16:10:19 -070062 <version>18.0</version>
tom0eb04ca2014-08-25 14:34:51 -070063 </dependency>
64
alshabibdf652ad2014-09-09 11:53:19 -070065 <dependency>
66 <groupId>io.netty</groupId>
67 <artifactId>netty</artifactId>
68 <version>3.9.0.Final</version>
69 </dependency>
70
71
72
tomde8d9682014-08-27 01:11:43 -070073 <dependency>
74 <groupId>com.google.guava</groupId>
75 <artifactId>guava-testlib</artifactId>
tomeadbb462014-09-07 16:10:19 -070076 <version>18.0</version>
tomde8d9682014-08-27 01:11:43 -070077 <scope>test</scope>
78 </dependency>
79
tom6d2a43e2014-09-08 01:50:20 -070080 <dependency>
81 <groupId>commons-lang</groupId>
82 <artifactId>commons-lang</artifactId>
83 <version>2.6</version>
84 </dependency>
tomde8d9682014-08-27 01:11:43 -070085
tom0eb04ca2014-08-25 14:34:51 -070086 <!-- Web related -->
87 <dependency>
88 <groupId>com.sun.jersey</groupId>
89 <artifactId>jersey-servlet</artifactId>
90 <version>1.18.1</version>
91 <scope>provided</scope>
92 </dependency>
93 <dependency>
94 <groupId>com.fasterxml.jackson.core</groupId>
95 <artifactId>jackson-databind</artifactId>
96 <version>2.4.2</version>
97 <scope>provided</scope>
98 </dependency>
99 <dependency>
100 <groupId>com.fasterxml.jackson.core</groupId>
101 <artifactId>jackson-annotations</artifactId>
102 <version>2.4.2</version>
103 <scope>provided</scope>
104 </dependency>
105
106 <!-- OSGi related -->
107 <dependency>
108 <groupId>org.osgi</groupId>
109 <artifactId>org.osgi.core</artifactId>
110 <version>4.3.1</version>
111 <scope>provided</scope>
112 </dependency>
113 <dependency>
114 <groupId>org.apache.felix</groupId>
115 <artifactId>org.apache.felix.scr.annotations</artifactId>
116 <version>1.9.8</version>
117 <scope>provided</scope>
118 </dependency>
119 <dependency>
120 <groupId>org.apache.karaf.shell</groupId>
121 <artifactId>org.apache.karaf.shell.console</artifactId>
122 <version>3.0.1</version>
123 <scope>provided</scope>
124 </dependency>
125
126 <!-- ONOS related -->
127 <dependency>
128 <groupId>org.onlab.onos</groupId>
tom5f38b3a2014-08-27 23:50:54 -0700129 <artifactId>onlab-misc</artifactId>
130 <version>${project.version}</version>
131 </dependency>
132
133 <dependency>
134 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700135 <artifactId>onos-api</artifactId>
136 <version>${project.version}</version>
137 </dependency>
138 <dependency>
139 <groupId>org.onlab.onos</groupId>
140 <artifactId>onos-of-api</artifactId>
141 <version>${project.version}</version>
142 </dependency>
143
144 </dependencies>
145 </dependencyManagement>
146
147 <dependencies>
148 <dependency>
149 <groupId>junit</groupId>
150 <artifactId>junit</artifactId>
151 </dependency>
152 <dependency>
153 <groupId>org.slf4j</groupId>
154 <artifactId>slf4j-jdk14</artifactId>
155 </dependency>
156 </dependencies>
tom09419512014-08-15 11:28:43 -0700157
158 <build>
159 <pluginManagement>
160 <plugins>
161 <plugin>
162 <groupId>org.apache.maven.plugins</groupId>
163 <artifactId>maven-compiler-plugin</artifactId>
164 <version>3.1</version>
165 <configuration>
166 <source>1.7</source>
167 <target>1.7</target>
168 </configuration>
169 </plugin>
170
171 <plugin>
172 <groupId>org.apache.maven.plugins</groupId>
173 <artifactId>maven-surefire-plugin</artifactId>
174 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700175 <configuration>
176 <redirectTestOutputToFile>true</redirectTestOutputToFile>
177 <printSummary>true</printSummary>
178 </configuration>
tom09419512014-08-15 11:28:43 -0700179 </plugin>
180
181 <plugin>
182 <groupId>org.apache.maven.plugins</groupId>
183 <artifactId>maven-jar-plugin</artifactId>
184 <version>2.3.1</version>
185 <executions>
186 <execution>
187 <phase>package</phase>
188 <goals>
189 <goal>test-jar</goal>
190 </goals>
191 </execution>
192 </executions>
193 </plugin>
194
195 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700196 <groupId>org.apache.maven.plugins</groupId>
197 <artifactId>maven-resources-plugin</artifactId>
198 <version>2.6</version>
199 </plugin>
200
201 <plugin>
tom09419512014-08-15 11:28:43 -0700202 <groupId>org.apache.felix</groupId>
203 <artifactId>maven-bundle-plugin</artifactId>
204 <version>2.3.7</version>
205 <extensions>true</extensions>
206 </plugin>
207
208 <plugin>
209 <groupId>org.apache.felix</groupId>
210 <artifactId>maven-scr-plugin</artifactId>
211 <version>1.15.0</version>
212 <executions>
213 <execution>
214 <id>generate-scr-srcdescriptor</id>
215 <goals>
216 <goal>scr</goal>
217 </goals>
218 </execution>
219 </executions>
220 <configuration>
221 <supportedProjectTypes>
222 <supportedProjectType>bundle</supportedProjectType>
223 <supportedProjectType>war</supportedProjectType>
224 </supportedProjectTypes>
225 </configuration>
226 </plugin>
227
tom09419512014-08-15 11:28:43 -0700228 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
229 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
230 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
231
232 </plugins>
tom09419512014-08-15 11:28:43 -0700233 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700234
235 <plugins>
236 <plugin>
237 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700238 <artifactId>maven-jar-plugin</artifactId>
239 </plugin>
240
241 <plugin>
242 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700243 <artifactId>maven-checkstyle-plugin</artifactId>
244 <version>2.12.1</version>
245 <dependencies>
246 <dependency>
247 <groupId>org.onlab.tools</groupId>
248 <artifactId>onos-build-conf</artifactId>
249 <version>1.0</version>
250 </dependency>
251 </dependencies>
252 <configuration>
253 <configLocation>onos/checkstyle.xml</configLocation>
254 <suppressionsLocation>onos/suppressions.xml
255 </suppressionsLocation>
256 <failsOnError>false</failsOnError>
257 <logViolationsToConsole>true</logViolationsToConsole>
258 <includeTestSourceDirectory>true
259 </includeTestSourceDirectory>
260 </configuration>
261 <executions>
262 <execution>
263 <id>validate-checkstyle</id>
264 <phase>verify</phase>
265 <goals>
266 <goal>check</goal>
267 </goals>
268 </execution>
269 </executions>
270 </plugin>
271
272 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700273 <groupId>org.apache.maven.plugins</groupId>
274 <artifactId>maven-pmd-plugin</artifactId>
275 <version>3.2</version>
276 <configuration>
277 <excludes>
278 <exclude>**/datastore/serializers/**</exclude>
279 <exclude>**/edu/stanford/**</exclude>
280 <exclude>**/net/floodlightcontroller/**</exclude>
281 </excludes>
282 <rulesets>
283 <ruleset>onos/pmd.xml</ruleset>
284 </rulesets>
285 </configuration>
286 <executions>
287 <execution>
288 <id>validate-pmd</id>
289 <phase>verify</phase>
290 <goals>
291 <!-- Uncomment this goal to make the build fail on pmd errors -->
292 <!--<goal>check</goal>-->
293 </goals>
294 </execution>
295 </executions>
296 </plugin>
297
298 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700299 <groupId>org.jacoco</groupId>
300 <artifactId>jacoco-maven-plugin</artifactId>
301 <version>0.7.1.201405082137</version>
302 <executions>
303 <execution>
304 <id>default-prepare-agent</id>
305 <goals>
306 <goal>prepare-agent</goal>
307 </goals>
308 </execution>
309 <execution>
310 <id>default-report</id>
311 <phase>prepare-package</phase>
312 <goals>
313 <goal>report</goal>
314 </goals>
315 </execution>
316 </executions>
317 </plugin>
318
319 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700320 <groupId>org.apache.maven.plugins</groupId>
321 <artifactId>maven-javadoc-plugin</artifactId>
322 <version>2.9.1</version>
323 <configuration>
tom578ebdc2014-09-11 11:12:51 -0700324 <show>package</show>
tom0eb04ca2014-08-25 14:34:51 -0700325 <docfilessubdirs>true</docfilessubdirs>
326 <doctitle>ONOS Java API</doctitle>
327 <groups>
328 <group>
329 <title>Network Model &amp; Services</title>
330 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700331 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700332 </packages>
333 </group>
334 <group>
335 <title>Core Subsystems</title>
336 <packages>
tom8bf2e6b2014-09-10 20:53:54 -0700337 org.onlab.onos.net.trivial.*:org.onlab.onos.net.*.impl:org.onlab.onos.impl:org.onlab.onos.event.impl
tom0eb04ca2014-08-25 14:34:51 -0700338 </packages>
339 </group>
340 <group>
341 <title>OpenFlow Providers &amp; Controller
342 </title>
343 <packages>
tome06f8552014-08-26 16:58:42 -0700344 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700345 </packages>
346 </group>
347 <group>
348 <title>Utilities</title>
349 <packages>
tom984d7822014-08-29 12:02:59 -0700350 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700351 </packages>
352 </group>
353 <group>
354 <title>GUI, REST &amp; Command-Line</title>
355 <packages>
356 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
357 </packages>
358 </group>
tom8bb16062014-09-12 14:47:46 -0700359 <group>
360 <title>Sample Applications</title>
361 <packages>
362 org.onlab.onos.tvue
363 </packages>
364 </group>
tom0eb04ca2014-08-25 14:34:51 -0700365 </groups>
366 </configuration>
367 </plugin>
368
369 </plugins>
tom09419512014-08-15 11:28:43 -0700370 </build>
alshabib522d9872014-08-15 10:35:16 -0700371
tom0eb04ca2014-08-25 14:34:51 -0700372 <reporting>
373 <plugins>
374 <plugin>
375 <groupId>org.apache.maven.plugins</groupId>
376 <artifactId>maven-checkstyle-plugin</artifactId>
377 <version>2.12.1</version>
378 <configuration>
379 <configLocation>onos/checkstyle.xml</configLocation>
380 </configuration>
381 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700382
383 <plugin>
384 <groupId>org.apache.maven.plugins</groupId>
385 <artifactId>maven-pmd-plugin</artifactId>
386 <version>3.2</version>
387 <configuration>
388 <excludes>
389 <exclude>**/datastore/serializers/**</exclude>
390 <exclude>**/edu/stanford/**</exclude>
391 <exclude>**/net/floodlightcontroller/**</exclude>
392 </excludes>
393 <rulesets>
394 <ruleset>onos/pmd.xml</ruleset>
395 </rulesets>
396 </configuration>
397 </plugin>
398
tom0eb04ca2014-08-25 14:34:51 -0700399 </plugins>
400
401 </reporting>
402
alshabib522d9872014-08-15 10:35:16 -0700403</project>