blob: ffc9358d85bd28fb5172037f35cb8fa45bc5efaf [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>
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>
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>
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>
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>
Thomas Vachuska43977572016-06-02 13:48:55 -0700380 </dependency>
381 </dependencies>
382
383 <build>
384 <pluginManagement>
385 <plugins>
386 <plugin>
387 <groupId>org.apache.maven.plugins</groupId>
388 <artifactId>maven-compiler-plugin</artifactId>
389 <!-- TODO: update once following issue is fixed. -->
390 <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
391 <version>2.5.1</version>
392 <configuration>
393 <source>1.8</source>
394 <target>1.8</target>
395 </configuration>
396 </plugin>
397
398 <plugin>
399 <groupId>org.apache.maven.plugins</groupId>
400 <artifactId>maven-surefire-plugin</artifactId>
401 <version>2.19.1</version>
402 <configuration>
403 <redirectTestOutputToFile>true</redirectTestOutputToFile>
404 <printSummary>true</printSummary>
405 <excludedGroups>org.onlab.junit.IntegrationTest
406 </excludedGroups>
407 <rerunFailingTestsCount>1</rerunFailingTestsCount>
408 </configuration>
409 </plugin>
410 <plugin>
411 <groupId>org.apache.maven.plugins</groupId>
412 <artifactId>maven-javadoc-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700413 <version>2.10.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700414 <configuration>
415 <tags>
416 <tag>
417 <name>onos.rsModel</name>
418 <placement>m</placement>
419 <head>Json model for REST api:</head>
420 </tag>
421 </tags>
422 </configuration>
423 </plugin>
424 <plugin>
425 <groupId>org.apache.maven.plugins</groupId>
426 <artifactId>maven-jar-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700427 <version>3.0.2</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700428 <configuration>
429 <skipIfEmpty>true</skipIfEmpty>
430 </configuration>
431 <executions>
432 <execution>
433 <id>default</id>
434 <goals>
435 <goal>test-jar</goal>
436 </goals>
437 </execution>
438 </executions>
439 </plugin>
440
441 <plugin>
442 <groupId>org.apache.maven.plugins</groupId>
443 <artifactId>maven-resources-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700444 <version>3.0.1</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700445 </plugin>
446
447 <plugin>
448 <groupId>org.apache.felix</groupId>
449 <artifactId>maven-bundle-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700450 <version>3.2.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700451 <extensions>true</extensions>
452 <configuration>
453 <niceManifest>true</niceManifest>
454 </configuration>
455 </plugin>
456
457 <plugin>
458 <groupId>org.apache.maven.plugins</groupId>
459 <artifactId>maven-shade-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700460 <version>2.4.3</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700461 </plugin>
462
463 <plugin>
464 <groupId>org.apache.felix</groupId>
465 <artifactId>maven-scr-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700466 <version>1.22.0</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700467 <executions>
468 <execution>
469 <id>generate-scr-srcdescriptor</id>
470 <goals>
471 <goal>scr</goal>
472 </goals>
473 </execution>
474 </executions>
475 <configuration>
476 <supportedProjectTypes>
477 <supportedProjectType>bundle</supportedProjectType>
478 <supportedProjectType>war</supportedProjectType>
479 </supportedProjectTypes>
480 </configuration>
481 </plugin>
482 <plugin>
483 <groupId>org.codehaus.mojo</groupId>
484 <artifactId>findbugs-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700485 <version>3.0.4</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700486 <dependencies>
487 <dependency>
488 <groupId>org.onosproject</groupId>
489 <artifactId>onos-build-conf</artifactId>
490 <version>${onos-build-conf.version}</version>
491 </dependency>
492 </dependencies>
493 <configuration>
494 <effort>Max</effort>
495 <excludeFilterFile>onos/findbugs-suppressions.xml
496 </excludeFilterFile>
497 </configuration>
498 </plugin>
499
500 <!-- This version needs to be updated manually when changes are made to onos-maven-plugin -->
501 <plugin>
502 <groupId>org.onosproject</groupId>
503 <artifactId>onos-maven-plugin</artifactId>
504 <version>${onos-maven-plugin.version}</version>
505 <executions>
506 <execution>
507 <id>cfg</id>
508 <phase>generate-resources</phase>
509 <goals>
510 <goal>cfg</goal>
511 </goals>
512 </execution>
513 <execution>
514 <id>swagger</id>
515 <phase>generate-sources</phase>
516 <goals>
517 <goal>swagger</goal>
518 </goals>
519 </execution>
520 <execution>
521 <id>app</id>
522 <phase>package</phase>
523 <goals>
524 <goal>app</goal>
525 </goals>
526 </execution>
527 </executions>
528 </plugin>
529 </plugins>
530 </pluginManagement>
531
532 <plugins>
533 <plugin>
534 <groupId>org.apache.maven.plugins</groupId>
535 <artifactId>maven-jar-plugin</artifactId>
536 </plugin>
537
538 <plugin>
539 <groupId>org.apache.maven.plugins</groupId>
540 <artifactId>maven-checkstyle-plugin</artifactId>
541 <version>2.17</version>
542 <dependencies>
543 <dependency>
544 <groupId>org.onosproject</groupId>
545 <artifactId>onos-build-conf</artifactId>
546 <version>${onos-build-conf.version}</version>
547 </dependency>
548 </dependencies>
549 <configuration>
550 <!-- begin: workaround for unexpected NullPointerException on Eclipse -->
551 <sourceDirectory>${project.build.sourceDirectory}
552 </sourceDirectory>
553 <testSourceDirectory>${project.build.testSourceDirectory}
554 </testSourceDirectory>
555 <!-- end: workaround for unexpected NullPointerException on Eclipse -->
556 <configLocation>onos/checkstyle.xml</configLocation>
557 <suppressionsLocation>onos/suppressions.xml
558 </suppressionsLocation>
559 <failsOnError>false</failsOnError>
560 <logViolationsToConsole>true</logViolationsToConsole>
561 <includeTestSourceDirectory>true
562 </includeTestSourceDirectory>
563 </configuration>
564 <executions>
565 <execution>
566 <id>validate-checkstyle</id>
567 <phase>verify</phase>
568 <goals>
569 <goal>check</goal>
570 </goals>
571 </execution>
572 </executions>
573 </plugin>
574
575 <plugin>
576 <groupId>org.apache.maven.plugins</groupId>
577 <artifactId>maven-pmd-plugin</artifactId>
578 <version>3.6</version>
579 <configuration>
580 <excludes>
581 </excludes>
582 <rulesets>
583 <ruleset>onos/pmd.xml</ruleset>
584 </rulesets>
585 </configuration>
586 <executions>
587 <execution>
588 <id>validate-pmd</id>
589 <phase>verify</phase>
590 <goals>
591 <!-- Uncomment this goal to make the build fail on pmd errors -->
592 <!--<goal>check</goal>-->
593 </goals>
594 </execution>
595 </executions>
596 </plugin>
597
598 <plugin>
599 <groupId>org.jacoco</groupId>
600 <artifactId>jacoco-maven-plugin</artifactId>
Yuta HIGUCHI86fbe142016-07-20 15:22:00 -0700601 <version>0.7.7.201606060606</version>
Thomas Vachuska43977572016-06-02 13:48:55 -0700602 <executions>
603 <execution>
604 <id>default-prepare-agent</id>
605 <goals>
606 <goal>prepare-agent</goal>
607 </goals>
608 </execution>
609 <execution>
610 <id>default-report</id>
611 <phase>prepare-package</phase>
612 <goals>
613 <goal>report</goal>
614 </goals>
615 </execution>
616 </executions>
617 </plugin>
618 </plugins>
619 </build>
620
621 <reporting>
622 <plugins>
623 <plugin>
624 <groupId>org.apache.maven.plugins</groupId>
625 <artifactId>maven-checkstyle-plugin</artifactId>
626 <configuration>
627 <configLocation>onos/checkstyle.xml</configLocation>
628 </configuration>
629 </plugin>
630
631 <plugin>
632 <groupId>org.apache.maven.plugins</groupId>
633 <artifactId>maven-pmd-plugin</artifactId>
634 <configuration>
635 <excludes>
636 </excludes>
637 <rulesets>
638 <ruleset>onos/pmd.xml</ruleset>
639 </rulesets>
640 </configuration>
641 </plugin>
642 </plugins>
643 </reporting>
644</project>