blob: 51f1a5ad91f445d70cffd5ff8b092b567b5dea22 [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>
147 <artifactId>onos-of-api</artifactId>
148 <version>${project.version}</version>
149 </dependency>
150
151 </dependencies>
152 </dependencyManagement>
153
154 <dependencies>
155 <dependency>
156 <groupId>junit</groupId>
157 <artifactId>junit</artifactId>
158 </dependency>
159 <dependency>
160 <groupId>org.slf4j</groupId>
161 <artifactId>slf4j-jdk14</artifactId>
162 </dependency>
163 </dependencies>
tom09419512014-08-15 11:28:43 -0700164
165 <build>
166 <pluginManagement>
167 <plugins>
168 <plugin>
169 <groupId>org.apache.maven.plugins</groupId>
170 <artifactId>maven-compiler-plugin</artifactId>
171 <version>3.1</version>
172 <configuration>
173 <source>1.7</source>
174 <target>1.7</target>
175 </configuration>
176 </plugin>
177
178 <plugin>
179 <groupId>org.apache.maven.plugins</groupId>
180 <artifactId>maven-surefire-plugin</artifactId>
181 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700182 <configuration>
183 <redirectTestOutputToFile>true</redirectTestOutputToFile>
184 <printSummary>true</printSummary>
185 </configuration>
tom09419512014-08-15 11:28:43 -0700186 </plugin>
187
188 <plugin>
189 <groupId>org.apache.maven.plugins</groupId>
190 <artifactId>maven-jar-plugin</artifactId>
191 <version>2.3.1</version>
192 <executions>
193 <execution>
194 <phase>package</phase>
195 <goals>
196 <goal>test-jar</goal>
197 </goals>
198 </execution>
199 </executions>
200 </plugin>
201
202 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700203 <groupId>org.apache.maven.plugins</groupId>
204 <artifactId>maven-resources-plugin</artifactId>
205 <version>2.6</version>
206 </plugin>
207
208 <plugin>
tom09419512014-08-15 11:28:43 -0700209 <groupId>org.apache.felix</groupId>
210 <artifactId>maven-bundle-plugin</artifactId>
211 <version>2.3.7</version>
212 <extensions>true</extensions>
213 </plugin>
214
215 <plugin>
216 <groupId>org.apache.felix</groupId>
217 <artifactId>maven-scr-plugin</artifactId>
218 <version>1.15.0</version>
219 <executions>
220 <execution>
221 <id>generate-scr-srcdescriptor</id>
222 <goals>
223 <goal>scr</goal>
224 </goals>
225 </execution>
226 </executions>
227 <configuration>
228 <supportedProjectTypes>
229 <supportedProjectType>bundle</supportedProjectType>
230 <supportedProjectType>war</supportedProjectType>
231 </supportedProjectTypes>
232 </configuration>
233 </plugin>
234
tom09419512014-08-15 11:28:43 -0700235 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
236 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
237 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
238
239 </plugins>
tom09419512014-08-15 11:28:43 -0700240 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700241
242 <plugins>
243 <plugin>
244 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700245 <artifactId>maven-jar-plugin</artifactId>
246 </plugin>
247
248 <plugin>
249 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700250 <artifactId>maven-checkstyle-plugin</artifactId>
251 <version>2.12.1</version>
252 <dependencies>
253 <dependency>
254 <groupId>org.onlab.tools</groupId>
255 <artifactId>onos-build-conf</artifactId>
256 <version>1.0</version>
257 </dependency>
258 </dependencies>
259 <configuration>
260 <configLocation>onos/checkstyle.xml</configLocation>
261 <suppressionsLocation>onos/suppressions.xml
262 </suppressionsLocation>
263 <failsOnError>false</failsOnError>
264 <logViolationsToConsole>true</logViolationsToConsole>
265 <includeTestSourceDirectory>true
266 </includeTestSourceDirectory>
267 </configuration>
268 <executions>
269 <execution>
270 <id>validate-checkstyle</id>
271 <phase>verify</phase>
272 <goals>
273 <goal>check</goal>
274 </goals>
275 </execution>
276 </executions>
277 </plugin>
278
279 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700280 <groupId>org.apache.maven.plugins</groupId>
281 <artifactId>maven-pmd-plugin</artifactId>
282 <version>3.2</version>
283 <configuration>
284 <excludes>
285 <exclude>**/datastore/serializers/**</exclude>
286 <exclude>**/edu/stanford/**</exclude>
287 <exclude>**/net/floodlightcontroller/**</exclude>
288 </excludes>
289 <rulesets>
290 <ruleset>onos/pmd.xml</ruleset>
291 </rulesets>
292 </configuration>
293 <executions>
294 <execution>
295 <id>validate-pmd</id>
296 <phase>verify</phase>
297 <goals>
298 <!-- Uncomment this goal to make the build fail on pmd errors -->
299 <!--<goal>check</goal>-->
300 </goals>
301 </execution>
302 </executions>
303 </plugin>
304
305 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700306 <groupId>org.jacoco</groupId>
307 <artifactId>jacoco-maven-plugin</artifactId>
308 <version>0.7.1.201405082137</version>
309 <executions>
310 <execution>
311 <id>default-prepare-agent</id>
312 <goals>
313 <goal>prepare-agent</goal>
314 </goals>
315 </execution>
316 <execution>
317 <id>default-report</id>
318 <phase>prepare-package</phase>
319 <goals>
320 <goal>report</goal>
321 </goals>
322 </execution>
323 </executions>
324 </plugin>
325
326 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700327 <groupId>org.apache.maven.plugins</groupId>
328 <artifactId>maven-javadoc-plugin</artifactId>
329 <version>2.9.1</version>
330 <configuration>
tom578ebdc2014-09-11 11:12:51 -0700331 <show>package</show>
tom0eb04ca2014-08-25 14:34:51 -0700332 <docfilessubdirs>true</docfilessubdirs>
333 <doctitle>ONOS Java API</doctitle>
334 <groups>
335 <group>
336 <title>Network Model &amp; Services</title>
337 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700338 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700339 </packages>
340 </group>
341 <group>
342 <title>Core Subsystems</title>
343 <packages>
tom8bf2e6b2014-09-10 20:53:54 -0700344 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 -0700345 </packages>
346 </group>
347 <group>
348 <title>OpenFlow Providers &amp; Controller
349 </title>
350 <packages>
tome06f8552014-08-26 16:58:42 -0700351 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700352 </packages>
353 </group>
354 <group>
355 <title>Utilities</title>
356 <packages>
tom984d7822014-08-29 12:02:59 -0700357 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700358 </packages>
359 </group>
360 <group>
361 <title>GUI, REST &amp; Command-Line</title>
362 <packages>
363 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
364 </packages>
365 </group>
tom8bb16062014-09-12 14:47:46 -0700366 <group>
367 <title>Sample Applications</title>
368 <packages>
369 org.onlab.onos.tvue
370 </packages>
371 </group>
tom0eb04ca2014-08-25 14:34:51 -0700372 </groups>
373 </configuration>
374 </plugin>
375
376 </plugins>
tom09419512014-08-15 11:28:43 -0700377 </build>
alshabib522d9872014-08-15 10:35:16 -0700378
tom0eb04ca2014-08-25 14:34:51 -0700379 <reporting>
380 <plugins>
381 <plugin>
382 <groupId>org.apache.maven.plugins</groupId>
383 <artifactId>maven-checkstyle-plugin</artifactId>
384 <version>2.12.1</version>
385 <configuration>
386 <configLocation>onos/checkstyle.xml</configLocation>
387 </configuration>
388 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700389
390 <plugin>
391 <groupId>org.apache.maven.plugins</groupId>
392 <artifactId>maven-pmd-plugin</artifactId>
393 <version>3.2</version>
394 <configuration>
395 <excludes>
396 <exclude>**/datastore/serializers/**</exclude>
397 <exclude>**/edu/stanford/**</exclude>
398 <exclude>**/net/floodlightcontroller/**</exclude>
399 </excludes>
400 <rulesets>
401 <ruleset>onos/pmd.xml</ruleset>
402 </rulesets>
403 </configuration>
404 </plugin>
405
tom0eb04ca2014-08-25 14:34:51 -0700406 </plugins>
407
408 </reporting>
409
alshabib522d9872014-08-15 10:35:16 -0700410</project>