blob: 9fc49c8364c6cda8f434f6671643553d79aaacef [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
alshabibdf652ad2014-09-09 11:53:19 -070064 <dependency>
65 <groupId>io.netty</groupId>
66 <artifactId>netty</artifactId>
67 <version>3.9.0.Final</version>
68 </dependency>
69
70
71
tomde8d9682014-08-27 01:11:43 -070072 <dependency>
73 <groupId>com.google.guava</groupId>
74 <artifactId>guava-testlib</artifactId>
tomeadbb462014-09-07 16:10:19 -070075 <version>18.0</version>
tomde8d9682014-08-27 01:11:43 -070076 <scope>test</scope>
77 </dependency>
78
tom6d2a43e2014-09-08 01:50:20 -070079 <dependency>
80 <groupId>commons-lang</groupId>
81 <artifactId>commons-lang</artifactId>
82 <version>2.6</version>
83 </dependency>
tomde8d9682014-08-27 01:11:43 -070084
tom0eb04ca2014-08-25 14:34:51 -070085 <!-- Web related -->
86 <dependency>
87 <groupId>com.sun.jersey</groupId>
88 <artifactId>jersey-servlet</artifactId>
89 <version>1.18.1</version>
90 <scope>provided</scope>
91 </dependency>
92 <dependency>
93 <groupId>com.fasterxml.jackson.core</groupId>
94 <artifactId>jackson-databind</artifactId>
95 <version>2.4.2</version>
96 <scope>provided</scope>
97 </dependency>
98 <dependency>
99 <groupId>com.fasterxml.jackson.core</groupId>
100 <artifactId>jackson-annotations</artifactId>
101 <version>2.4.2</version>
102 <scope>provided</scope>
103 </dependency>
104
105 <!-- OSGi related -->
106 <dependency>
107 <groupId>org.osgi</groupId>
108 <artifactId>org.osgi.core</artifactId>
109 <version>4.3.1</version>
110 <scope>provided</scope>
111 </dependency>
112 <dependency>
113 <groupId>org.apache.felix</groupId>
114 <artifactId>org.apache.felix.scr.annotations</artifactId>
115 <version>1.9.8</version>
116 <scope>provided</scope>
117 </dependency>
118 <dependency>
119 <groupId>org.apache.karaf.shell</groupId>
120 <artifactId>org.apache.karaf.shell.console</artifactId>
121 <version>3.0.1</version>
122 <scope>provided</scope>
123 </dependency>
124
125 <!-- ONOS related -->
126 <dependency>
127 <groupId>org.onlab.onos</groupId>
tom5f38b3a2014-08-27 23:50:54 -0700128 <artifactId>onlab-misc</artifactId>
129 <version>${project.version}</version>
130 </dependency>
131
132 <dependency>
133 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700134 <artifactId>onos-api</artifactId>
135 <version>${project.version}</version>
136 </dependency>
137 <dependency>
138 <groupId>org.onlab.onos</groupId>
139 <artifactId>onos-of-api</artifactId>
140 <version>${project.version}</version>
141 </dependency>
142
143 </dependencies>
144 </dependencyManagement>
145
146 <dependencies>
147 <dependency>
148 <groupId>junit</groupId>
149 <artifactId>junit</artifactId>
150 </dependency>
151 <dependency>
152 <groupId>org.slf4j</groupId>
153 <artifactId>slf4j-jdk14</artifactId>
154 </dependency>
155 </dependencies>
tom09419512014-08-15 11:28:43 -0700156
157 <build>
158 <pluginManagement>
159 <plugins>
160 <plugin>
161 <groupId>org.apache.maven.plugins</groupId>
162 <artifactId>maven-compiler-plugin</artifactId>
163 <version>3.1</version>
164 <configuration>
165 <source>1.7</source>
166 <target>1.7</target>
167 </configuration>
168 </plugin>
169
170 <plugin>
171 <groupId>org.apache.maven.plugins</groupId>
172 <artifactId>maven-surefire-plugin</artifactId>
173 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700174 <configuration>
175 <redirectTestOutputToFile>true</redirectTestOutputToFile>
176 <printSummary>true</printSummary>
177 </configuration>
tom09419512014-08-15 11:28:43 -0700178 </plugin>
179
180 <plugin>
181 <groupId>org.apache.maven.plugins</groupId>
182 <artifactId>maven-jar-plugin</artifactId>
183 <version>2.3.1</version>
184 <executions>
185 <execution>
186 <phase>package</phase>
187 <goals>
188 <goal>test-jar</goal>
189 </goals>
190 </execution>
191 </executions>
192 </plugin>
193
194 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700195 <groupId>org.apache.maven.plugins</groupId>
196 <artifactId>maven-resources-plugin</artifactId>
197 <version>2.6</version>
198 </plugin>
199
200 <plugin>
tom09419512014-08-15 11:28:43 -0700201 <groupId>org.apache.felix</groupId>
202 <artifactId>maven-bundle-plugin</artifactId>
203 <version>2.3.7</version>
204 <extensions>true</extensions>
205 </plugin>
206
207 <plugin>
208 <groupId>org.apache.felix</groupId>
209 <artifactId>maven-scr-plugin</artifactId>
210 <version>1.15.0</version>
211 <executions>
212 <execution>
213 <id>generate-scr-srcdescriptor</id>
214 <goals>
215 <goal>scr</goal>
216 </goals>
217 </execution>
218 </executions>
219 <configuration>
220 <supportedProjectTypes>
221 <supportedProjectType>bundle</supportedProjectType>
222 <supportedProjectType>war</supportedProjectType>
223 </supportedProjectTypes>
224 </configuration>
225 </plugin>
226
tom09419512014-08-15 11:28:43 -0700227 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
228 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
229 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
230
231 </plugins>
tom09419512014-08-15 11:28:43 -0700232 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700233
234 <plugins>
235 <plugin>
236 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700237 <artifactId>maven-jar-plugin</artifactId>
238 </plugin>
239
240 <plugin>
241 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700242 <artifactId>maven-checkstyle-plugin</artifactId>
243 <version>2.12.1</version>
244 <dependencies>
245 <dependency>
246 <groupId>org.onlab.tools</groupId>
247 <artifactId>onos-build-conf</artifactId>
248 <version>1.0</version>
249 </dependency>
250 </dependencies>
251 <configuration>
252 <configLocation>onos/checkstyle.xml</configLocation>
253 <suppressionsLocation>onos/suppressions.xml
254 </suppressionsLocation>
255 <failsOnError>false</failsOnError>
256 <logViolationsToConsole>true</logViolationsToConsole>
257 <includeTestSourceDirectory>true
258 </includeTestSourceDirectory>
259 </configuration>
260 <executions>
261 <execution>
262 <id>validate-checkstyle</id>
263 <phase>verify</phase>
264 <goals>
265 <goal>check</goal>
266 </goals>
267 </execution>
268 </executions>
269 </plugin>
270
271 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700272 <groupId>org.apache.maven.plugins</groupId>
273 <artifactId>maven-pmd-plugin</artifactId>
274 <version>3.2</version>
275 <configuration>
276 <excludes>
277 <exclude>**/datastore/serializers/**</exclude>
278 <exclude>**/edu/stanford/**</exclude>
279 <exclude>**/net/floodlightcontroller/**</exclude>
280 </excludes>
281 <rulesets>
282 <ruleset>onos/pmd.xml</ruleset>
283 </rulesets>
284 </configuration>
285 <executions>
286 <execution>
287 <id>validate-pmd</id>
288 <phase>verify</phase>
289 <goals>
290 <!-- Uncomment this goal to make the build fail on pmd errors -->
291 <!--<goal>check</goal>-->
292 </goals>
293 </execution>
294 </executions>
295 </plugin>
296
297 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700298 <groupId>org.jacoco</groupId>
299 <artifactId>jacoco-maven-plugin</artifactId>
300 <version>0.7.1.201405082137</version>
301 <executions>
302 <execution>
303 <id>default-prepare-agent</id>
304 <goals>
305 <goal>prepare-agent</goal>
306 </goals>
307 </execution>
308 <execution>
309 <id>default-report</id>
310 <phase>prepare-package</phase>
311 <goals>
312 <goal>report</goal>
313 </goals>
314 </execution>
315 </executions>
316 </plugin>
317
318 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700319 <groupId>org.apache.maven.plugins</groupId>
320 <artifactId>maven-javadoc-plugin</artifactId>
321 <version>2.9.1</version>
322 <configuration>
323 <docfilessubdirs>true</docfilessubdirs>
324 <doctitle>ONOS Java API</doctitle>
325 <groups>
326 <group>
327 <title>Network Model &amp; Services</title>
328 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700329 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700330 </packages>
331 </group>
332 <group>
333 <title>Core Subsystems</title>
334 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700335 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 -0700336 </packages>
337 </group>
338 <group>
339 <title>OpenFlow Providers &amp; Controller
340 </title>
341 <packages>
tome06f8552014-08-26 16:58:42 -0700342 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700343 </packages>
344 </group>
345 <group>
346 <title>Utilities</title>
347 <packages>
tom984d7822014-08-29 12:02:59 -0700348 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700349 </packages>
350 </group>
351 <group>
352 <title>GUI, REST &amp; Command-Line</title>
353 <packages>
354 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
355 </packages>
356 </group>
357 </groups>
358 </configuration>
359 </plugin>
360
361 </plugins>
tom09419512014-08-15 11:28:43 -0700362 </build>
alshabib522d9872014-08-15 10:35:16 -0700363
tom0eb04ca2014-08-25 14:34:51 -0700364 <reporting>
365 <plugins>
366 <plugin>
367 <groupId>org.apache.maven.plugins</groupId>
368 <artifactId>maven-checkstyle-plugin</artifactId>
369 <version>2.12.1</version>
370 <configuration>
371 <configLocation>onos/checkstyle.xml</configLocation>
372 </configuration>
373 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700374
375 <plugin>
376 <groupId>org.apache.maven.plugins</groupId>
377 <artifactId>maven-pmd-plugin</artifactId>
378 <version>3.2</version>
379 <configuration>
380 <excludes>
381 <exclude>**/datastore/serializers/**</exclude>
382 <exclude>**/edu/stanford/**</exclude>
383 <exclude>**/net/floodlightcontroller/**</exclude>
384 </excludes>
385 <rulesets>
386 <ruleset>onos/pmd.xml</ruleset>
387 </rulesets>
388 </configuration>
389 </plugin>
390
tom0eb04ca2014-08-25 14:34:51 -0700391 </plugins>
392
393 </reporting>
394
alshabib522d9872014-08-15 10:35:16 -0700395</project>