blob: b913040e829c134a987d53fb6835c3770c115cbe [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>
tomaa49a1e2014-09-12 23:11:46 -070024 <module>tools/package/branding</module>
tom09419512014-08-15 11:28:43 -070025 </modules>
26
27 <url>http://onlab.us/</url>
28
29 <licenses>
30 <license>
31 <!-- TODO: Is this really our license scheme? -->
32 <name>Apache License, Version 2.0</name>
33 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
34 </license>
35 </licenses>
36
tom0eb04ca2014-08-25 14:34:51 -070037 <dependencyManagement>
38 <dependencies>
39 <dependency>
40 <groupId>junit</groupId>
41 <artifactId>junit</artifactId>
42 <version>4.11</version>
43 <scope>test</scope>
44 </dependency>
tom09419512014-08-15 11:28:43 -070045
tom0eb04ca2014-08-25 14:34:51 -070046 <dependency>
47 <groupId>org.slf4j</groupId>
48 <artifactId>slf4j-api</artifactId>
49 <version>1.7.6</version>
50 <scope>provided</scope>
51 </dependency>
52
53 <dependency>
54 <groupId>org.slf4j</groupId>
55 <artifactId>slf4j-jdk14</artifactId>
56 <version>1.7.6</version>
57 <scope>test</scope>
58 </dependency>
59
60 <dependency>
61 <groupId>com.google.guava</groupId>
62 <artifactId>guava</artifactId>
tomeadbb462014-09-07 16:10:19 -070063 <version>18.0</version>
tom0eb04ca2014-08-25 14:34:51 -070064 </dependency>
65
alshabibdf652ad2014-09-09 11:53:19 -070066 <dependency>
67 <groupId>io.netty</groupId>
68 <artifactId>netty</artifactId>
69 <version>3.9.0.Final</version>
70 </dependency>
71
72
73
tomde8d9682014-08-27 01:11:43 -070074 <dependency>
75 <groupId>com.google.guava</groupId>
76 <artifactId>guava-testlib</artifactId>
tomeadbb462014-09-07 16:10:19 -070077 <version>18.0</version>
tomde8d9682014-08-27 01:11:43 -070078 <scope>test</scope>
79 </dependency>
80
tom6d2a43e2014-09-08 01:50:20 -070081 <dependency>
82 <groupId>commons-lang</groupId>
83 <artifactId>commons-lang</artifactId>
84 <version>2.6</version>
85 </dependency>
tomde8d9682014-08-27 01:11:43 -070086
tom0eb04ca2014-08-25 14:34:51 -070087 <!-- Web related -->
88 <dependency>
89 <groupId>com.sun.jersey</groupId>
90 <artifactId>jersey-servlet</artifactId>
91 <version>1.18.1</version>
92 <scope>provided</scope>
93 </dependency>
94 <dependency>
95 <groupId>com.fasterxml.jackson.core</groupId>
96 <artifactId>jackson-databind</artifactId>
97 <version>2.4.2</version>
98 <scope>provided</scope>
99 </dependency>
100 <dependency>
101 <groupId>com.fasterxml.jackson.core</groupId>
102 <artifactId>jackson-annotations</artifactId>
103 <version>2.4.2</version>
104 <scope>provided</scope>
105 </dependency>
106
107 <!-- OSGi related -->
108 <dependency>
109 <groupId>org.osgi</groupId>
110 <artifactId>org.osgi.core</artifactId>
111 <version>4.3.1</version>
112 <scope>provided</scope>
113 </dependency>
114 <dependency>
115 <groupId>org.apache.felix</groupId>
116 <artifactId>org.apache.felix.scr.annotations</artifactId>
117 <version>1.9.8</version>
118 <scope>provided</scope>
119 </dependency>
120 <dependency>
121 <groupId>org.apache.karaf.shell</groupId>
122 <artifactId>org.apache.karaf.shell.console</artifactId>
123 <version>3.0.1</version>
124 <scope>provided</scope>
125 </dependency>
126
127 <!-- ONOS related -->
128 <dependency>
129 <groupId>org.onlab.onos</groupId>
tom5f38b3a2014-08-27 23:50:54 -0700130 <artifactId>onlab-misc</artifactId>
131 <version>${project.version}</version>
132 </dependency>
tom931af4e2014-09-13 12:00:57 -0700133 <dependency>
134 <groupId>org.onlab.onos</groupId>
135 <artifactId>onlab-junit</artifactId>
136 <version>1.0.0-SNAPSHOT</version>
137 <scope>test</scope>
138 </dependency>
tom5f38b3a2014-08-27 23:50:54 -0700139
140 <dependency>
141 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700142 <artifactId>onos-api</artifactId>
143 <version>${project.version}</version>
144 </dependency>
145 <dependency>
146 <groupId>org.onlab.onos</groupId>
tom61359e92014-09-16 15:50:27 -0700147 <artifactId>onos-api</artifactId>
148 <version>${project.version}</version>
149 <classifier>tests</classifier>
150 <scope>test</scope>
151 </dependency>
152
153 <dependency>
154 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700155 <artifactId>onos-of-api</artifactId>
156 <version>${project.version}</version>
157 </dependency>
tom61359e92014-09-16 15:50:27 -0700158 <dependency>
159 <groupId>org.onlab.onos</groupId>
160 <artifactId>onos-of-api</artifactId>
161 <version>${project.version}</version>
162 <classifier>tests</classifier>
163 <scope>test</scope>
164 </dependency>
tom0eb04ca2014-08-25 14:34:51 -0700165 </dependencies>
166 </dependencyManagement>
167
168 <dependencies>
169 <dependency>
170 <groupId>junit</groupId>
171 <artifactId>junit</artifactId>
172 </dependency>
173 <dependency>
174 <groupId>org.slf4j</groupId>
175 <artifactId>slf4j-jdk14</artifactId>
176 </dependency>
177 </dependencies>
tom09419512014-08-15 11:28:43 -0700178
179 <build>
180 <pluginManagement>
181 <plugins>
182 <plugin>
183 <groupId>org.apache.maven.plugins</groupId>
184 <artifactId>maven-compiler-plugin</artifactId>
185 <version>3.1</version>
186 <configuration>
187 <source>1.7</source>
188 <target>1.7</target>
189 </configuration>
190 </plugin>
191
192 <plugin>
193 <groupId>org.apache.maven.plugins</groupId>
194 <artifactId>maven-surefire-plugin</artifactId>
195 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700196 <configuration>
197 <redirectTestOutputToFile>true</redirectTestOutputToFile>
198 <printSummary>true</printSummary>
199 </configuration>
tom09419512014-08-15 11:28:43 -0700200 </plugin>
201
202 <plugin>
203 <groupId>org.apache.maven.plugins</groupId>
204 <artifactId>maven-jar-plugin</artifactId>
205 <version>2.3.1</version>
206 <executions>
207 <execution>
208 <phase>package</phase>
209 <goals>
210 <goal>test-jar</goal>
211 </goals>
212 </execution>
213 </executions>
214 </plugin>
215
216 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700217 <groupId>org.apache.maven.plugins</groupId>
218 <artifactId>maven-resources-plugin</artifactId>
219 <version>2.6</version>
220 </plugin>
221
222 <plugin>
tom09419512014-08-15 11:28:43 -0700223 <groupId>org.apache.felix</groupId>
224 <artifactId>maven-bundle-plugin</artifactId>
225 <version>2.3.7</version>
226 <extensions>true</extensions>
227 </plugin>
228
229 <plugin>
230 <groupId>org.apache.felix</groupId>
231 <artifactId>maven-scr-plugin</artifactId>
232 <version>1.15.0</version>
233 <executions>
234 <execution>
235 <id>generate-scr-srcdescriptor</id>
236 <goals>
237 <goal>scr</goal>
238 </goals>
239 </execution>
240 </executions>
241 <configuration>
242 <supportedProjectTypes>
243 <supportedProjectType>bundle</supportedProjectType>
244 <supportedProjectType>war</supportedProjectType>
245 </supportedProjectTypes>
246 </configuration>
247 </plugin>
248
tom09419512014-08-15 11:28:43 -0700249 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
250 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
251 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
252
253 </plugins>
tom09419512014-08-15 11:28:43 -0700254 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700255
256 <plugins>
257 <plugin>
258 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700259 <artifactId>maven-jar-plugin</artifactId>
260 </plugin>
261
262 <plugin>
263 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700264 <artifactId>maven-checkstyle-plugin</artifactId>
265 <version>2.12.1</version>
266 <dependencies>
267 <dependency>
268 <groupId>org.onlab.tools</groupId>
269 <artifactId>onos-build-conf</artifactId>
270 <version>1.0</version>
271 </dependency>
272 </dependencies>
273 <configuration>
274 <configLocation>onos/checkstyle.xml</configLocation>
275 <suppressionsLocation>onos/suppressions.xml
276 </suppressionsLocation>
277 <failsOnError>false</failsOnError>
278 <logViolationsToConsole>true</logViolationsToConsole>
279 <includeTestSourceDirectory>true
280 </includeTestSourceDirectory>
281 </configuration>
282 <executions>
283 <execution>
284 <id>validate-checkstyle</id>
285 <phase>verify</phase>
286 <goals>
287 <goal>check</goal>
288 </goals>
289 </execution>
290 </executions>
291 </plugin>
292
293 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700294 <groupId>org.apache.maven.plugins</groupId>
295 <artifactId>maven-pmd-plugin</artifactId>
296 <version>3.2</version>
297 <configuration>
298 <excludes>
299 <exclude>**/datastore/serializers/**</exclude>
300 <exclude>**/edu/stanford/**</exclude>
301 <exclude>**/net/floodlightcontroller/**</exclude>
302 </excludes>
303 <rulesets>
304 <ruleset>onos/pmd.xml</ruleset>
305 </rulesets>
306 </configuration>
307 <executions>
308 <execution>
309 <id>validate-pmd</id>
310 <phase>verify</phase>
311 <goals>
312 <!-- Uncomment this goal to make the build fail on pmd errors -->
313 <!--<goal>check</goal>-->
314 </goals>
315 </execution>
316 </executions>
317 </plugin>
318
319 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700320 <groupId>org.jacoco</groupId>
321 <artifactId>jacoco-maven-plugin</artifactId>
322 <version>0.7.1.201405082137</version>
323 <executions>
324 <execution>
325 <id>default-prepare-agent</id>
326 <goals>
327 <goal>prepare-agent</goal>
328 </goals>
329 </execution>
330 <execution>
331 <id>default-report</id>
332 <phase>prepare-package</phase>
333 <goals>
334 <goal>report</goal>
335 </goals>
336 </execution>
337 </executions>
338 </plugin>
339
340 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700341 <groupId>org.apache.maven.plugins</groupId>
342 <artifactId>maven-javadoc-plugin</artifactId>
343 <version>2.9.1</version>
344 <configuration>
tom578ebdc2014-09-11 11:12:51 -0700345 <show>package</show>
tom0eb04ca2014-08-25 14:34:51 -0700346 <docfilessubdirs>true</docfilessubdirs>
347 <doctitle>ONOS Java API</doctitle>
348 <groups>
349 <group>
350 <title>Network Model &amp; Services</title>
351 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700352 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700353 </packages>
354 </group>
355 <group>
356 <title>Core Subsystems</title>
357 <packages>
tom8bf2e6b2014-09-10 20:53:54 -0700358 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 -0700359 </packages>
360 </group>
361 <group>
362 <title>OpenFlow Providers &amp; Controller
363 </title>
364 <packages>
tome06f8552014-08-26 16:58:42 -0700365 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700366 </packages>
367 </group>
368 <group>
369 <title>Utilities</title>
370 <packages>
tom984d7822014-08-29 12:02:59 -0700371 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700372 </packages>
373 </group>
374 <group>
375 <title>GUI, REST &amp; Command-Line</title>
376 <packages>
377 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
378 </packages>
379 </group>
tom8bb16062014-09-12 14:47:46 -0700380 <group>
381 <title>Sample Applications</title>
382 <packages>
tomc370ebd2014-09-16 01:25:21 -0700383 org.onlab.onos.tvue:org.onlab.onos.fwd
tom8bb16062014-09-12 14:47:46 -0700384 </packages>
385 </group>
tom0eb04ca2014-08-25 14:34:51 -0700386 </groups>
387 </configuration>
388 </plugin>
389
390 </plugins>
tom09419512014-08-15 11:28:43 -0700391 </build>
alshabib522d9872014-08-15 10:35:16 -0700392
tom0eb04ca2014-08-25 14:34:51 -0700393 <reporting>
394 <plugins>
395 <plugin>
396 <groupId>org.apache.maven.plugins</groupId>
397 <artifactId>maven-checkstyle-plugin</artifactId>
398 <version>2.12.1</version>
399 <configuration>
400 <configLocation>onos/checkstyle.xml</configLocation>
401 </configuration>
402 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700403
404 <plugin>
405 <groupId>org.apache.maven.plugins</groupId>
406 <artifactId>maven-pmd-plugin</artifactId>
407 <version>3.2</version>
408 <configuration>
409 <excludes>
410 <exclude>**/datastore/serializers/**</exclude>
411 <exclude>**/edu/stanford/**</exclude>
412 <exclude>**/net/floodlightcontroller/**</exclude>
413 </excludes>
414 <rulesets>
415 <ruleset>onos/pmd.xml</ruleset>
416 </rulesets>
417 </configuration>
418 </plugin>
419
tom0eb04ca2014-08-25 14:34:51 -0700420 </plugins>
421
422 </reporting>
423
alshabib522d9872014-08-15 10:35:16 -0700424</project>