blob: fa8c8f62a5543b75e91c4802c4ccadc533657060 [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 Milkey72bcefe2016-12-02 16:22:53 -080036 <version>1.9.0-SNAPSHOT</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>
Yuta HIGUCHI287b9382016-08-11 11:23:33 -070044 <netty4.version>4.0.40.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>
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>
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>
331 <groupId>joda-time</groupId>
332 <artifactId>joda-time</artifactId>
333 <version>2.9.3</version>
334 </dependency>
335
336 <dependency>
337 <groupId>com.google.code.findbugs</groupId>
338 <artifactId>jsr305</artifactId>
339 <version>3.0.1</version>
340 </dependency>
341
342 <dependency>
343 <groupId>org.onosproject</groupId>
344 <artifactId>openflowj</artifactId>
345 <version>${openflowj.version}</version>
346 <scope>provided</scope>
347 </dependency>
348 </dependencies>
349 </dependencyManagement>
350
351 <dependencies>
352 <dependency>
353 <groupId>junit</groupId>
354 <artifactId>junit</artifactId>
355 </dependency>
356 <dependency>
357 <groupId>org.hamcrest</groupId>
358 <artifactId>hamcrest-core</artifactId>
359 </dependency>
360 <dependency>
361 <groupId>org.hamcrest</groupId>
362 <artifactId>hamcrest-library</artifactId>
363 </dependency>
364 <dependency>
365 <groupId>org.slf4j</groupId>
366 <artifactId>slf4j-api</artifactId>
367 </dependency>
368 <dependency>
369 <groupId>org.slf4j</groupId>
370 <artifactId>slf4j-jdk14</artifactId>
371 </dependency>
372 <!-- TODO sonar-maven-plugin prints the following ERROR many times:
373 Class not found: javax.annotation.Nullable
374 The following dependency alleviates this problem, but perhaps
375 it can be better located in the future. -->
376 <dependency>
377 <groupId>com.google.code.findbugs</groupId>
378 <artifactId>jsr305</artifactId>
Thomas Vachuska43977572016-06-02 13:48:55 -0700379 </dependency>
380 </dependencies>
381
382 <build>
383 <pluginManagement>
384 <plugins>
385 <plugin>
386 <groupId>org.apache.maven.plugins</groupId>
387 <artifactId>maven-compiler-plugin</artifactId>
388 <!-- TODO: update once following issue is fixed. -->
389 <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
390 <version>2.5.1</version>
391 <configuration>
392 <source>1.8</source>
393 <target>1.8</target>
394 </configuration>
395 </plugin>
396
397 <plugin>
398 <groupId>org.apache.maven.plugins</groupId>
399 <artifactId>maven-surefire-plugin</artifactId>
400 <version>2.19.1</version>
401 <configuration>
402 <redirectTestOutputToFile>true</redirectTestOutputToFile>
403 <printSummary>true</printSummary>
404 <excludedGroups>org.onlab.junit.IntegrationTest
405 </excludedGroups>
406 <rerunFailingTestsCount>1</rerunFailingTestsCount>
407 </configuration>
408 </plugin>
409 <plugin>
410 <groupId>org.apache.maven.plugins</groupId>
411 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700412 <version>2.10.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700413 <configuration>
414 <tags>
415 <tag>
416 <name>onos.rsModel</name>
417 <placement>m</placement>
418 <head>Json model for REST api:</head>
419 </tag>
420 </tags>
421 </configuration>
422 </plugin>
423 <plugin>
424 <groupId>org.apache.maven.plugins</groupId>
425 <artifactId>maven-jar-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700426 <version>3.0.2</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700427 <configuration>
428 <skipIfEmpty>true</skipIfEmpty>
429 </configuration>
430 <executions>
431 <execution>
432 <id>default</id>
433 <goals>
434 <goal>test-jar</goal>
435 </goals>
436 </execution>
437 </executions>
438 </plugin>
439
440 <plugin>
441 <groupId>org.apache.maven.plugins</groupId>
442 <artifactId>maven-resources-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700443 <version>3.0.1</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700444 </plugin>
445
446 <plugin>
447 <groupId>org.apache.felix</groupId>
448 <artifactId>maven-bundle-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700449 <version>3.2.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700450 <extensions>true</extensions>
451 <configuration>
452 <niceManifest>true</niceManifest>
453 </configuration>
454 </plugin>
455
456 <plugin>
457 <groupId>org.apache.maven.plugins</groupId>
458 <artifactId>maven-shade-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700459 <version>2.4.3</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700460 </plugin>
461
462 <plugin>
463 <groupId>org.apache.felix</groupId>
464 <artifactId>maven-scr-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700465 <version>1.22.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700466 <executions>
467 <execution>
468 <id>generate-scr-srcdescriptor</id>
469 <goals>
470 <goal>scr</goal>
471 </goals>
472 </execution>
473 </executions>
474 <configuration>
475 <supportedProjectTypes>
476 <supportedProjectType>bundle</supportedProjectType>
477 <supportedProjectType>war</supportedProjectType>
478 </supportedProjectTypes>
479 </configuration>
480 </plugin>
481 <plugin>
482 <groupId>org.codehaus.mojo</groupId>
483 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700484 <version>3.0.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700485 <dependencies>
486 <dependency>
487 <groupId>org.onosproject</groupId>
488 <artifactId>onos-build-conf</artifactId>
489 <version>${onos-build-conf.version}</version>
490 </dependency>
491 </dependencies>
492 <configuration>
493 <effort>Max</effort>
494 <excludeFilterFile>onos/findbugs-suppressions.xml
495 </excludeFilterFile>
496 </configuration>
497 </plugin>
498
499 <!-- This version needs to be updated manually when changes are made to onos-maven-plugin -->
500 <plugin>
501 <groupId>org.onosproject</groupId>
502 <artifactId>onos-maven-plugin</artifactId>
503 <version>${onos-maven-plugin.version}</version>
504 <executions>
505 <execution>
506 <id>cfg</id>
507 <phase>generate-resources</phase>
508 <goals>
509 <goal>cfg</goal>
510 </goals>
511 </execution>
512 <execution>
513 <id>swagger</id>
514 <phase>generate-sources</phase>
515 <goals>
516 <goal>swagger</goal>
517 </goals>
518 </execution>
519 <execution>
520 <id>app</id>
521 <phase>package</phase>
522 <goals>
523 <goal>app</goal>
524 </goals>
525 </execution>
526 </executions>
527 </plugin>
528 </plugins>
529 </pluginManagement>
530
531 <plugins>
532 <plugin>
533 <groupId>org.apache.maven.plugins</groupId>
534 <artifactId>maven-jar-plugin</artifactId>
535 </plugin>
536
537 <plugin>
538 <groupId>org.apache.maven.plugins</groupId>
539 <artifactId>maven-checkstyle-plugin</artifactId>
540 <version>2.17</version>
541 <dependencies>
542 <dependency>
543 <groupId>org.onosproject</groupId>
544 <artifactId>onos-build-conf</artifactId>
545 <version>${onos-build-conf.version}</version>
546 </dependency>
547 </dependencies>
548 <configuration>
549 <!-- begin: workaround for unexpected NullPointerException on Eclipse -->
550 <sourceDirectory>${project.build.sourceDirectory}
551 </sourceDirectory>
552 <testSourceDirectory>${project.build.testSourceDirectory}
553 </testSourceDirectory>
554 <!-- end: workaround for unexpected NullPointerException on Eclipse -->
555 <configLocation>onos/checkstyle.xml</configLocation>
556 <suppressionsLocation>onos/suppressions.xml
557 </suppressionsLocation>
558 <failsOnError>false</failsOnError>
559 <logViolationsToConsole>true</logViolationsToConsole>
560 <includeTestSourceDirectory>true
561 </includeTestSourceDirectory>
562 </configuration>
563 <executions>
564 <execution>
565 <id>validate-checkstyle</id>
566 <phase>verify</phase>
567 <goals>
568 <goal>check</goal>
569 </goals>
570 </execution>
571 </executions>
572 </plugin>
573
574 <plugin>
575 <groupId>org.apache.maven.plugins</groupId>
576 <artifactId>maven-pmd-plugin</artifactId>
577 <version>3.6</version>
578 <configuration>
579 <excludes>
580 </excludes>
581 <rulesets>
582 <ruleset>onos/pmd.xml</ruleset>
583 </rulesets>
584 </configuration>
585 <executions>
586 <execution>
587 <id>validate-pmd</id>
588 <phase>verify</phase>
589 <goals>
590 <!-- Uncomment this goal to make the build fail on pmd errors -->
591 <!--<goal>check</goal>-->
592 </goals>
593 </execution>
594 </executions>
595 </plugin>
596
597 <plugin>
598 <groupId>org.jacoco</groupId>
599 <artifactId>jacoco-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700600 <version>0.7.7.201606060606</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700601 <executions>
602 <execution>
603 <id>default-prepare-agent</id>
604 <goals>
605 <goal>prepare-agent</goal>
606 </goals>
607 </execution>
608 <execution>
609 <id>default-report</id>
610 <phase>prepare-package</phase>
611 <goals>
612 <goal>report</goal>
613 </goals>
614 </execution>
615 </executions>
616 </plugin>
617 </plugins>
618 </build>
619
620 <reporting>
621 <plugins>
622 <plugin>
623 <groupId>org.apache.maven.plugins</groupId>
624 <artifactId>maven-checkstyle-plugin</artifactId>
625 <configuration>
626 <configLocation>onos/checkstyle.xml</configLocation>
627 </configuration>
628 </plugin>
629
630 <plugin>
631 <groupId>org.apache.maven.plugins</groupId>
632 <artifactId>maven-pmd-plugin</artifactId>
633 <configuration>
634 <excludes>
635 </excludes>
636 <rulesets>
637 <ruleset>onos/pmd.xml</ruleset>
638 </rulesets>
639 </configuration>
640 </plugin>
641 </plugins>
642 </reporting>
643</project>