blob: 7441facbf2c681162613b3e4fa0a6aa68a489e20 [file] [log] [blame]
Thomas Vachuska43977572016-06-02 13:48:55 -07001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 ~ Copyright 2016 Open Networking Laboratory
4 ~
5 ~ Licensed under the Apache License, Version 2.0 (the "License");
6 ~ you may not use this file except in compliance with the License.
7 ~ You may obtain a copy of the License at
8 ~
9 ~ http://www.apache.org/licenses/LICENSE-2.0
10 ~
11 ~ Unless required by applicable law or agreed to in writing, software
12 ~ distributed under the License is distributed on an "AS IS" BASIS,
13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ~ See the License for the specific language governing permissions and
15 ~ limitations under the License.
16 -->
17<project xmlns="http://maven.apache.org/POM/4.0.0"
18 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 <modelVersion>4.0.0</modelVersion>
21
22 <prerequisites>
23 <maven>3.0.3</maven>
24 </prerequisites>
25
26 <parent>
27 <groupId>org.onosproject</groupId>
28 <artifactId>onos-base</artifactId>
29 <version>1</version>
30 <relativePath>../tools/build/pom.xml</relativePath>
31 </parent>
32
33 <groupId>org.onosproject</groupId>
34 <artifactId>onos-dependencies</artifactId>
35 <packaging>pom</packaging>
36 <version>1.7.0-SNAPSHOT</version>
37
38 <name>${project.artifactId}</name>
39 <description>Open Network Operating System shared dependencies</description>
40
41 <properties>
42 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43 <onos-build-conf.version>1.3</onos-build-conf.version>
44 <netty4.version>4.0.36.Final</netty4.version>
45 <openflowj.version>0.9.4.onos</openflowj.version>
46 <onos-maven-plugin.version>1.9</onos-maven-plugin.version>
47 <osgi.version>5.0.0</osgi.version>
48 <karaf.version>3.0.5</karaf.version>
49 <jersey.version>2.22.2</jersey.version>
50 <jackson.version>2.7.3</jackson.version>
51 <slf4j.version>1.7.21</slf4j.version>
52 <guava.version>19.0</guava.version>
53 <commons.io.version>2.4</commons.io.version>
54 <!-- TODO argLine was originally added maven-surfire-plugin configuration
55 to fix locale errors for non-US developers. However, it breaks
56 SonarQube's test coverage, so moving here for now. -->
57 <argLine>-Duser.language=en -Duser.region=US</argLine>
58 </properties>
59
60 <dependencyManagement>
61 <dependencies>
62 <dependency>
63 <groupId>junit</groupId>
64 <artifactId>junit</artifactId>
65 <version>4.12</version>
66 <scope>test</scope>
67 </dependency>
68
69 <dependency>
70 <groupId>org.hamcrest</groupId>
71 <artifactId>hamcrest-core</artifactId>
72 <version>1.3</version>
73 <scope>test</scope>
74 </dependency>
75 <dependency>
76 <groupId>org.hamcrest</groupId>
77 <artifactId>hamcrest-library</artifactId>
78 <version>1.3</version>
79 <scope>test</scope>
80 </dependency>
81
82 <dependency>
83 <groupId>org.slf4j</groupId>
84 <artifactId>slf4j-api</artifactId>
85 <version>${slf4j.version}</version>
86 <scope>provided</scope>
87 </dependency>
88
89 <dependency>
90 <groupId>org.slf4j</groupId>
91 <artifactId>slf4j-core</artifactId>
92 <version>${slf4j.version}</version>
93 <scope>test</scope>
94 </dependency>
95
96 <dependency>
97 <groupId>org.slf4j</groupId>
98 <artifactId>slf4j-jdk14</artifactId>
99 <version>${slf4j.version}</version>
100 <scope>test</scope>
101 </dependency>
102
103 <dependency>
104 <groupId>com.google.guava</groupId>
105 <artifactId>guava</artifactId>
106 <version>${guava.version}</version>
107 </dependency>
108
109 <dependency>
110 <groupId>com.google.guava</groupId>
111 <artifactId>guava-testlib</artifactId>
112 <version>${guava.version}</version>
113 <scope>test</scope>
114 </dependency>
115
116 <dependency>
117 <groupId>com.googlecode.concurrent-trees</groupId>
118 <artifactId>concurrent-trees</artifactId>
119 <version>2.4.0</version>
120 </dependency>
121
122 <dependency>
123 <groupId>commons-lang</groupId>
124 <artifactId>commons-lang</artifactId>
125 <version>2.6</version>
126 </dependency>
127
128 <dependency>
129 <groupId>org.apache.commons</groupId>
130 <artifactId>commons-lang3</artifactId>
131 <version>3.4</version>
132 </dependency>
133
134 <dependency>
135 <groupId>commons-configuration</groupId>
136 <artifactId>commons-configuration</artifactId>
137 <version>1.10</version>
138 </dependency>
139
140 <dependency>
141 <groupId>commons-collections</groupId>
142 <artifactId>commons-collections</artifactId>
143 <version>3.2.2</version>
144 </dependency>
145
146 <dependency>
147 <groupId>commons-pool</groupId>
148 <artifactId>commons-pool</artifactId>
149 <version>1.6</version>
150 </dependency>
151
152 <dependency>
153 <groupId>org.easymock</groupId>
154 <artifactId>easymock</artifactId>
155 <version>3.4</version>
156 <scope>test</scope>
157 </dependency>
158
159 <!-- Web related -->
160 <dependency>
161 <groupId>org.glassfish.jersey.core</groupId>
162 <artifactId>jersey-client</artifactId>
163 <version>${jersey.version}</version>
164 </dependency>
165 <dependency>
166 <groupId>org.glassfish.jersey.containers</groupId>
167 <artifactId>jersey-container-servlet</artifactId>
168 <version>${jersey.version}</version>
169 <scope>provided</scope>
170 </dependency>
171 <dependency>
172 <groupId>org.glassfish.jersey.containers</groupId>
173 <artifactId>jersey-container-servlet-core</artifactId>
174 <version>${jersey.version}</version>
175 <scope>provided</scope>
176 </dependency>
177 <dependency>
178 <groupId>org.glassfish.jersey.media</groupId>
179 <artifactId>jersey-media-multipart</artifactId>
180 <version>${jersey.version}</version>
181 <scope>provided</scope>
182 </dependency>
183 <dependency>
184 <groupId>org.glassfish.jersey.test-framework</groupId>
185 <artifactId>jersey-test-framework-core</artifactId>
186 <version>${jersey.version}</version>
187 <scope>test</scope>
188 </dependency>
189 <dependency>
190 <groupId>org.glassfish.jersey.test-framework.providers</groupId>
191 <artifactId>jersey-test-framework-provider-jetty</artifactId>
192 <version>${jersey.version}</version>
193 <scope>test</scope>
194 </dependency>
195 <dependency>
196 <groupId>com.fasterxml.jackson.core</groupId>
197 <artifactId>jackson-databind</artifactId>
198 <version>${jackson.version}</version>
199 <scope>provided</scope>
200 </dependency>
201 <dependency>
202 <groupId>com.fasterxml.jackson.core</groupId>
203 <artifactId>jackson-annotations</artifactId>
204 <version>${jackson.version}</version>
205 <scope>provided</scope>
206 </dependency>
207
208 <!-- OSGi related -->
209 <dependency>
210 <groupId>org.osgi</groupId>
211 <artifactId>org.osgi.core</artifactId>
212 <version>${osgi.version}</version>
213 <scope>provided</scope>
214 </dependency>
215 <dependency>
216 <groupId>org.osgi</groupId>
217 <artifactId>org.osgi.compendium</artifactId>
218 <version>${osgi.version}</version>
219 <scope>provided</scope>
220 </dependency>
221 <dependency>
222 <groupId>org.apache.felix</groupId>
223 <artifactId>org.apache.felix.scr.annotations</artifactId>
224 <version>1.9.12</version>
225 <scope>provided</scope>
226 </dependency>
227 <dependency>
228 <groupId>org.apache.felix</groupId>
229 <artifactId>org.apache.felix.scr</artifactId>
230 <version>1.8.2</version>
231 </dependency>
232
233 <dependency>
234 <groupId>org.apache.karaf.features</groupId>
235 <artifactId>org.apache.karaf.features.core</artifactId>
236 <version>${karaf.version}</version>
237 <scope>provided</scope>
238 </dependency>
239 <dependency>
240 <groupId>org.apache.karaf.system</groupId>
241 <artifactId>org.apache.karaf.system.core</artifactId>
242 <version>${karaf.version}</version>
243 <scope>provided</scope>
244 </dependency>
245 <dependency>
246 <groupId>org.apache.karaf.shell</groupId>
247 <artifactId>org.apache.karaf.shell.console</artifactId>
248 <version>${karaf.version}</version>
249 <scope>provided</scope>
250 </dependency>
251
252 <dependency>
253 <groupId>org.livetribe.slp</groupId>
254 <artifactId>livetribe-slp</artifactId>
255 <version>2.2.1</version>
256 </dependency>
257
258 <dependency>
259 <groupId>com.eclipsesource.minimal-json</groupId>
260 <artifactId>minimal-json</artifactId>
261 <version>0.9.4</version>
262 </dependency>
263 <dependency>
264 <groupId>com.esotericsoftware</groupId>
265 <artifactId>kryo</artifactId>
266 <version>3.0.3</version>
267 </dependency>
268 <dependency>
269 <groupId>com.esotericsoftware</groupId>
270 <artifactId>reflectasm</artifactId>
271 <version>1.11.0</version>
272 <type>bundle</type>
273 </dependency>
274 <dependency>
275 <groupId>org.ow2.asm</groupId>
276 <artifactId>asm</artifactId>
277 <version>5.0.3</version>
278 </dependency>
279 <dependency>
280 <groupId>com.esotericsoftware</groupId>
281 <artifactId>minlog</artifactId>
282 <version>1.3.0</version>
283 </dependency>
284 <dependency>
285 <groupId>org.objenesis</groupId>
286 <artifactId>objenesis</artifactId>
287 <version>2.2</version>
288 </dependency>
289
290 <!-- Netty related; for now we require both 3.10.x and 4 -->
291 <dependency>
292 <groupId>io.netty</groupId>
293 <artifactId>netty</artifactId>
294 <version>3.10.5.Final</version>
295 </dependency>
296
297 <dependency>
298 <groupId>io.netty</groupId>
299 <artifactId>netty-common</artifactId>
300 <version>${netty4.version}</version>
301 </dependency>
302 <dependency>
303 <groupId>io.netty</groupId>
304 <artifactId>netty-buffer</artifactId>
305 <version>${netty4.version}</version>
306 </dependency>
307 <dependency>
308 <groupId>io.netty</groupId>
309 <artifactId>netty-transport</artifactId>
310 <version>${netty4.version}</version>
311 </dependency>
312 <dependency>
313 <groupId>io.netty</groupId>
314 <artifactId>netty-handler</artifactId>
315 <version>${netty4.version}</version>
316 </dependency>
317
318 <dependency>
319 <groupId>io.netty</groupId>
320 <artifactId>netty-codec</artifactId>
321 <version>${netty4.version}</version>
322 </dependency>
323
324 <dependency>
325 <groupId>io.netty</groupId>
326 <artifactId>netty-transport-native-epoll</artifactId>
327 <version>${netty4.version}</version>
328 <classifier>${os.detected.classifier}</classifier>
329 </dependency>
330
331 <dependency>
332 <groupId>joda-time</groupId>
333 <artifactId>joda-time</artifactId>
334 <version>2.9.3</version>
335 </dependency>
336
337 <dependency>
338 <groupId>com.google.code.findbugs</groupId>
339 <artifactId>jsr305</artifactId>
340 <version>3.0.1</version>
341 </dependency>
342
343 <dependency>
344 <groupId>org.onosproject</groupId>
345 <artifactId>openflowj</artifactId>
346 <version>${openflowj.version}</version>
347 <scope>provided</scope>
348 </dependency>
349 </dependencies>
350 </dependencyManagement>
351
352 <dependencies>
353 <dependency>
354 <groupId>junit</groupId>
355 <artifactId>junit</artifactId>
356 </dependency>
357 <dependency>
358 <groupId>org.hamcrest</groupId>
359 <artifactId>hamcrest-core</artifactId>
360 </dependency>
361 <dependency>
362 <groupId>org.hamcrest</groupId>
363 <artifactId>hamcrest-library</artifactId>
364 </dependency>
365 <dependency>
366 <groupId>org.slf4j</groupId>
367 <artifactId>slf4j-api</artifactId>
368 </dependency>
369 <dependency>
370 <groupId>org.slf4j</groupId>
371 <artifactId>slf4j-jdk14</artifactId>
372 </dependency>
373 <!-- TODO sonar-maven-plugin prints the following ERROR many times:
374 Class not found: javax.annotation.Nullable
375 The following dependency alleviates this problem, but perhaps
376 it can be better located in the future. -->
377 <dependency>
378 <groupId>com.google.code.findbugs</groupId>
379 <artifactId>jsr305</artifactId>
380 <version>3.0.1</version>
381 </dependency>
382 </dependencies>
383
384 <build>
385 <pluginManagement>
386 <plugins>
387 <plugin>
388 <groupId>org.apache.maven.plugins</groupId>
389 <artifactId>maven-compiler-plugin</artifactId>
390 <!-- TODO: update once following issue is fixed. -->
391 <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
392 <version>2.5.1</version>
393 <configuration>
394 <source>1.8</source>
395 <target>1.8</target>
396 </configuration>
397 </plugin>
398
399 <plugin>
400 <groupId>org.apache.maven.plugins</groupId>
401 <artifactId>maven-surefire-plugin</artifactId>
402 <version>2.19.1</version>
403 <configuration>
404 <redirectTestOutputToFile>true</redirectTestOutputToFile>
405 <printSummary>true</printSummary>
406 <excludedGroups>org.onlab.junit.IntegrationTest
407 </excludedGroups>
408 <rerunFailingTestsCount>1</rerunFailingTestsCount>
409 </configuration>
410 </plugin>
411 <plugin>
412 <groupId>org.apache.maven.plugins</groupId>
413 <artifactId>maven-javadoc-plugin</artifactId>
414 <version>2.10.3</version>
415 <configuration>
416 <tags>
417 <tag>
418 <name>onos.rsModel</name>
419 <placement>m</placement>
420 <head>Json model for REST api:</head>
421 </tag>
422 </tags>
423 </configuration>
424 </plugin>
425 <plugin>
426 <groupId>org.apache.maven.plugins</groupId>
427 <artifactId>maven-jar-plugin</artifactId>
428 <version>2.6</version>
429 <configuration>
430 <skipIfEmpty>true</skipIfEmpty>
431 </configuration>
432 <executions>
433 <execution>
434 <id>default</id>
435 <goals>
436 <goal>test-jar</goal>
437 </goals>
438 </execution>
439 </executions>
440 </plugin>
441
442 <plugin>
443 <groupId>org.apache.maven.plugins</groupId>
444 <artifactId>maven-resources-plugin</artifactId>
445 <version>2.7</version>
446 </plugin>
447
448 <plugin>
449 <groupId>org.apache.felix</groupId>
450 <artifactId>maven-bundle-plugin</artifactId>
451 <version>3.0.1</version>
452 <extensions>true</extensions>
453 <configuration>
454 <niceManifest>true</niceManifest>
455 </configuration>
456 </plugin>
457
458 <plugin>
459 <groupId>org.apache.maven.plugins</groupId>
460 <artifactId>maven-shade-plugin</artifactId>
461 <version>2.4.2</version>
462 </plugin>
463
464 <plugin>
465 <groupId>org.apache.felix</groupId>
466 <artifactId>maven-scr-plugin</artifactId>
467 <version>1.21.0</version>
468 <executions>
469 <execution>
470 <id>generate-scr-srcdescriptor</id>
471 <goals>
472 <goal>scr</goal>
473 </goals>
474 </execution>
475 </executions>
476 <configuration>
477 <supportedProjectTypes>
478 <supportedProjectType>bundle</supportedProjectType>
479 <supportedProjectType>war</supportedProjectType>
480 </supportedProjectTypes>
481 </configuration>
482 </plugin>
483 <plugin>
484 <groupId>org.codehaus.mojo</groupId>
485 <artifactId>findbugs-maven-plugin</artifactId>
486 <version>3.0.1</version>
487 <dependencies>
488 <dependency>
489 <groupId>org.onosproject</groupId>
490 <artifactId>onos-build-conf</artifactId>
491 <version>${onos-build-conf.version}</version>
492 </dependency>
493 </dependencies>
494 <configuration>
495 <effort>Max</effort>
496 <excludeFilterFile>onos/findbugs-suppressions.xml
497 </excludeFilterFile>
498 </configuration>
499 </plugin>
500
501 <!-- This version needs to be updated manually when changes are made to onos-maven-plugin -->
502 <plugin>
503 <groupId>org.onosproject</groupId>
504 <artifactId>onos-maven-plugin</artifactId>
505 <version>${onos-maven-plugin.version}</version>
506 <executions>
507 <execution>
508 <id>cfg</id>
509 <phase>generate-resources</phase>
510 <goals>
511 <goal>cfg</goal>
512 </goals>
513 </execution>
514 <execution>
515 <id>swagger</id>
516 <phase>generate-sources</phase>
517 <goals>
518 <goal>swagger</goal>
519 </goals>
520 </execution>
521 <execution>
522 <id>app</id>
523 <phase>package</phase>
524 <goals>
525 <goal>app</goal>
526 </goals>
527 </execution>
528 </executions>
529 </plugin>
530 </plugins>
531 </pluginManagement>
532
533 <plugins>
534 <plugin>
535 <groupId>org.apache.maven.plugins</groupId>
536 <artifactId>maven-jar-plugin</artifactId>
537 </plugin>
538
539 <plugin>
540 <groupId>org.apache.maven.plugins</groupId>
541 <artifactId>maven-checkstyle-plugin</artifactId>
542 <version>2.17</version>
543 <dependencies>
544 <dependency>
545 <groupId>org.onosproject</groupId>
546 <artifactId>onos-build-conf</artifactId>
547 <version>${onos-build-conf.version}</version>
548 </dependency>
549 </dependencies>
550 <configuration>
551 <!-- begin: workaround for unexpected NullPointerException on Eclipse -->
552 <sourceDirectory>${project.build.sourceDirectory}
553 </sourceDirectory>
554 <testSourceDirectory>${project.build.testSourceDirectory}
555 </testSourceDirectory>
556 <!-- end: workaround for unexpected NullPointerException on Eclipse -->
557 <configLocation>onos/checkstyle.xml</configLocation>
558 <suppressionsLocation>onos/suppressions.xml
559 </suppressionsLocation>
560 <failsOnError>false</failsOnError>
561 <logViolationsToConsole>true</logViolationsToConsole>
562 <includeTestSourceDirectory>true
563 </includeTestSourceDirectory>
564 </configuration>
565 <executions>
566 <execution>
567 <id>validate-checkstyle</id>
568 <phase>verify</phase>
569 <goals>
570 <goal>check</goal>
571 </goals>
572 </execution>
573 </executions>
574 </plugin>
575
576 <plugin>
577 <groupId>org.apache.maven.plugins</groupId>
578 <artifactId>maven-pmd-plugin</artifactId>
579 <version>3.6</version>
580 <configuration>
581 <excludes>
582 </excludes>
583 <rulesets>
584 <ruleset>onos/pmd.xml</ruleset>
585 </rulesets>
586 </configuration>
587 <executions>
588 <execution>
589 <id>validate-pmd</id>
590 <phase>verify</phase>
591 <goals>
592 <!-- Uncomment this goal to make the build fail on pmd errors -->
593 <!--<goal>check</goal>-->
594 </goals>
595 </execution>
596 </executions>
597 </plugin>
598
599 <plugin>
600 <groupId>org.jacoco</groupId>
601 <artifactId>jacoco-maven-plugin</artifactId>
602 <version>0.7.5.201505241946</version>
603 <executions>
604 <execution>
605 <id>default-prepare-agent</id>
606 <goals>
607 <goal>prepare-agent</goal>
608 </goals>
609 </execution>
610 <execution>
611 <id>default-report</id>
612 <phase>prepare-package</phase>
613 <goals>
614 <goal>report</goal>
615 </goals>
616 </execution>
617 </executions>
618 </plugin>
619 </plugins>
620 </build>
621
622 <reporting>
623 <plugins>
624 <plugin>
625 <groupId>org.apache.maven.plugins</groupId>
626 <artifactId>maven-checkstyle-plugin</artifactId>
627 <configuration>
628 <configLocation>onos/checkstyle.xml</configLocation>
629 </configuration>
630 </plugin>
631
632 <plugin>
633 <groupId>org.apache.maven.plugins</groupId>
634 <artifactId>maven-pmd-plugin</artifactId>
635 <configuration>
636 <excludes>
637 </excludes>
638 <rulesets>
639 <ruleset>onos/pmd.xml</ruleset>
640 </rulesets>
641 </configuration>
642 </plugin>
643 </plugins>
644 </reporting>
645</project>