blob: 28b3fffae08c66ed09c78bc67b0355ab49b26966 [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
71
tom0eb04ca2014-08-25 14:34:51 -070072 <!-- Web related -->
73 <dependency>
74 <groupId>com.sun.jersey</groupId>
75 <artifactId>jersey-servlet</artifactId>
76 <version>1.18.1</version>
77 <scope>provided</scope>
78 </dependency>
79 <dependency>
80 <groupId>com.fasterxml.jackson.core</groupId>
81 <artifactId>jackson-databind</artifactId>
82 <version>2.4.2</version>
83 <scope>provided</scope>
84 </dependency>
85 <dependency>
86 <groupId>com.fasterxml.jackson.core</groupId>
87 <artifactId>jackson-annotations</artifactId>
88 <version>2.4.2</version>
89 <scope>provided</scope>
90 </dependency>
91
92 <!-- OSGi related -->
93 <dependency>
94 <groupId>org.osgi</groupId>
95 <artifactId>org.osgi.core</artifactId>
96 <version>4.3.1</version>
97 <scope>provided</scope>
98 </dependency>
99 <dependency>
100 <groupId>org.apache.felix</groupId>
101 <artifactId>org.apache.felix.scr.annotations</artifactId>
102 <version>1.9.8</version>
103 <scope>provided</scope>
104 </dependency>
105 <dependency>
106 <groupId>org.apache.karaf.shell</groupId>
107 <artifactId>org.apache.karaf.shell.console</artifactId>
108 <version>3.0.1</version>
109 <scope>provided</scope>
110 </dependency>
111
112 <!-- ONOS related -->
113 <dependency>
114 <groupId>org.onlab.onos</groupId>
tom5f38b3a2014-08-27 23:50:54 -0700115 <artifactId>onlab-misc</artifactId>
116 <version>${project.version}</version>
117 </dependency>
118
119 <dependency>
120 <groupId>org.onlab.onos</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700121 <artifactId>onos-api</artifactId>
122 <version>${project.version}</version>
123 </dependency>
124 <dependency>
125 <groupId>org.onlab.onos</groupId>
126 <artifactId>onos-of-api</artifactId>
127 <version>${project.version}</version>
128 </dependency>
129
130 </dependencies>
131 </dependencyManagement>
132
133 <dependencies>
134 <dependency>
135 <groupId>junit</groupId>
136 <artifactId>junit</artifactId>
137 </dependency>
138 <dependency>
139 <groupId>org.slf4j</groupId>
140 <artifactId>slf4j-jdk14</artifactId>
141 </dependency>
142 </dependencies>
tom09419512014-08-15 11:28:43 -0700143
144 <build>
145 <pluginManagement>
146 <plugins>
147 <plugin>
148 <groupId>org.apache.maven.plugins</groupId>
149 <artifactId>maven-compiler-plugin</artifactId>
150 <version>3.1</version>
151 <configuration>
152 <source>1.7</source>
153 <target>1.7</target>
154 </configuration>
155 </plugin>
156
157 <plugin>
158 <groupId>org.apache.maven.plugins</groupId>
159 <artifactId>maven-surefire-plugin</artifactId>
160 <version>2.17</version>
tom64888122014-08-27 21:47:46 -0700161 <configuration>
162 <redirectTestOutputToFile>true</redirectTestOutputToFile>
163 <printSummary>true</printSummary>
164 </configuration>
tom09419512014-08-15 11:28:43 -0700165 </plugin>
166
167 <plugin>
168 <groupId>org.apache.maven.plugins</groupId>
169 <artifactId>maven-jar-plugin</artifactId>
170 <version>2.3.1</version>
171 <executions>
172 <execution>
173 <phase>package</phase>
174 <goals>
175 <goal>test-jar</goal>
176 </goals>
177 </execution>
178 </executions>
179 </plugin>
180
181 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700182 <groupId>org.apache.maven.plugins</groupId>
183 <artifactId>maven-resources-plugin</artifactId>
184 <version>2.6</version>
185 </plugin>
186
187 <plugin>
tom09419512014-08-15 11:28:43 -0700188 <groupId>org.apache.felix</groupId>
189 <artifactId>maven-bundle-plugin</artifactId>
190 <version>2.3.7</version>
191 <extensions>true</extensions>
192 </plugin>
193
194 <plugin>
195 <groupId>org.apache.felix</groupId>
196 <artifactId>maven-scr-plugin</artifactId>
197 <version>1.15.0</version>
198 <executions>
199 <execution>
200 <id>generate-scr-srcdescriptor</id>
201 <goals>
202 <goal>scr</goal>
203 </goals>
204 </execution>
205 </executions>
206 <configuration>
207 <supportedProjectTypes>
208 <supportedProjectType>bundle</supportedProjectType>
209 <supportedProjectType>war</supportedProjectType>
210 </supportedProjectTypes>
211 </configuration>
212 </plugin>
213
tom09419512014-08-15 11:28:43 -0700214 <!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
215 <!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
216 <!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
217
218 </plugins>
tom09419512014-08-15 11:28:43 -0700219 </pluginManagement>
tom0eb04ca2014-08-25 14:34:51 -0700220
221 <plugins>
222 <plugin>
223 <groupId>org.apache.maven.plugins</groupId>
tome33cc1a2014-08-25 21:59:41 -0700224 <artifactId>maven-jar-plugin</artifactId>
225 </plugin>
226
227 <plugin>
228 <groupId>org.apache.maven.plugins</groupId>
tom0eb04ca2014-08-25 14:34:51 -0700229 <artifactId>maven-checkstyle-plugin</artifactId>
230 <version>2.12.1</version>
231 <dependencies>
232 <dependency>
233 <groupId>org.onlab.tools</groupId>
234 <artifactId>onos-build-conf</artifactId>
235 <version>1.0</version>
236 </dependency>
237 </dependencies>
238 <configuration>
239 <configLocation>onos/checkstyle.xml</configLocation>
240 <suppressionsLocation>onos/suppressions.xml
241 </suppressionsLocation>
242 <failsOnError>false</failsOnError>
243 <logViolationsToConsole>true</logViolationsToConsole>
244 <includeTestSourceDirectory>true
245 </includeTestSourceDirectory>
246 </configuration>
247 <executions>
248 <execution>
249 <id>validate-checkstyle</id>
250 <phase>verify</phase>
251 <goals>
252 <goal>check</goal>
253 </goals>
254 </execution>
255 </executions>
256 </plugin>
257
258 <plugin>
tom50a76dd2014-09-02 15:18:35 -0700259 <groupId>org.apache.maven.plugins</groupId>
260 <artifactId>maven-pmd-plugin</artifactId>
261 <version>3.2</version>
262 <configuration>
263 <excludes>
264 <exclude>**/datastore/serializers/**</exclude>
265 <exclude>**/edu/stanford/**</exclude>
266 <exclude>**/net/floodlightcontroller/**</exclude>
267 </excludes>
268 <rulesets>
269 <ruleset>onos/pmd.xml</ruleset>
270 </rulesets>
271 </configuration>
272 <executions>
273 <execution>
274 <id>validate-pmd</id>
275 <phase>verify</phase>
276 <goals>
277 <!-- Uncomment this goal to make the build fail on pmd errors -->
278 <!--<goal>check</goal>-->
279 </goals>
280 </execution>
281 </executions>
282 </plugin>
283
284 <plugin>
tom4f3b18b2014-08-28 14:38:47 -0700285 <groupId>org.jacoco</groupId>
286 <artifactId>jacoco-maven-plugin</artifactId>
287 <version>0.7.1.201405082137</version>
288 <executions>
289 <execution>
290 <id>default-prepare-agent</id>
291 <goals>
292 <goal>prepare-agent</goal>
293 </goals>
294 </execution>
295 <execution>
296 <id>default-report</id>
297 <phase>prepare-package</phase>
298 <goals>
299 <goal>report</goal>
300 </goals>
301 </execution>
302 </executions>
303 </plugin>
304
305 <plugin>
tom0eb04ca2014-08-25 14:34:51 -0700306 <groupId>org.apache.maven.plugins</groupId>
307 <artifactId>maven-javadoc-plugin</artifactId>
308 <version>2.9.1</version>
309 <configuration>
310 <docfilessubdirs>true</docfilessubdirs>
311 <doctitle>ONOS Java API</doctitle>
312 <groups>
313 <group>
314 <title>Network Model &amp; Services</title>
315 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700316 org.onlab.onos:org.onlab.onos.*
tom0eb04ca2014-08-25 14:34:51 -0700317 </packages>
318 </group>
319 <group>
320 <title>Core Subsystems</title>
321 <packages>
tom5f38b3a2014-08-27 23:50:54 -0700322 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 -0700323 </packages>
324 </group>
325 <group>
326 <title>OpenFlow Providers &amp; Controller
327 </title>
328 <packages>
tome06f8552014-08-26 16:58:42 -0700329 org.onlab.onos.provider.of.*:org.onlab.onos.of.*
tom0eb04ca2014-08-25 14:34:51 -0700330 </packages>
331 </group>
332 <group>
333 <title>Utilities</title>
334 <packages>
tom984d7822014-08-29 12:02:59 -0700335 org.onlab.*
tom0eb04ca2014-08-25 14:34:51 -0700336 </packages>
337 </group>
338 <group>
339 <title>GUI, REST &amp; Command-Line</title>
340 <packages>
341 org.onlab.onos.gui:org.onlab.onos.rest:org.onlab.onos.cli:org.onlab.onos.gui.*:org.onlab.onos.rest.*:org.onlab.onos.cli.*
342 </packages>
343 </group>
344 </groups>
345 </configuration>
346 </plugin>
347
348 </plugins>
tom09419512014-08-15 11:28:43 -0700349 </build>
alshabib522d9872014-08-15 10:35:16 -0700350
tom0eb04ca2014-08-25 14:34:51 -0700351 <reporting>
352 <plugins>
353 <plugin>
354 <groupId>org.apache.maven.plugins</groupId>
355 <artifactId>maven-checkstyle-plugin</artifactId>
356 <version>2.12.1</version>
357 <configuration>
358 <configLocation>onos/checkstyle.xml</configLocation>
359 </configuration>
360 </plugin>
tom50a76dd2014-09-02 15:18:35 -0700361
362 <plugin>
363 <groupId>org.apache.maven.plugins</groupId>
364 <artifactId>maven-pmd-plugin</artifactId>
365 <version>3.2</version>
366 <configuration>
367 <excludes>
368 <exclude>**/datastore/serializers/**</exclude>
369 <exclude>**/edu/stanford/**</exclude>
370 <exclude>**/net/floodlightcontroller/**</exclude>
371 </excludes>
372 <rulesets>
373 <ruleset>onos/pmd.xml</ruleset>
374 </rulesets>
375 </configuration>
376 </plugin>
377
tom0eb04ca2014-08-25 14:34:51 -0700378 </plugins>
379
380 </reporting>
381
alshabib522d9872014-08-15 10:35:16 -0700382</project>