blob: 25557a14b9001b57d7dbffb82c701e67ad292a23 [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>
17 <module>net</module>
18 <module>web</module>
19 <module>cli</module>
20 <module>providers</module>
tom09419512014-08-15 11:28:43 -070021 <module>of</module>
tom09419512014-08-15 11:28:43 -070022 <module>features</module>
23 </modules>
24
25 <url>http://onlab.us/</url>
26
27 <licenses>
28 <license>
29 <!-- TODO: Is this really our license scheme? -->
30 <name>Apache License, Version 2.0</name>
31 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
32 </license>
33 </licenses>
34
tom0eb04ca2014-08-25 14:34:51 -070035 <dependencyManagement>
36 <dependencies>
37 <dependency>
38 <groupId>junit</groupId>
39 <artifactId>junit</artifactId>
40 <version>4.11</version>
41 <scope>test</scope>
42 </dependency>
tom09419512014-08-15 11:28:43 -070043
tom0eb04ca2014-08-25 14:34:51 -070044 <dependency>
45 <groupId>org.slf4j</groupId>
46 <artifactId>slf4j-api</artifactId>
47 <version>1.7.6</version>
48 <scope>provided</scope>
49 </dependency>
50
51 <dependency>
52 <groupId>org.slf4j</groupId>
53 <artifactId>slf4j-jdk14</artifactId>
54 <version>1.7.6</version>
55 <scope>test</scope>
56 </dependency>
57
58 <dependency>
59 <groupId>com.google.guava</groupId>
60 <artifactId>guava</artifactId>
tomeadbb462014-09-07 16:10:19 -070061 <version>18.0</version>
tom0eb04ca2014-08-25 14:34:51 -070062 </dependency>
63
tomde8d9682014-08-27 01:11:43 -070064 <dependency>
65 <groupId>com.google.guava</groupId>
66 <artifactId>guava-testlib</artifactId>
tomeadbb462014-09-07 16:10:19 -070067 <version>18.0</version>
tomde8d9682014-08-27 01:11:43 -070068 <scope>test</scope>
69 </dependency>
70
tom6d2a43e2014-09-08 01:50:20 -070071 <dependency>
72 <groupId>commons-lang</groupId>
73 <artifactId>commons-lang</artifactId>
74 <version>2.6</version>
75 </dependency>
tomde8d9682014-08-27 01:11:43 -070076
tom0eb04ca2014-08-25 14:34:51 -070077 <!-- Web related -->
78 <dependency>
79 <groupId>com.sun.jersey</groupId>
80 <artifactId>jersey-servlet</artifactId>
81 <version>1.18.1</version>
82 <scope>provided</scope>
83 </dependency>
84 <dependency>
85 <groupId>com.fasterxml.jackson.core</groupId>
86 <artifactId>jackson-databind</artifactId>
87 <version>2.4.2</version>
88 <scope>provided</scope>
89 </dependency>
90 <dependency>
91 <groupId>com.fasterxml.jackson.core</groupId>
92 <artifactId>jackson-annotations</artifactId>
93 <version>2.4.2</version>
94 <scope>provided</scope>
95 </dependency>
96
97 <!-- OSGi related -->
98 <dependency>
99 <groupId>org.osgi</groupId>
100 <artifactId>org.osgi.core</artifactId>
101 <version>4.3.1</version>
102 <scope>provided</scope>
103 </dependency>
104 <dependency>
105 <groupId>org.apache.felix</groupId>
106 <artifactId>org.apache.felix.scr.annotations</artifactId>
107 <version>1.9.8</version>
108 <scope>provided</scope>
109 </dependency>
110 <dependency>
111 <groupId>org.apache.karaf.shell</groupId>
112 <artifactId>org.apache.karaf.shell.console</artifactId>
113 <version>3.0.1</version>
114 <scope>provided</scope>
115 </dependency>
116
117 <!-- ONOS related -->
118 <dependency>
119 <groupId>org.onlab.onos</groupId>
tom5f38b3a2014-08-27 23:50:54 -0700120 <artifactId>onlab-misc</artifactId>
121 <version>${project.version}</version>
122 </dependency>
123
124 <dependency>
125 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700126 <artifactId>onos-api</artifactId>
127 <version>${project.version}</version>
128 </dependency>
129 <dependency>
130 <groupId>org.onlab.onos</groupId>
131 <artifactId>onos-of-api</artifactId>
132 <version>${project.version}</version>
133 </dependency>
134
135 </dependencies>
136 </dependencyManagement>
137
138 <dependencies>
139 <dependency>
140 <groupId>junit</groupId>
141 <artifactId>junit</artifactId>
142 </dependency>
143 <dependency>
144 <groupId>org.slf4j</groupId>
145 <artifactId>slf4j-jdk14</artifactId>
146 </dependency>
147 </dependencies>
tom09419512014-08-15 11:28:43 -0700148
149 <build>
150 <pluginManagement>
151 <plugins>
152 <plugin>
153 <groupId>org.apache.maven.plugins</groupId>
154 <artifactId>maven-compiler-plugin</artifactId>
155 <version>3.1</version>
156 <configuration>
157 <source>1.7</source>
158 <target>1.7</target>
159 </configuration>
160 </plugin>
161
162 <plugin>
163 <groupId>org.apache.maven.plugins</groupId>
164 <artifactId>maven-surefire-plugin</artifactId>
165 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700166 <configuration>
167 <redirectTestOutputToFile>true</redirectTestOutputToFile>
168 <printSummary>true</printSummary>
169 </configuration>
tom09419512014-08-15 11:28:43 -0700170 </plugin>
171
172 <plugin>
173 <groupId>org.apache.maven.plugins</groupId>
174 <artifactId>maven-jar-plugin</artifactId>
175 <version>2.3.1</version>
176 <executions>
177 <execution>
178 <phase>package</phase>
179 <goals>
180 <goal>test-jar</goal>
181 </goals>
182 </execution>
183 </executions>
184 </plugin>
185
186 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700187 <groupId>org.apache.maven.plugins</groupId>
188 <artifactId>maven-resources-plugin</artifactId>
189 <version>2.6</version>
190 </plugin>
191
192 <plugin>
tom09419512014-08-15 11:28:43 -0700193 <groupId>org.apache.felix</groupId>
194 <artifactId>maven-bundle-plugin</artifactId>
195 <version>2.3.7</version>
196 <extensions>true</extensions>
197 </plugin>
198
199 <plugin>
200 <groupId>org.apache.felix</groupId>
201 <artifactId>maven-scr-plugin</artifactId>
202 <version>1.15.0</version>
203 <executions>
204 <execution>
205 <id>generate-scr-srcdescriptor</id>
206 <goals>
207 <goal>scr</goal>
208 </goals>
209 </execution>
210 </executions>
211 <configuration>
212 <supportedProjectTypes>
213 <supportedProjectType>bundle</supportedProjectType>
214 <supportedProjectType>war</supportedProjectType>
215 </supportedProjectTypes>
216 </configuration>
217 </plugin>
218
tom09419512014-08-15 11:28:43 -0700219 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
220 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
221 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
222
223 </plugins>
tom09419512014-08-15 11:28:43 -0700224 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700225
226 <plugins>
227 <plugin>
228 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700229 <artifactId>maven-jar-plugin</artifactId>
230 </plugin>
231
232 <plugin>
233 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700234 <artifactId>maven-checkstyle-plugin</artifactId>
235 <version>2.12.1</version>
236 <dependencies>
237 <dependency>
238 <groupId>org.onlab.tools</groupId>
239 <artifactId>onos-build-conf</artifactId>
240 <version>1.0</version>
241 </dependency>
242 </dependencies>
243 <configuration>
244 <configLocation>onos/checkstyle.xml</configLocation>
245 <suppressionsLocation>onos/suppressions.xml
246 </suppressionsLocation>
247 <failsOnError>false</failsOnError>
248 <logViolationsToConsole>true</logViolationsToConsole>
249 <includeTestSourceDirectory>true
250 </includeTestSourceDirectory>
251 </configuration>
252 <executions>
253 <execution>
254 <id>validate-checkstyle</id>
255 <phase>verify</phase>
256 <goals>
257 <goal>check</goal>
258 </goals>
259 </execution>
260 </executions>
261 </plugin>
262
263 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700264 <groupId>org.apache.maven.plugins</groupId>
265 <artifactId>maven-pmd-plugin</artifactId>
266 <version>3.2</version>
267 <configuration>
268 <excludes>
269 <exclude>**/datastore/serializers/**</exclude>
270 <exclude>**/edu/stanford/**</exclude>
271 <exclude>**/net/floodlightcontroller/**</exclude>
272 </excludes>
273 <rulesets>
274 <ruleset>onos/pmd.xml</ruleset>
275 </rulesets>
276 </configuration>
277 <executions>
278 <execution>
279 <id>validate-pmd</id>
280 <phase>verify</phase>
281 <goals>
282 <!-- Uncomment this goal to make the build fail on pmd errors -->
283 <!--<goal>check</goal>-->
284 </goals>
285 </execution>
286 </executions>
287 </plugin>
288
289 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700290 <groupId>org.jacoco</groupId>
291 <artifactId>jacoco-maven-plugin</artifactId>
292 <version>0.7.1.201405082137</version>
293 <executions>
294 <execution>
295 <id>default-prepare-agent</id>
296 <goals>
297 <goal>prepare-agent</goal>
298 </goals>
299 </execution>
300 <execution>
301 <id>default-report</id>
302 <phase>prepare-package</phase>
303 <goals>
304 <goal>report</goal>
305 </goals>
306 </execution>
307 </executions>
308 </plugin>
309
310 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700311 <groupId>org.apache.maven.plugins</groupId>
312 <artifactId>maven-javadoc-plugin</artifactId>
313 <version>2.9.1</version>
314 <configuration>
315 <docfilessubdirs>true</docfilessubdirs>
316 <doctitle>ONOS Java API</doctitle>
317 <groups>
318 <group>
319 <title>Network Model &amp; Services</title>
320 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700321 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700322 </packages>
323 </group>
324 <group>
325 <title>Core Subsystems</title>
326 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700327 org.onlab.onos.net.trivial.impl:org.onlab.onos.net.*.impl:org.onlab.onos.impl:org.onlab.onos.event.impl
tom0eb04ca2014-08-25 14:34:51 -0700328 </packages>
329 </group>
330 <group>
331 <title>OpenFlow Providers &amp; Controller
332 </title>
333 <packages>
tome06f8552014-08-26 16:58:42 -0700334 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700335 </packages>
336 </group>
337 <group>
338 <title>Utilities</title>
339 <packages>
tom984d7822014-08-29 12:02:59 -0700340 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700341 </packages>
342 </group>
343 <group>
344 <title>GUI, REST &amp; Command-Line</title>
345 <packages>
346 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
347 </packages>
348 </group>
349 </groups>
350 </configuration>
351 </plugin>
352
353 </plugins>
tom09419512014-08-15 11:28:43 -0700354 </build>
alshabib522d9872014-08-15 10:35:16 -0700355
tom0eb04ca2014-08-25 14:34:51 -0700356 <reporting>
357 <plugins>
358 <plugin>
359 <groupId>org.apache.maven.plugins</groupId>
360 <artifactId>maven-checkstyle-plugin</artifactId>
361 <version>2.12.1</version>
362 <configuration>
363 <configLocation>onos/checkstyle.xml</configLocation>
364 </configuration>
365 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700366
367 <plugin>
368 <groupId>org.apache.maven.plugins</groupId>
369 <artifactId>maven-pmd-plugin</artifactId>
370 <version>3.2</version>
371 <configuration>
372 <excludes>
373 <exclude>**/datastore/serializers/**</exclude>
374 <exclude>**/edu/stanford/**</exclude>
375 <exclude>**/net/floodlightcontroller/**</exclude>
376 </excludes>
377 <rulesets>
378 <ruleset>onos/pmd.xml</ruleset>
379 </rulesets>
380 </configuration>
381 </plugin>
382
tom0eb04ca2014-08-25 14:34:51 -0700383 </plugins>
384
385 </reporting>
386
alshabib522d9872014-08-15 10:35:16 -0700387</project>