blob: abe1c734d8f957016a316d88546e9b32b72b5cc1 [file] [log] [blame]
Thomas Vachuska43977572016-06-02 13:48:55 -07001<?xml version="1.0" encoding="UTF-8"?>
2<!--
Brian O'Connor0a4e6742016-09-15 23:03:10 -07003 ~ Copyright 2016-present Open Networking Laboratory
Thomas Vachuska43977572016-06-02 13:48:55 -07004 ~
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>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -070023 <maven>3.0.5</maven>
Thomas Vachuska43977572016-06-02 13:48:55 -070024 </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>
Ray Milkey9bead7f2017-03-09 20:13:03 -080036 <version>1.8.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -070037
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>
Jonathan Hart7947be92017-01-13 09:09:57 -080044 <netty4.version>4.1.5.Final</netty4.version>
Pier Ventrecd64e892016-10-24 13:15:48 -070045 <openflowj.version>0.9.7.onos</openflowj.version>
Thomas Vachuskae5428c52016-08-09 13:27:06 -070046 <onos-maven-plugin.version>1.10</onos-maven-plugin.version>
Thomas Vachuska43977572016-06-02 13:48:55 -070047 <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>
Yuta HIGUCHI064f9dd2017-01-06 11:45:02 -0800119 <version>2.6.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700120 </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>
Yuta HIGUCHI86f142f2016-07-09 17:44:09 -0700266 <version>4.0.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700267 </dependency>
268 <dependency>
269 <groupId>com.esotericsoftware</groupId>
270 <artifactId>reflectasm</artifactId>
Yuta HIGUCHI86f142f2016-07-09 17:44:09 -0700271 <version>1.11.3</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700272 </dependency>
273 <dependency>
274 <groupId>org.ow2.asm</groupId>
275 <artifactId>asm</artifactId>
Yuta HIGUCHI86f142f2016-07-09 17:44:09 -0700276 <version>5.0.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700277 </dependency>
278 <dependency>
279 <groupId>com.esotericsoftware</groupId>
280 <artifactId>minlog</artifactId>
281 <version>1.3.0</version>
282 </dependency>
283 <dependency>
284 <groupId>org.objenesis</groupId>
285 <artifactId>objenesis</artifactId>
286 <version>2.2</version>
287 </dependency>
288
289 <!-- Netty related; for now we require both 3.10.x and 4 -->
290 <dependency>
291 <groupId>io.netty</groupId>
292 <artifactId>netty</artifactId>
293 <version>3.10.5.Final</version>
294 </dependency>
295
296 <dependency>
297 <groupId>io.netty</groupId>
298 <artifactId>netty-common</artifactId>
299 <version>${netty4.version}</version>
300 </dependency>
301 <dependency>
302 <groupId>io.netty</groupId>
303 <artifactId>netty-buffer</artifactId>
304 <version>${netty4.version}</version>
305 </dependency>
306 <dependency>
307 <groupId>io.netty</groupId>
308 <artifactId>netty-transport</artifactId>
309 <version>${netty4.version}</version>
310 </dependency>
311 <dependency>
312 <groupId>io.netty</groupId>
313 <artifactId>netty-handler</artifactId>
314 <version>${netty4.version}</version>
315 </dependency>
316
317 <dependency>
318 <groupId>io.netty</groupId>
319 <artifactId>netty-codec</artifactId>
320 <version>${netty4.version}</version>
321 </dependency>
322
323 <dependency>
324 <groupId>io.netty</groupId>
325 <artifactId>netty-transport-native-epoll</artifactId>
326 <version>${netty4.version}</version>
327 <classifier>${os.detected.classifier}</classifier>
328 </dependency>
329
330 <dependency>
Jonathan Hart7947be92017-01-13 09:09:57 -0800331 <groupId>io.netty</groupId>
332 <artifactId>netty-resolver</artifactId>
333 <version>${netty4.version}</version>
334 </dependency>
335
336 <dependency>
Thomas Vachuska43977572016-06-02 13:48:55 -0700337 <groupId>joda-time</groupId>
338 <artifactId>joda-time</artifactId>
339 <version>2.9.3</version>
340 </dependency>
341
342 <dependency>
343 <groupId>com.google.code.findbugs</groupId>
344 <artifactId>jsr305</artifactId>
345 <version>3.0.1</version>
346 </dependency>
347
348 <dependency>
349 <groupId>org.onosproject</groupId>
350 <artifactId>openflowj</artifactId>
351 <version>${openflowj.version}</version>
352 <scope>provided</scope>
353 </dependency>
354 </dependencies>
355 </dependencyManagement>
356
357 <dependencies>
358 <dependency>
359 <groupId>junit</groupId>
360 <artifactId>junit</artifactId>
361 </dependency>
362 <dependency>
363 <groupId>org.hamcrest</groupId>
364 <artifactId>hamcrest-core</artifactId>
365 </dependency>
366 <dependency>
367 <groupId>org.hamcrest</groupId>
368 <artifactId>hamcrest-library</artifactId>
369 </dependency>
370 <dependency>
371 <groupId>org.slf4j</groupId>
372 <artifactId>slf4j-api</artifactId>
373 </dependency>
374 <dependency>
375 <groupId>org.slf4j</groupId>
376 <artifactId>slf4j-jdk14</artifactId>
377 </dependency>
378 <!-- TODO sonar-maven-plugin prints the following ERROR many times:
379 Class not found: javax.annotation.Nullable
380 The following dependency alleviates this problem, but perhaps
381 it can be better located in the future. -->
382 <dependency>
383 <groupId>com.google.code.findbugs</groupId>
384 <artifactId>jsr305</artifactId>
Thomas Vachuska43977572016-06-02 13:48:55 -0700385 </dependency>
386 </dependencies>
387
388 <build>
389 <pluginManagement>
390 <plugins>
391 <plugin>
392 <groupId>org.apache.maven.plugins</groupId>
393 <artifactId>maven-compiler-plugin</artifactId>
394 <!-- TODO: update once following issue is fixed. -->
395 <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
396 <version>2.5.1</version>
397 <configuration>
398 <source>1.8</source>
399 <target>1.8</target>
400 </configuration>
401 </plugin>
402
403 <plugin>
404 <groupId>org.apache.maven.plugins</groupId>
405 <artifactId>maven-surefire-plugin</artifactId>
406 <version>2.19.1</version>
407 <configuration>
408 <redirectTestOutputToFile>true</redirectTestOutputToFile>
409 <printSummary>true</printSummary>
410 <excludedGroups>org.onlab.junit.IntegrationTest
411 </excludedGroups>
412 <rerunFailingTestsCount>1</rerunFailingTestsCount>
413 </configuration>
414 </plugin>
415 <plugin>
416 <groupId>org.apache.maven.plugins</groupId>
417 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700418 <version>2.10.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700419 <configuration>
420 <tags>
421 <tag>
422 <name>onos.rsModel</name>
423 <placement>m</placement>
424 <head>Json model for REST api:</head>
425 </tag>
426 </tags>
427 </configuration>
428 </plugin>
429 <plugin>
430 <groupId>org.apache.maven.plugins</groupId>
431 <artifactId>maven-jar-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700432 <version>3.0.2</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700433 <configuration>
434 <skipIfEmpty>true</skipIfEmpty>
435 </configuration>
436 <executions>
437 <execution>
438 <id>default</id>
439 <goals>
440 <goal>test-jar</goal>
441 </goals>
442 </execution>
443 </executions>
444 </plugin>
445
446 <plugin>
447 <groupId>org.apache.maven.plugins</groupId>
448 <artifactId>maven-resources-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700449 <version>3.0.1</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700450 </plugin>
451
452 <plugin>
453 <groupId>org.apache.felix</groupId>
454 <artifactId>maven-bundle-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700455 <version>3.2.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700456 <extensions>true</extensions>
457 <configuration>
458 <niceManifest>true</niceManifest>
459 </configuration>
460 </plugin>
461
462 <plugin>
463 <groupId>org.apache.maven.plugins</groupId>
464 <artifactId>maven-shade-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700465 <version>2.4.3</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700466 </plugin>
467
468 <plugin>
469 <groupId>org.apache.felix</groupId>
470 <artifactId>maven-scr-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700471 <version>1.22.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700472 <executions>
473 <execution>
474 <id>generate-scr-srcdescriptor</id>
475 <goals>
476 <goal>scr</goal>
477 </goals>
478 </execution>
479 </executions>
480 <configuration>
481 <supportedProjectTypes>
482 <supportedProjectType>bundle</supportedProjectType>
483 <supportedProjectType>war</supportedProjectType>
484 </supportedProjectTypes>
485 </configuration>
486 </plugin>
487 <plugin>
488 <groupId>org.codehaus.mojo</groupId>
489 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700490 <version>3.0.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700491 <dependencies>
492 <dependency>
493 <groupId>org.onosproject</groupId>
494 <artifactId>onos-build-conf</artifactId>
495 <version>${onos-build-conf.version}</version>
496 </dependency>
497 </dependencies>
498 <configuration>
499 <effort>Max</effort>
500 <excludeFilterFile>onos/findbugs-suppressions.xml
501 </excludeFilterFile>
502 </configuration>
503 </plugin>
504
505 <!-- This version needs to be updated manually when changes are made to onos-maven-plugin -->
506 <plugin>
507 <groupId>org.onosproject</groupId>
508 <artifactId>onos-maven-plugin</artifactId>
509 <version>${onos-maven-plugin.version}</version>
510 <executions>
511 <execution>
512 <id>cfg</id>
513 <phase>generate-resources</phase>
514 <goals>
515 <goal>cfg</goal>
516 </goals>
517 </execution>
518 <execution>
519 <id>swagger</id>
520 <phase>generate-sources</phase>
521 <goals>
522 <goal>swagger</goal>
523 </goals>
524 </execution>
525 <execution>
526 <id>app</id>
527 <phase>package</phase>
528 <goals>
529 <goal>app</goal>
530 </goals>
531 </execution>
532 </executions>
533 </plugin>
534 </plugins>
535 </pluginManagement>
536
537 <plugins>
538 <plugin>
539 <groupId>org.apache.maven.plugins</groupId>
540 <artifactId>maven-jar-plugin</artifactId>
541 </plugin>
542
543 <plugin>
544 <groupId>org.apache.maven.plugins</groupId>
545 <artifactId>maven-checkstyle-plugin</artifactId>
546 <version>2.17</version>
547 <dependencies>
548 <dependency>
549 <groupId>org.onosproject</groupId>
550 <artifactId>onos-build-conf</artifactId>
551 <version>${onos-build-conf.version}</version>
552 </dependency>
553 </dependencies>
554 <configuration>
555 <!-- begin: workaround for unexpected NullPointerException on Eclipse -->
556 <sourceDirectory>${project.build.sourceDirectory}
557 </sourceDirectory>
558 <testSourceDirectory>${project.build.testSourceDirectory}
559 </testSourceDirectory>
560 <!-- end: workaround for unexpected NullPointerException on Eclipse -->
561 <configLocation>onos/checkstyle.xml</configLocation>
562 <suppressionsLocation>onos/suppressions.xml
563 </suppressionsLocation>
564 <failsOnError>false</failsOnError>
565 <logViolationsToConsole>true</logViolationsToConsole>
566 <includeTestSourceDirectory>true
567 </includeTestSourceDirectory>
568 </configuration>
569 <executions>
570 <execution>
571 <id>validate-checkstyle</id>
572 <phase>verify</phase>
573 <goals>
574 <goal>check</goal>
575 </goals>
576 </execution>
577 </executions>
578 </plugin>
579
580 <plugin>
581 <groupId>org.apache.maven.plugins</groupId>
582 <artifactId>maven-pmd-plugin</artifactId>
583 <version>3.6</version>
584 <configuration>
585 <excludes>
586 </excludes>
587 <rulesets>
588 <ruleset>onos/pmd.xml</ruleset>
589 </rulesets>
590 </configuration>
591 <executions>
592 <execution>
593 <id>validate-pmd</id>
594 <phase>verify</phase>
595 <goals>
596 <!-- Uncomment this goal to make the build fail on pmd errors -->
597 <!--<goal>check</goal>-->
598 </goals>
599 </execution>
600 </executions>
601 </plugin>
602
603 <plugin>
604 <groupId>org.jacoco</groupId>
605 <artifactId>jacoco-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700606 <version>0.7.7.201606060606</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700607 <executions>
608 <execution>
609 <id>default-prepare-agent</id>
610 <goals>
611 <goal>prepare-agent</goal>
612 </goals>
613 </execution>
614 <execution>
615 <id>default-report</id>
616 <phase>prepare-package</phase>
617 <goals>
618 <goal>report</goal>
619 </goals>
620 </execution>
621 </executions>
622 </plugin>
623 </plugins>
624 </build>
625
626 <reporting>
627 <plugins>
628 <plugin>
629 <groupId>org.apache.maven.plugins</groupId>
630 <artifactId>maven-checkstyle-plugin</artifactId>
631 <configuration>
632 <configLocation>onos/checkstyle.xml</configLocation>
633 </configuration>
634 </plugin>
635
636 <plugin>
637 <groupId>org.apache.maven.plugins</groupId>
638 <artifactId>maven-pmd-plugin</artifactId>
639 <configuration>
640 <excludes>
641 </excludes>
642 <rulesets>
643 <ruleset>onos/pmd.xml</ruleset>
644 </rulesets>
645 </configuration>
646 </plugin>
647 </plugins>
648 </reporting>
649</project>