Disable stack trace trimming
[odlparent.git] / odlparent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=2 tabstop=2: -->
3 <!--
4  Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11   <modelVersion>4.0.0</modelVersion>
12
13   <parent>
14     <groupId>org.opendaylight.odlparent</groupId>
15     <artifactId>odlparent-lite</artifactId>
16     <version>1.8.0-SNAPSHOT</version>
17     <relativePath>../odlparent-lite</relativePath>
18   </parent>
19
20   <artifactId>odlparent</artifactId>
21   <packaging>pom</packaging>
22   <name>ODL :: odlparent :: ${project.artifactId}</name>
23
24   <scm>
25     <connection>scm:git:ssh://git.opendaylight.org:29418/odlparent.git</connection>
26     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/odlparent.git</developerConnection>
27     <tag>HEAD</tag>
28     <url>https://wiki.opendaylight.org/view/ODL_Root_Parent:Main</url>
29   </scm>
30
31   <!-- Variables should only be used where genuinely useful (to avoid
32        repetition); in general versions should be specified in the
33        corresponding dependencyManagement or pluginManagement element, not as
34        a variable. Duplication within odlparent doesn't count if it can be
35        managed using maven-versions-plugin. -->
36   <properties>
37     <nexus.repository.release>opendaylight.release</nexus.repository.release>
38     <nexus.repository.snapshot>opendaylight.snapshot</nexus.repository.snapshot>
39
40     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
42
43     <!-- Java Versions -->
44     <!-- FIXME: confirm these two are picked by maven-compiler-plugin -->
45     <maven.compiler.source>1.8</maven.compiler.source>
46     <maven.compiler.target>1.8</maven.compiler.target>
47     <java.version.source>${maven.compiler.source}</java.version.source>
48     <java.version.target>${maven.compiler.target}</java.version.target>
49
50     <!-- Maven plugin versions, in the 'canonical' format -->
51     <!-- Used in controller -->
52     <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
53     <!-- Used in controller, didm, neutron, openflowplugin, persistence; see also affinity -->
54     <maven.bundle.version>3.0.1</maven.bundle.version>
55     <!-- Used in sxp -->
56     <maven.clean.plugin.version>2.6.1</maven.clean.plugin.version>
57     <!-- Used in controller, didm, l2switch, lacp, persistence; see also toolkit, tsdr, ttp -->
58     <maven.compile.plugin.version>3.5.1</maven.compile.plugin.version>
59     <!-- Used in mdsal, yangtools -->
60     <maven.jar.version>3.0.0</maven.jar.version>
61     <!-- Used in controller, coretutorials, mdsal, snbi, yangtools -->
62     <maven.javadoc.version>2.10.4</maven.javadoc.version>
63     <!-- Used in snmp -->
64     <maven.plugin.version>3.4</maven.plugin.version>
65     <!-- Used in neutron, of-config, tsdr, yangtools -->
66     <!-- Later versions break tests in downstream projects -->
67     <maven.surefire.version>2.18.1</maven.surefire.version>
68
69     <!-- Maven plugin versions, in random formats -->
70     <!-- Used in aaa, alto, controller, didm, tsdr; see also affinity, snmp4sdn, toolkit, ttp -->
71     <bundle.plugin.version>${maven.bundle.version}</bundle.plugin.version>
72     <!-- TODO rename checkstyle.version to checkstyle.(maven.)plugin.version,
73          or just remove it, incl. all usages of it in a number of pom.xml; because normally,
74          as maven-checkstyle-plugin is in pluginManagement, this should not have to be repeated. -->
75     <!-- Used in alto, controller, lacp, netide, openflowjava, packetcable, snmp4sdn, ttp; see also affinity, opendove,
76          toolkit -->
77     <checkstyle.version>2.17</checkstyle.version>
78     <!-- Used in controller, packetcable -->
79     <odl.checkstyle.version>0.3.0-SNAPSHOT</odl.checkstyle.version>
80     <!-- Used in snmp4sdn; see also toolkit -->
81     <compiler.version>${maven.compile.plugin.version}</compiler.version>
82     <!-- Used in controller, l2switch, netide, openflowjava, openflowplugin, snbi, tsdr, ttp; see also toolkit -->
83     <enforcer.version>1.4.1</enforcer.version>
84     <!-- Used in affinity, controller, nemo, opendove, snmp4sdn -->
85     <enunciate.version>1.31</enunciate.version>
86     <!-- Used in affinity, coretutorials, netide -->
87     <exam.version>4.4.0</exam.version>
88     <!-- Used in affinity, controller, neutron, of-config; see also snmp4sdn -->
89     <!-- Later versions break tests in downstream projects -->
90     <failsafe.version>2.18.1</failsafe.version>
91     <!--
92         Regression in jacoco-plugin 0.7.5 prevents us from upgrading to it
93         http://jira.xwiki.org/browse/XCOMMONS-821
94
95         Additionally we need to stay on jacoco 0.7.2.201409121644. Future
96         versions appear to have issues picking up code coverage for projects
97         that use PowerMock.
98         https://github.com/jayway/powermock/issues/564
99     -->
100     <!-- Used in controller, netvirt, neutron, of-config, ovsdb, persistence, snmp4sdn, vtn; see also usc -->
101     <jacoco.version>0.7.2.201409121644</jacoco.version>
102     <!-- Used in aaa, controller, coretutorials, integration/distribution, l2switch, lacp, lispflowmapping, netide,
103          nic, openflowplugin, ovsdb, persistence, sfc, snbi, snmp4sdn?, sxp, topoprocessing, unimgr, vtn -->
104     <karaf.version>3.0.8</karaf.version>
105     <!-- Used in lispflowmapping, snmp4sdn, vtn -->
106     <projectinfo>2.8.1</projectinfo>
107     <!-- Used in of-config; see also snmp4sdn -->
108     <propertymavenplugin.version>1.0.0</propertymavenplugin.version>
109     <!-- Used in topoprocessing; see also defense4all, snmp4sdn, toolkit -->
110     <releaseplugin.version>2.5.3</releaseplugin.version>
111
112     <!-- Supporting Libraries -->
113     <!-- Used by controller -->
114     <bouncycastle.version>1.55</bouncycastle.version>
115
116     <!-- Used by controller, snbi; see also centinel, dlux, toolkit -->
117     <osgi.core.version>5.0.0</osgi.core.version>
118
119     <akka.version>2.4.7</akka.version>
120     <scala.version>2.11</scala.version>
121     <scala.micro.version>8</scala.micro.version>
122     <leveldb.version>0.7</leveldb.version>
123
124     <!-- Default Sonar configuration -->
125     <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
126     <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
127     <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
128     <sonar.jacoco.itReportPath>${project.build.directory}/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
129     <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
130     <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
131
132     <pmd.cpd.fail>false</pmd.cpd.fail>
133   </properties>
134
135   <dependencyManagement>
136     <dependencies>
137
138       <dependency>
139         <groupId>org.opendaylight.odlparent</groupId>
140         <artifactId>odlparent-artifacts</artifactId>
141         <version>1.8.0-SNAPSHOT</version>
142         <scope>import</scope>
143         <type>pom</type>
144       </dependency>
145
146       <!-- Build tool dependencies (normally not here in <dependencies>,
147            but in a <dependency> in <pluginManagement> but for Checkstyle this
148            is required so that we can share the same version of Checkstyle
149            for both the Maven plugin below as well as  for custom Checkstyle
150            check rule projects, such as yangtools' checkstyle-logging) -->
151       <dependency>
152         <groupId>com.puppycrawl.tools</groupId>
153         <artifactId>checkstyle</artifactId>
154         <!-- This should match the plugin management on maven-checkstyle-plugin below -->
155         <version>6.16</version>
156       </dependency>
157
158       <!-- Testing Dependencies -->
159       <!-- JUnit, Hamcrest, Mockito and PowerMock need to be kept in sync -->
160       <!-- Need to stick to JUnit 4.11 until
161            https://github.com/jayway/powermock/issues/560 is fixed (either in
162            PowerMock or with a new JUnit release) -->
163       <dependency>
164         <groupId>junit</groupId>
165         <artifactId>junit</artifactId>
166         <version>4.11</version>
167         <scope>test</scope>
168       </dependency>
169       <dependency>
170         <groupId>junit</groupId>
171         <artifactId>junit-dep</artifactId>
172         <version>4.11</version>
173         <scope>test</scope>
174       </dependency>
175       <dependency>
176          <groupId>org.skyscreamer</groupId>
177          <artifactId>jsonassert</artifactId>
178          <version>1.3.0</version>
179          <scope>test</scope>
180       </dependency>
181       <dependency>
182         <groupId>org.mockito</groupId>
183         <artifactId>mockito-all</artifactId>
184         <version>1.10.19</version>
185         <scope>test</scope>
186       </dependency>
187       <dependency>
188         <groupId>org.mockito</groupId>
189         <artifactId>mockito-core</artifactId>
190         <version>1.10.19</version>
191         <scope>test</scope>
192       </dependency>
193       <dependency>
194         <groupId>org.hamcrest</groupId>
195         <artifactId>hamcrest-core</artifactId>
196         <version>1.3</version>
197         <scope>test</scope>
198       </dependency>
199       <dependency>
200         <groupId>org.hamcrest</groupId>
201         <artifactId>hamcrest-library</artifactId>
202         <version>1.3</version>
203         <scope>test</scope>
204       </dependency>
205       <dependency>
206         <groupId>com.google.truth</groupId>
207         <artifactId>truth</artifactId>
208         <version>0.28</version>
209         <scope>test</scope>
210       </dependency>
211       <dependency>
212         <groupId>org.powermock</groupId>
213         <artifactId>powermock-api-mockito</artifactId>
214         <version>1.6.4</version>
215         <scope>test</scope>
216       </dependency>
217       <dependency>
218         <groupId>org.powermock</groupId>
219         <artifactId>powermock-api-support</artifactId>
220         <version>1.6.4</version>
221         <scope>test</scope>
222       </dependency>
223       <dependency>
224         <groupId>org.powermock</groupId>
225         <artifactId>powermock-core</artifactId>
226         <version>1.6.4</version>
227         <scope>test</scope>
228       </dependency>
229       <dependency>
230         <groupId>org.powermock</groupId>
231         <artifactId>powermock-module-junit4</artifactId>
232         <version>1.6.4</version>
233         <scope>test</scope>
234       </dependency>
235       <dependency>
236         <groupId>org.powermock</groupId>
237         <artifactId>powermock-reflect</artifactId>
238         <version>1.6.4</version>
239         <scope>test</scope>
240       </dependency>
241       <!-- Supporting Libraries -->
242       <dependency>
243         <groupId>org.slf4j</groupId>
244         <artifactId>jcl-over-slf4j</artifactId>
245         <version>1.7.21</version>
246       </dependency>
247       <dependency>
248         <groupId>org.slf4j</groupId>
249         <artifactId>slf4j-api</artifactId>
250         <version>1.7.21</version>
251       </dependency>
252       <dependency>
253         <groupId>org.slf4j</groupId>
254         <artifactId>slf4j-log4j12</artifactId>
255         <version>1.7.21</version>
256       </dependency>
257       <dependency>
258         <groupId>org.slf4j</groupId>
259         <artifactId>log4j-over-slf4j</artifactId>
260         <version>1.7.21</version>
261       </dependency>
262       <dependency>
263         <groupId>org.slf4j</groupId>
264         <artifactId>slf4j-simple</artifactId>
265         <version>1.7.21</version>
266         <scope>test</scope>
267       </dependency>
268       <dependency>
269         <groupId>xml-apis</groupId>
270         <artifactId>xml-apis</artifactId>
271         <version>1.4.01</version>
272       </dependency>
273       <dependency>
274         <groupId>xerces</groupId>
275         <artifactId>xercesImpl</artifactId>
276         <version>2.11.0</version>
277       </dependency>
278       <dependency>
279         <groupId>ch.qos.logback</groupId>
280         <artifactId>logback-core</artifactId>
281         <version>1.1.7</version>
282       </dependency>
283       <dependency>
284         <groupId>ch.qos.logback</groupId>
285         <artifactId>logback-classic</artifactId>
286         <version>1.1.7</version>
287       </dependency>
288       <dependency>
289         <groupId>com.google.guava</groupId>
290         <artifactId>guava</artifactId>
291         <version>18.0</version>
292       </dependency>
293       <dependency>
294         <groupId>com.google.guava</groupId>
295         <artifactId>guava-testlib</artifactId>
296         <version>18.0</version>
297         <scope>test</scope>
298       </dependency>
299       <dependency>
300         <groupId>com.mycila.guice.extensions</groupId>
301         <!-- This transitively pulls com.google.inject:guice along -->
302         <artifactId>mycila-guice-jsr250</artifactId>
303         <version>4.0.rc1</version>
304         <scope>test</scope>
305       </dependency>
306       <dependency>
307         <groupId>org.apache.commons</groupId>
308         <artifactId>commons-lang3</artifactId>
309         <version>3.5</version>
310       </dependency>
311       <dependency>
312         <groupId>commons-lang</groupId>
313         <artifactId>commons-lang</artifactId>
314         <version>2.6</version>
315       </dependency>
316       <dependency>
317         <groupId>commons-codec</groupId>
318         <artifactId>commons-codec</artifactId>
319         <version>1.10</version>
320       </dependency>
321       <!-- Jersey for JAXRS -->
322       <dependency>
323         <groupId>javax.ws.rs</groupId>
324         <artifactId>javax.ws.rs-api</artifactId>
325         <version>2.0.1</version>
326       </dependency>
327       <dependency>
328         <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
329         <artifactId>jersey-guava</artifactId>
330         <version>2.22.2</version>
331       </dependency>
332       <dependency>
333         <groupId>org.glassfish</groupId>
334         <artifactId>javax.json</artifactId>
335         <version>1.0.4</version>
336       </dependency>
337       <dependency>
338         <groupId>com.eclipsesource.jaxrs</groupId>
339         <artifactId>jersey-all</artifactId>
340         <version>2.22.2</version>
341       </dependency>
342
343       <!-- servlet 3.x support -->
344       <dependency>
345         <groupId>org.glassfish.jersey.containers</groupId>
346         <artifactId>jersey-container-servlet</artifactId>
347         <version>2.8</version>
348       </dependency>
349       <dependency>
350         <groupId>org.apache.geronimo.bundles</groupId>
351         <artifactId>json</artifactId>
352         <version>20090211_1</version>
353       </dependency>
354       <!-- FIXME : remove all dependencies for jersey 1.17 -->
355       <dependency>
356         <groupId>com.sun.jersey</groupId>
357         <artifactId>jersey-core</artifactId>
358         <version>1.17</version>
359       </dependency>
360       <dependency>
361         <groupId>com.sun.jersey</groupId>
362         <artifactId>jersey-json</artifactId>
363         <version>1.17</version>
364       </dependency>
365       <dependency>
366         <groupId>com.sun.jersey</groupId>
367         <artifactId>jersey-server</artifactId>
368         <version>1.17</version>
369       </dependency>
370       <dependency>
371         <groupId>com.sun.jersey</groupId>
372         <artifactId>jersey-servlet</artifactId>
373         <version>1.17</version>
374       </dependency>
375       <dependency>
376         <groupId>com.sun.jersey.jersey-test-framework</groupId>
377         <artifactId>jersey-test-framework-grizzly2</artifactId>
378         <version>1.17</version>
379         <scope>test</scope>
380       </dependency>
381       <dependency>
382         <groupId>com.sun.jersey.jersey-test-framework</groupId>
383         <artifactId>jersey-test-framework-inmemory</artifactId>
384         <version>1.17</version>
385         <scope>test</scope>
386       </dependency>
387       <dependency>
388         <groupId>com.sun.jersey</groupId>
389         <artifactId>jersey-client</artifactId>
390         <version>1.17</version>
391       </dependency>
392       <dependency>
393         <groupId>org.opendaylight.controller.thirdparty</groupId>
394         <artifactId>com.sun.jersey.jersey-servlet</artifactId>
395         <version>1.17</version>
396       </dependency>
397       <dependency>
398         <groupId>org.apache.shiro</groupId>
399         <artifactId>shiro-core</artifactId>
400         <version>1.3.1</version>
401       </dependency>
402       <dependency>
403         <groupId>org.apache.shiro</groupId>
404         <artifactId>shiro-web</artifactId>
405         <version>1.3.1</version>
406       </dependency>
407
408       <!-- Plugin integration -->
409       <dependency>
410         <groupId>net.java.dev.stax-utils</groupId>
411         <artifactId>stax-utils</artifactId>
412         <version>20070216</version>
413       </dependency>
414       <dependency>
415         <groupId>org.sonatype.plexus</groupId>
416         <artifactId>plexus-build-api</artifactId>
417         <version>0.0.7</version>
418       </dependency>
419       <dependency>
420         <groupId>org.codehaus.plexus</groupId>
421         <artifactId>plexus-slf4j-logging</artifactId>
422         <version>1.1</version>
423       </dependency>
424       <dependency>
425         <groupId>com.fasterxml.jackson.core</groupId>
426         <artifactId>jackson-annotations</artifactId>
427         <version>2.3.2</version>
428       </dependency>
429       <dependency>
430         <groupId>com.fasterxml.jackson.core</groupId>
431         <artifactId>jackson-core</artifactId>
432         <version>2.3.2</version>
433       </dependency>
434       <dependency>
435         <groupId>com.fasterxml.jackson.core</groupId>
436         <artifactId>jackson-databind</artifactId>
437         <version>2.3.2</version>
438       </dependency>
439       <dependency>
440         <groupId>com.fasterxml.jackson.datatype</groupId>
441         <artifactId>jackson-datatype-json-org</artifactId>
442         <version>2.3.2</version>
443       </dependency>
444       <!-- TODO do we really need resteasy ? -->
445       <dependency>
446           <groupId>org.jboss.resteasy</groupId>
447           <artifactId>jaxrs-api</artifactId>
448           <version>3.0.12.Final</version>
449       </dependency>
450
451       <dependency>
452         <groupId>com.fasterxml.jackson.jaxrs</groupId>
453         <artifactId>jackson-jaxrs-base</artifactId>
454         <version>2.3.2</version>
455       </dependency>
456       <dependency>
457         <groupId>com.fasterxml.jackson.jaxrs</groupId>
458         <artifactId>jackson-jaxrs-json-provider</artifactId>
459         <version>2.3.2</version>
460       </dependency>
461       <dependency>
462         <groupId>com.fasterxml.jackson.module</groupId>
463         <artifactId>jackson-module-jaxb-annotations</artifactId>
464         <version>2.3.2</version>
465       </dependency>
466       <dependency>
467         <groupId>com.sun.xml.txw2</groupId>
468         <artifactId>txw2</artifactId>
469         <version>20110809</version>
470       </dependency>
471       <dependency>
472         <groupId>com.github.romix</groupId>
473         <artifactId>java-concurrent-hash-trie-map</artifactId>
474         <version>0.2.23</version>
475       </dependency>
476       <dependency>
477         <groupId>com.google.code.findbugs</groupId>
478         <artifactId>jsr305</artifactId>
479         <version>3.0.0</version>
480       </dependency>
481       <dependency>
482         <groupId>com.google.code.findbugs</groupId>
483         <artifactId>annotations</artifactId>
484         <version>3.0.0</version>
485         <exclusions>
486           <!-- We'd like (have) to eventually exclude :jsr305 here as well, because
487                the types of this artifact are already shaded inside the :annotations artifact.
488                This state is a temporary solution to allow all projects to gradually switch over
489                switch their <dependency><groupId>com.google.code.findbugs from
490                <artifactId>jsr305 to <artifactId>annotations in all pom.xml.
491                The target solution is https://git.opendaylight.org/gerrit/#/c/47337/
492             -->
493           <exclusion>
494             <groupId>net.jcip</groupId>
495             <!-- The types of this artifact are already shaded inside the :annotations artifact -->
496             <artifactId>jcip-annotations</artifactId>
497           </exclusion>
498         </exclusions>
499       </dependency>
500       <dependency>
501         <groupId>com.google.code.gson</groupId>
502         <artifactId>gson</artifactId>
503         <version>2.7</version>
504       </dependency>
505       <dependency>
506         <groupId>commons-fileupload</groupId>
507         <artifactId>commons-fileupload</artifactId>
508         <version>1.3.1</version>
509       </dependency>
510       <dependency>
511         <groupId>commons-io</groupId>
512         <artifactId>commons-io</artifactId>
513         <version>2.4</version>
514       </dependency>
515       <dependency>
516         <groupId>commons-net</groupId>
517         <artifactId>commons-net</artifactId>
518         <version>3.5</version>
519       </dependency>
520       <dependency>
521         <groupId>eclipselink</groupId>
522         <artifactId>javax.persistence</artifactId>
523         <version>2.0.4.v201112161009</version>
524       </dependency>
525       <dependency>
526         <groupId>eclipselink</groupId>
527         <artifactId>javax.resource</artifactId>
528         <version>1.5.0.v200906010428</version>
529       </dependency>
530       <dependency>
531         <groupId>equinoxSDK381</groupId>
532         <artifactId>javax.servlet</artifactId>
533         <version>3.0.0.v201112011016</version>
534       </dependency>
535       <dependency>
536         <groupId>equinoxSDK381</groupId>
537         <artifactId>javax.servlet.jsp</artifactId>
538         <version>2.2.0.v201112011158</version>
539       </dependency>
540       <dependency>
541         <groupId>equinoxSDK381</groupId>
542         <artifactId>org.apache.felix.gogo.command</artifactId>
543         <version>0.8.0.v201108120515</version>
544       </dependency>
545       <dependency>
546         <groupId>equinoxSDK381</groupId>
547         <artifactId>org.apache.felix.gogo.runtime</artifactId>
548         <version>0.8.0.v201108120515</version>
549       </dependency>
550       <dependency>
551         <groupId>equinoxSDK381</groupId>
552         <artifactId>org.apache.felix.gogo.shell</artifactId>
553         <version>0.8.0.v201110170705</version>
554       </dependency>
555       <dependency>
556         <groupId>equinoxSDK381</groupId>
557         <artifactId>org.eclipse.equinox.cm</artifactId>
558         <version>1.0.400.v20120522-1841</version>
559       </dependency>
560       <dependency>
561         <groupId>equinoxSDK381</groupId>
562         <artifactId>org.eclipse.equinox.console</artifactId>
563         <version>1.0.0.v20120522-1841</version>
564       </dependency>
565       <dependency>
566         <groupId>equinoxSDK381</groupId>
567         <artifactId>org.eclipse.equinox.ds</artifactId>
568         <version>1.4.0.v20120522-1841</version>
569       </dependency>
570       <dependency>
571         <groupId>equinoxSDK381</groupId>
572         <artifactId>org.eclipse.equinox.launcher</artifactId>
573         <version>1.3.0.v20120522-1813</version>
574       </dependency>
575       <dependency>
576         <groupId>equinoxSDK381</groupId>
577         <artifactId>org.eclipse.equinox.util</artifactId>
578         <version>1.0.400.v20120522-2049</version>
579       </dependency>
580       <dependency>
581         <groupId>equinoxSDK381</groupId>
582         <artifactId>org.eclipse.osgi.services</artifactId>
583         <version>3.3.100.v20120522-1822</version>
584       </dependency>
585
586       <dependency>
587         <groupId>org.eclipse.tycho</groupId>
588         <artifactId>org.eclipse.osgi</artifactId>
589         <version>3.9.1.v20130814-1242</version>
590       </dependency>
591       <!-- FIXME: remove once all users migrate to org.eclipse.tycho -->
592       <dependency>
593         <groupId>equinoxSDK381</groupId>
594         <artifactId>org.eclipse.osgi</artifactId>
595         <version>3.8.1.v20120830-144521</version>
596       </dependency>
597
598       <!-- Gemini Web -->
599       <dependency>
600         <groupId>geminiweb</groupId>
601         <artifactId>org.eclipse.gemini.web.core</artifactId>
602         <version>2.2.0.RELEASE</version>
603       </dependency>
604       <dependency>
605         <groupId>geminiweb</groupId>
606         <artifactId>org.eclipse.gemini.web.extender</artifactId>
607         <version>2.2.0.RELEASE</version>
608       </dependency>
609       <dependency>
610         <groupId>geminiweb</groupId>
611         <artifactId>org.eclipse.gemini.web.tomcat</artifactId>
612         <version>2.2.0.RELEASE</version>
613       </dependency>
614       <dependency>
615         <groupId>geminiweb</groupId>
616         <artifactId>org.eclipse.virgo.kernel.equinox.extensions</artifactId>
617         <version>3.6.0.RELEASE</version>
618       </dependency>
619       <dependency>
620         <groupId>geminiweb</groupId>
621         <artifactId>org.eclipse.virgo.util.common</artifactId>
622         <version>3.6.0.RELEASE</version>
623       </dependency>
624       <dependency>
625         <groupId>geminiweb</groupId>
626         <artifactId>org.eclipse.virgo.util.io</artifactId>
627         <version>3.6.0.RELEASE</version>
628       </dependency>
629       <dependency>
630         <groupId>geminiweb</groupId>
631         <artifactId>org.eclipse.virgo.util.math</artifactId>
632         <version>3.6.0.RELEASE</version>
633       </dependency>
634       <dependency>
635         <groupId>geminiweb</groupId>
636         <artifactId>org.eclipse.virgo.util.osgi</artifactId>
637         <version>3.6.0.RELEASE</version>
638       </dependency>
639       <dependency>
640         <groupId>geminiweb</groupId>
641         <artifactId>org.eclipse.virgo.util.osgi.manifest</artifactId>
642         <version>3.6.0.RELEASE</version>
643       </dependency>
644       <dependency>
645         <groupId>geminiweb</groupId>
646         <artifactId>org.eclipse.virgo.util.parser.manifest</artifactId>
647         <version>3.6.0.RELEASE</version>
648       </dependency>
649       <!-- Netty -->
650       <dependency>
651         <groupId>io.netty</groupId>
652         <artifactId>netty-all</artifactId>
653         <!-- If these are updated, the version in features.xml needs to be changed too -->
654         <version>4.0.37.Final</version>
655       </dependency>
656       <dependency>
657         <groupId>io.netty</groupId>
658         <artifactId>netty-buffer</artifactId>
659         <version>4.0.37.Final</version>
660       </dependency>
661       <dependency>
662         <groupId>io.netty</groupId>
663         <artifactId>netty-codec</artifactId>
664         <version>4.0.37.Final</version>
665       </dependency>
666       <dependency>
667         <groupId>io.netty</groupId>
668         <artifactId>netty-codec-http</artifactId>
669         <version>4.0.37.Final</version>
670       </dependency>
671       <dependency>
672         <groupId>io.netty</groupId>
673         <artifactId>netty-common</artifactId>
674         <version>4.0.37.Final</version>
675       </dependency>
676       <dependency>
677         <groupId>io.netty</groupId>
678         <artifactId>netty-handler</artifactId>
679         <version>4.0.37.Final</version>
680       </dependency>
681       <dependency>
682         <groupId>io.netty</groupId>
683         <artifactId>netty-transport</artifactId>
684         <version>4.0.37.Final</version>
685       </dependency>
686       <!-- Here we need to define all available native epoll implementations; we can't limit ourselves to the build
687       platform and we can't require the build platform to have an implementation (e.g. OS X) -->
688       <dependency>
689         <groupId>io.netty</groupId>
690         <artifactId>netty-transport-native-epoll</artifactId>
691         <classifier>linux-x86_64</classifier>
692         <version>4.0.37.Final</version>
693       </dependency>
694       <dependency>
695         <groupId>javax.ws.rs</groupId>
696         <artifactId>jsr311-api</artifactId>
697         <version>1.1.1</version>
698       </dependency>
699       <dependency>
700         <groupId>orbit</groupId>
701         <artifactId>javax.activation</artifactId>
702         <version>1.1.0.v201211130549</version>
703       </dependency>
704       <dependency>
705         <groupId>orbit</groupId>
706         <artifactId>javax.annotation</artifactId>
707         <version>1.1.0.v201209060031</version>
708       </dependency>
709       <dependency>
710         <groupId>orbit</groupId>
711         <artifactId>javax.ejb</artifactId>
712         <version>3.1.1.v201204261316</version>
713       </dependency>
714       <dependency>
715         <groupId>orbit</groupId>
716         <artifactId>javax.el</artifactId>
717         <version>2.2.0.v201108011116</version>
718       </dependency>
719       <dependency>
720         <groupId>orbit</groupId>
721         <artifactId>javax.mail.glassfish</artifactId>
722         <version>1.4.1.v201108011116</version>
723       </dependency>
724       <dependency>
725         <groupId>javax.servlet</groupId>
726         <artifactId>javax.servlet-api</artifactId>
727         <version>3.0.1</version>
728       </dependency>
729       <dependency>
730         <groupId>orbit</groupId>
731         <artifactId>javax.servlet.jsp.jstl</artifactId>
732         <version>1.2.0.v201105211821</version>
733       </dependency>
734       <dependency>
735         <groupId>orbit</groupId>
736         <artifactId>javax.servlet.jsp.jstl.impl</artifactId>
737         <version>1.2.0.v201210211230</version>
738       </dependency>
739       <dependency>
740         <groupId>orbit</groupId>
741         <artifactId>javax.xml.rpc</artifactId>
742         <version>1.1.0.v201005080400</version>
743       </dependency>
744       <dependency>
745         <groupId>orbit</groupId>
746         <artifactId>org.apache.catalina</artifactId>
747         <version>7.0.53.v201406061610</version>
748       </dependency>
749       <dependency>
750         <groupId>orbit</groupId>
751         <artifactId>org.apache.catalina.ha</artifactId>
752         <version>7.0.53.v201406070630</version>
753       </dependency>
754       <dependency>
755         <groupId>orbit</groupId>
756         <artifactId>org.apache.catalina.tribes</artifactId>
757         <version>7.0.53.v201406070630</version>
758       </dependency>
759       <dependency>
760         <groupId>orbit</groupId>
761         <artifactId>org.apache.coyote</artifactId>
762         <version>7.0.53.v201406070630</version>
763       </dependency>
764       <dependency>
765         <groupId>orbit</groupId>
766         <artifactId>org.apache.el</artifactId>
767         <version>7.0.53.v201406060720</version>
768       </dependency>
769       <dependency>
770         <groupId>orbit</groupId>
771         <artifactId>org.apache.jasper</artifactId>
772         <version>7.0.53.v201406070630</version>
773       </dependency>
774       <dependency>
775         <groupId>orbit</groupId>
776         <artifactId>org.apache.juli.extras</artifactId>
777         <version>7.0.53.v201406060720</version>
778       </dependency>
779       <dependency>
780         <groupId>orbit</groupId>
781         <artifactId>org.apache.tomcat.api</artifactId>
782         <version>7.0.53.v201406060720</version>
783       </dependency>
784       <dependency>
785         <groupId>orbit</groupId>
786         <artifactId>org.apache.tomcat.util</artifactId>
787         <version>7.0.53.v201406070630</version>
788       </dependency>
789       <dependency>
790         <groupId>org.aopalliance</groupId>
791         <artifactId>com.springsource.org.aopalliance</artifactId>
792         <version>1.0.0</version>
793       </dependency>
794       <dependency>
795         <groupId>org.apache.felix</groupId>
796         <artifactId>org.apache.felix.dependencymanager</artifactId>
797         <version>4.3.0</version>
798       </dependency>
799       <dependency>
800         <groupId>org.apache.felix</groupId>
801         <artifactId>org.apache.felix.dependencymanager.shell</artifactId>
802         <version>4.0.4</version>
803       </dependency>
804       <dependency>
805         <groupId>org.apache.felix</groupId>
806         <artifactId>org.apache.felix.fileinstall</artifactId>
807         <version>3.5.4</version>
808       </dependency>
809       <dependency>
810         <groupId>org.apache.felix</groupId>
811         <artifactId>org.apache.felix.metatype</artifactId>
812         <version>1.1.2</version>
813       </dependency>
814       <!-- felix webconsole -->
815       <dependency>
816         <groupId>org.apache.felix</groupId>
817         <artifactId>org.apache.felix.webconsole</artifactId>
818         <version>4.2.14</version>
819         <!-- the all bundle includes all the necessary plugins -->
820         <classifier>all</classifier>
821       </dependency>
822       <dependency>
823         <groupId>org.bouncycastle</groupId>
824         <artifactId>bcpkix-jdk15on</artifactId>
825         <version>${bouncycastle.version}</version>
826       </dependency>
827       <dependency>
828         <groupId>org.bouncycastle</groupId>
829         <artifactId>bcprov-jdk15on</artifactId>
830         <version>${bouncycastle.version}</version>
831       </dependency>
832       <dependency>
833         <groupId>org.codehaus.enunciate</groupId>
834         <artifactId>enunciate-core-annotations</artifactId>
835         <version>${enunciate.version}</version>
836       </dependency>
837       <dependency>
838         <groupId>com.webcohesion.enunciate</groupId>
839         <artifactId>enunciate-core-annotations</artifactId>
840         <version>2.6.0</version>
841       </dependency>
842       <dependency>
843         <groupId>org.codehaus.jettison</groupId>
844         <artifactId>jettison</artifactId>
845         <version>1.3.7</version>
846       </dependency>
847       <!-- equinox http service bridge -->
848       <dependency>
849         <groupId>org.eclipse.equinox.http</groupId>
850         <artifactId>servlet</artifactId>
851         <version>1.0.0-v20070606</version>
852       </dependency>
853       <!-- To upgrade org.eclipse.persistence dependencies to 2.6.0+, we need to ensure all downstreams consumers
854          pull in javax.validation first:
855          http://stackoverflow.com/questions/28568154/how-to-get-eclipselink-2-6-0-m3-working-with-jersey-1-18-3 -->
856       <dependency>
857         <groupId>org.eclipse.persistence</groupId>
858         <artifactId>org.eclipse.persistence.antlr</artifactId>
859         <version>2.6.2</version>
860       </dependency>
861       <dependency>
862         <groupId>org.eclipse.persistence</groupId>
863         <artifactId>org.eclipse.persistence.core</artifactId>
864         <version>2.6.2</version>
865       </dependency>
866       <dependency>
867         <groupId>org.eclipse.persistence</groupId>
868         <artifactId>org.eclipse.persistence.moxy</artifactId>
869         <version>2.6.2</version>
870       </dependency>
871       <dependency>
872         <groupId>javax.validation</groupId>
873         <artifactId>validation-api</artifactId>
874         <version>1.1.0.Final</version>
875       </dependency>
876       <dependency>
877         <groupId>org.javassist</groupId>
878         <artifactId>javassist</artifactId>
879         <version>3.20.0-GA</version>
880       </dependency>
881       <dependency>
882         <groupId>org.jboss.spec.javax.transaction</groupId>
883         <artifactId>jboss-transaction-api_1.1_spec</artifactId>
884         <version>1.0.1.Final</version>
885       </dependency>
886       <dependency>
887         <groupId>org.jolokia</groupId>
888         <artifactId>jolokia-osgi</artifactId>
889         <version>1.3.3</version>
890       </dependency>
891       <dependency>
892         <groupId>org.json</groupId>
893         <artifactId>json</artifactId>
894         <version>20131018</version>
895       </dependency>
896       <dependency>
897         <groupId>org.osgi</groupId>
898         <artifactId>org.osgi.compendium</artifactId>
899         <version>5.0.0</version>
900         <scope>provided</scope>
901       </dependency>
902       <dependency>
903         <groupId>org.osgi</groupId>
904         <artifactId>org.osgi.core</artifactId>
905         <version>${osgi.core.version}</version>
906         <scope>provided</scope>
907       </dependency>
908       <dependency>
909         <groupId>org.ow2.asm</groupId>
910         <artifactId>asm-all</artifactId>
911         <version>5.1</version>
912       </dependency>
913       <!-- Visual VM hook -->
914       <dependency>
915         <groupId>org.ow2.chameleon.management</groupId>
916         <artifactId>chameleon-mbeans</artifactId>
917         <version>1.0.0</version>
918       </dependency>
919       <dependency>
920         <groupId>org.springframework</groupId>
921         <artifactId>spring-aop</artifactId>
922         <version>3.2.14.RELEASE</version>
923       </dependency>
924       <dependency>
925         <groupId>org.springframework</groupId>
926         <artifactId>spring-beans</artifactId>
927         <version>3.2.14.RELEASE</version>
928       </dependency>
929       <dependency>
930         <groupId>org.springframework</groupId>
931         <artifactId>spring-context</artifactId>
932         <version>3.2.14.RELEASE</version>
933       </dependency>
934       <dependency>
935         <groupId>org.springframework</groupId>
936         <artifactId>spring-core</artifactId>
937         <version>3.2.14.RELEASE</version>
938       </dependency>
939       <dependency>
940         <groupId>org.springframework</groupId>
941         <artifactId>spring-expression</artifactId>
942         <version>3.2.14.RELEASE</version>
943       </dependency>
944       <dependency>
945         <groupId>org.springframework</groupId>
946         <artifactId>spring-tx</artifactId>
947         <version>3.2.14.RELEASE</version>
948       </dependency>
949       <dependency>
950         <groupId>org.springframework</groupId>
951         <artifactId>spring-web</artifactId>
952         <version>3.2.14.RELEASE</version>
953       </dependency>
954       <dependency>
955         <groupId>org.springframework</groupId>
956         <artifactId>spring-webmvc</artifactId>
957         <version>3.2.14.RELEASE</version>
958       </dependency>
959       <!-- Spring security -->
960       <dependency>
961         <groupId>org.springframework.security</groupId>
962         <artifactId>spring-security-config</artifactId>
963         <version>3.2.8.RELEASE</version>
964       </dependency>
965       <dependency>
966         <groupId>org.springframework.security</groupId>
967         <artifactId>spring-security-core</artifactId>
968         <version>3.2.8.RELEASE</version>
969       </dependency>
970       <dependency>
971         <groupId>org.springframework.security</groupId>
972         <artifactId>spring-security-taglibs</artifactId>
973         <version>3.2.8.RELEASE</version>
974       </dependency>
975       <dependency>
976         <groupId>org.springframework.security</groupId>
977         <artifactId>spring-security-web</artifactId>
978         <version>3.2.8.RELEASE</version>
979       </dependency>
980       <dependency>
981         <groupId>virgomirror</groupId>
982         <artifactId>org.eclipse.jdt.core.compiler.batch</artifactId>
983         <version>3.8.0.I20120518-2145</version>
984       </dependency>
985
986       <!-- Configuration library -->
987       <!-- This needs to be kept in sync with the version used by akka -->
988       <dependency>
989         <groupId>com.typesafe</groupId>
990         <artifactId>config</artifactId>
991         <version>1.3.0</version>
992       </dependency>
993
994       <!-- Akka -->
995       <dependency>
996         <groupId>com.typesafe.akka</groupId>
997         <artifactId>akka-actor_${scala.version}</artifactId>
998         <version>${akka.version}</version>
999       </dependency>
1000       <dependency>
1001         <groupId>com.typesafe.akka</groupId>
1002         <artifactId>akka-cluster_${scala.version}</artifactId>
1003         <version>${akka.version}</version>
1004       </dependency>
1005       <dependency>
1006         <groupId>com.typesafe.akka</groupId>
1007         <artifactId>akka-persistence_${scala.version}</artifactId>
1008         <version>${akka.version}</version>
1009       </dependency>
1010       <dependency>
1011         <groupId>com.typesafe.akka</groupId>
1012         <artifactId>akka-protobuf_${scala.version}</artifactId>
1013         <version>${akka.version}</version>
1014       </dependency>
1015       <dependency>
1016         <groupId>com.typesafe.akka</groupId>
1017         <artifactId>akka-remote_${scala.version}</artifactId>
1018         <version>${akka.version}</version>
1019       </dependency>
1020       <dependency>
1021         <groupId>com.typesafe.akka</groupId>
1022         <artifactId>akka-testkit_${scala.version}</artifactId>
1023         <version>${akka.version}</version>
1024         <scope>test</scope>
1025       </dependency>
1026       <dependency>
1027         <groupId>com.typesafe.akka</groupId>
1028         <artifactId>akka-osgi_${scala.version}</artifactId>
1029         <version>${akka.version}</version>
1030       </dependency>
1031       <dependency>
1032         <groupId>com.typesafe.akka</groupId>
1033         <artifactId>akka-slf4j_${scala.version}</artifactId>
1034         <version>${akka.version}</version>
1035       </dependency>
1036       <dependency>
1037         <groupId>org.scala-lang.modules</groupId>
1038         <artifactId>scala-java8-compat_${scala.version}</artifactId>
1039         <version>0.7.0</version>
1040       </dependency>
1041       <dependency>
1042         <groupId>org.iq80.leveldb</groupId>
1043         <artifactId>leveldb</artifactId>
1044         <version>${leveldb.version}</version>
1045       </dependency>
1046       <dependency>
1047         <groupId>org.fusesource.leveldbjni</groupId>
1048         <artifactId>leveldbjni-all</artifactId>
1049         <version>1.8-odl</version>
1050       </dependency>
1051       <dependency>
1052         <groupId>org.uncommons.maths</groupId>
1053         <artifactId>uncommons-maths</artifactId>
1054         <version>1.2.2a</version>
1055       </dependency>
1056       <dependency>
1057         <groupId>com.google.protobuf</groupId>
1058         <artifactId>protobuf-java</artifactId>
1059         <version>2.5.0</version>
1060       </dependency>
1061
1062       <!-- Scala -->
1063       <dependency>
1064         <groupId>org.scala-lang</groupId>
1065         <artifactId>scala-library</artifactId>
1066         <version>${scala.version}.${scala.micro.version}</version>
1067       </dependency>
1068       <dependency>
1069         <groupId>org.scala-lang</groupId>
1070         <artifactId>scala-reflect</artifactId>
1071         <version>${scala.version}.${scala.micro.version}</version>
1072       </dependency>
1073
1074       <!-- LMAX Disruptor -->
1075       <dependency>
1076         <groupId>com.lmax</groupId>
1077         <artifactId>disruptor</artifactId>
1078         <!-- If this is updated, the version in features.xml needs to be changed too -->
1079         <version>3.3.4</version>
1080       </dependency>
1081
1082       <!-- Add Pax Exam -->
1083       <dependency>
1084         <groupId>org.ops4j.pax.exam</groupId>
1085         <artifactId>pax-exam</artifactId>
1086         <version>${exam.version}</version>
1087         <scope>test</scope>
1088       </dependency>
1089       <dependency>
1090         <groupId>org.ops4j.pax.exam</groupId>
1091         <artifactId>pax-exam-container-karaf</artifactId>
1092         <version>${exam.version}</version>
1093         <scope>test</scope>
1094       </dependency>
1095       <dependency>
1096         <groupId>org.ops4j.pax.exam</groupId>
1097         <artifactId>pax-exam-container-native</artifactId>
1098         <version>${exam.version}</version>
1099         <scope>test</scope>
1100       </dependency>
1101       <dependency>
1102         <groupId>org.ops4j.pax.exam</groupId>
1103         <artifactId>pax-exam-junit4</artifactId>
1104         <version>${exam.version}</version>
1105         <scope>test</scope>
1106       </dependency>
1107       <dependency>
1108         <groupId>org.ops4j.pax.exam</groupId>
1109         <artifactId>pax-exam-link-mvn</artifactId>
1110         <version>${exam.version}</version>
1111         <scope>test</scope>
1112       </dependency>
1113
1114       <dependency>
1115         <groupId>org.ops4j.pax.url</groupId>
1116         <artifactId>pax-url-aether</artifactId>
1117         <version>2.4.7</version>
1118         <scope>test</scope>
1119       </dependency>
1120       <dependency>
1121         <groupId>org.ops4j.pax.url</groupId>
1122         <artifactId>pax-url-wrap</artifactId>
1123         <version>2.4.7</version>
1124       </dependency>
1125       <dependency>
1126         <groupId>org.springframework.osgi</groupId>
1127         <artifactId>spring-osgi-mock</artifactId>
1128         <version>1.2.1</version>
1129         <scope>test</scope>
1130       </dependency>
1131       <dependency>
1132         <groupId>xmlunit</groupId>
1133         <artifactId>xmlunit</artifactId>
1134         <version>1.6</version>
1135         <scope>test</scope>
1136       </dependency>
1137       <dependency>
1138         <groupId>org.eclipse.jetty</groupId>
1139         <artifactId>jetty-client</artifactId>
1140         <version>8.1.19.v20160209</version>
1141       </dependency>
1142       <dependency>
1143         <groupId>org.eclipse.jetty</groupId>
1144         <artifactId>jetty-server</artifactId>
1145         <version>8.1.19.v20160209</version>
1146       </dependency>
1147       <dependency>
1148         <groupId>org.eclipse.jetty</groupId>
1149         <artifactId>jetty-servlet-tester</artifactId>
1150         <version>8.1.19.v20160209</version>
1151         <scope>test</scope>
1152       </dependency>
1153       <dependency>
1154         <groupId>org.eclipse.jetty</groupId>
1155         <artifactId>jetty-servlets</artifactId>
1156         <version>8.1.19.v20160209</version>
1157       </dependency>
1158       <dependency>
1159         <groupId>org.eclipse.jetty</groupId>
1160         <artifactId>jetty-webapp</artifactId>
1161         <version>8.1.19.v20160209</version>
1162       </dependency>
1163       <dependency>
1164         <groupId>org.apache.aries.blueprint</groupId>
1165         <artifactId>org.apache.aries.blueprint.core</artifactId>
1166         <version>1.4.2</version>
1167       </dependency>
1168
1169       <!-- Xtend http://xtend-lang.org
1170            NOTE: When you increase the version here,
1171            then remember to also increase it for the
1172            xtend-maven-plugin below! (We don't want to
1173            use a Maven property, in order not to "leak" that.)
1174        -->
1175       <dependency>
1176           <groupId>org.eclipse.xtend</groupId>
1177           <artifactId>org.eclipse.xtend.lib</artifactId>
1178           <version>2.9.2</version>
1179       </dependency>
1180       <dependency>
1181           <groupId>org.eclipse.xtend</groupId>
1182           <artifactId>org.eclipse.xtend.lib.macro</artifactId>
1183           <version>2.9.2</version>
1184       </dependency>
1185       <dependency>
1186           <groupId>org.eclipse.xtext</groupId>
1187           <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
1188           <version>2.9.2</version>
1189       </dependency>
1190
1191       <!-- Annotations -->
1192       <dependency>
1193         <groupId>javax.inject</groupId>
1194         <artifactId>javax.inject</artifactId>
1195         <version>1</version>
1196       </dependency>
1197
1198       <!-- Cassandra -->
1199       <dependency>
1200         <groupId>com.datastax.cassandra</groupId>
1201         <artifactId>cassandra-driver-core</artifactId>
1202         <version>2.1.9</version>
1203       </dependency>
1204
1205       <!-- Metrics -->
1206       <dependency>
1207         <groupId>io.dropwizard.metrics</groupId>
1208         <artifactId>metrics-core</artifactId>
1209         <version>3.1.2</version>
1210       </dependency>
1211       <dependency>
1212         <groupId>io.dropwizard.metrics</groupId>
1213         <artifactId>metrics-graphite</artifactId>
1214         <version>3.1.2</version>
1215       </dependency>
1216
1217       <!-- Karaf console support -->
1218       <dependency>
1219         <groupId>org.apache.karaf.shell</groupId>
1220         <artifactId>org.apache.karaf.shell.console</artifactId>
1221         <version>${karaf.version}</version>
1222       </dependency>
1223
1224     </dependencies>
1225   </dependencyManagement>
1226
1227   <dependencies>
1228     <!-- Karaf provides SL4FJ encapsulation -->
1229     <dependency>
1230       <groupId>org.slf4j</groupId>
1231       <artifactId>slf4j-api</artifactId>
1232       <scope>provided</scope>
1233     </dependency>
1234
1235     <dependency>
1236       <groupId>org.slf4j</groupId>
1237       <artifactId>slf4j-simple</artifactId>
1238       <scope>test</scope>
1239     </dependency>
1240
1241     <!-- Enable JSR-305 annotations everywhere -->
1242     <dependency>
1243       <groupId>com.google.code.findbugs</groupId>
1244       <artifactId>annotations</artifactId>
1245       <scope>provided</scope>
1246     </dependency>
1247     <!-- See note above; having both :jsr305 and :annotations here is an intermediate step -->
1248     <dependency>
1249       <groupId>com.google.code.findbugs</groupId>
1250       <artifactId>jsr305</artifactId>
1251       <scope>provided</scope>
1252     </dependency>
1253   </dependencies>
1254
1255   <build>
1256     <pluginManagement>
1257       <plugins>
1258         <!-- Official maven plugins, alpha-sorted by artifactId.
1259              We do not need to specify the groupId. -->
1260         <plugin>
1261           <artifactId>maven-antrun-plugin</artifactId>
1262           <version>${maven.antrun.plugin.version}</version>
1263         </plugin>
1264         <plugin>
1265           <artifactId>maven-checkstyle-plugin</artifactId>
1266           <version>${checkstyle.version}</version>
1267           <dependencies>
1268             <dependency>
1269               <groupId>com.puppycrawl.tools</groupId>
1270               <artifactId>checkstyle</artifactId>
1271               <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
1272               <version>6.16</version>
1273             </dependency>
1274             <dependency>
1275               <groupId>org.opendaylight.odlparent</groupId>
1276               <artifactId>checkstyle</artifactId>
1277               <version>${odl.checkstyle.version}</version>
1278             </dependency>
1279             <dependency>
1280               <groupId>org.opendaylight.odlparent</groupId>
1281               <artifactId>odl-license</artifactId>
1282               <version>0.2.0-SNAPSHOT</version>
1283             </dependency>
1284             <dependency>
1285               <groupId>com.github.sevntu.checkstyle</groupId>
1286               <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
1287               <version>1.21.0</version>
1288             </dependency>
1289           </dependencies>
1290           <configuration>
1291             <configLocation>odl_checks.xml</configLocation>
1292             <!-- <sourceDirectory> is needed so that checkstyle ignores the
1293                  generated sources directory -->
1294             <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1295             <includeResources>true</includeResources>
1296             <includeTestSourceDirectory>true</includeTestSourceDirectory>
1297             <includeTestResources>true</includeTestResources>
1298             <excludes>
1299               org/opendaylight/yang/gen/**,
1300               **/protobuff/messages/**,
1301               **/thrift/gen/*.java
1302             </excludes>
1303             <failsOnError>false</failsOnError>
1304             <consoleOutput>true</consoleOutput>
1305           </configuration>
1306           <executions>
1307             <execution>
1308               <id>check-license</id>
1309               <goals>
1310                 <goal>check</goal>
1311               </goals>
1312               <phase>process-sources</phase>
1313               <configuration>
1314                 <configLocation>check-license.xml</configLocation>
1315                 <headerLocation>EPL-LICENSE.regexp.txt</headerLocation>
1316                 <includeResources>false</includeResources>
1317                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
1318                 <includeTestResources>false</includeTestResources>
1319                 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1320                 <excludes>
1321                   org/opendaylight/yang/gen/**,
1322                   **/protobuff/messages/**,
1323                   **/thrift/gen/*.java
1324                 </excludes>
1325                 <failsOnError>false</failsOnError>
1326                 <consoleOutput>true</consoleOutput>
1327               </configuration>
1328             </execution>
1329             <execution>
1330               <goals>
1331                 <goal>check</goal>
1332               </goals>
1333               <phase>process-sources</phase>
1334             </execution>
1335           </executions>
1336         </plugin>
1337         <plugin>
1338           <groupId>org.apache.maven.plugins</groupId>
1339           <artifactId>maven-pmd-plugin</artifactId>
1340           <version>3.6</version>
1341           <executions>
1342             <execution>
1343               <id>cpd</id>
1344               <phase>process-sources</phase>
1345               <goals>
1346                 <goal>cpd-check</goal>
1347               </goals>
1348               <configuration>
1349                 <failOnViolation>${pmd.cpd.fail}</failOnViolation>
1350                 <!-- 100 "tokens" here correspond to approx. 5-10 lines of code -->
1351                 <minimumTokens>101</minimumTokens>
1352                 <printFailingErrors>true</printFailingErrors>
1353                 <excludeRoots>
1354                   <!-- FIXME: this should be a wildcard, but PMD is brain-damaged and does
1355                               not understand path prefixes nor wildcards. Details are available
1356                               at http://stackoverflow.com/questions/15647771/pmd-exclude-not-working
1357                               Hence people introducing new generated sources have to include
1358                               PMD config too.
1359                    -->
1360                   <excludeRoot>${project.build.directory}/generated-sources</excludeRoot>
1361                 </excludeRoots>
1362                 <linkXRef>false</linkXRef>
1363               </configuration>
1364             </execution>
1365           </executions>
1366         </plugin>
1367         <plugin>
1368           <artifactId>maven-compiler-plugin</artifactId>
1369           <version>${maven.compile.plugin.version}</version>
1370           <configuration>
1371             <source>1.8</source>
1372             <target>1.8</target>
1373             <compilerArgs>
1374               <arg>-parameters</arg>
1375             </compilerArgs>
1376           </configuration>
1377         </plugin>
1378         <plugin>
1379           <artifactId>maven-enforcer-plugin</artifactId>
1380           <version>${enforcer.version}</version>
1381         </plugin>
1382         <plugin>
1383           <artifactId>maven-failsafe-plugin</artifactId>
1384           <version>${failsafe.version}</version>
1385         </plugin>
1386         <plugin>
1387           <artifactId>maven-invoker-plugin</artifactId>
1388           <version>2.0.0</version>
1389         </plugin>
1390         <plugin>
1391           <artifactId>maven-jar-plugin</artifactId>
1392           <version>${maven.jar.version}</version>
1393         </plugin>
1394         <plugin>
1395           <artifactId>maven-dependency-plugin</artifactId>
1396           <version>2.10</version>
1397           <executions>
1398             <execution>
1399               <id>unpack-license</id>
1400               <phase>generate-resources</phase>
1401               <goals><goal>unpack</goal></goals>
1402               <configuration>
1403                 <artifactItems>
1404                   <artifactItem>
1405                     <groupId>org.opendaylight.odlparent</groupId>
1406                     <artifactId>odl-license</artifactId>
1407                     <version>0.2.0-SNAPSHOT</version>
1408                   </artifactItem>
1409                 </artifactItems>
1410                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
1411                 <excludes>META-INF/**</excludes>
1412               </configuration>
1413             </execution>
1414           </executions>
1415         </plugin>
1416
1417         <plugin>
1418           <artifactId>maven-plugin-plugin</artifactId>
1419           <version>${maven.plugin.version}</version>
1420         </plugin>
1421
1422         <plugin>
1423           <artifactId>maven-resources-plugin</artifactId>
1424           <version>3.0.1</version>
1425         </plugin>
1426         <plugin>
1427           <artifactId>maven-shade-plugin</artifactId>
1428           <version>2.4.3</version>
1429         </plugin>
1430         <plugin>
1431           <artifactId>maven-source-plugin</artifactId>
1432           <version>3.0.0</version>
1433           <executions>
1434             <execution>
1435               <id>attach-sources</id>
1436               <phase>verify</phase>
1437               <goals>
1438                 <goal>jar-no-fork</goal>
1439               </goals>
1440             </execution>
1441           </executions>
1442         </plugin>
1443         <plugin>
1444           <artifactId>maven-surefire-plugin</artifactId>
1445           <version>${maven.surefire.version}</version>
1446           <configuration>
1447             <redirectTestOutputToFile>true</redirectTestOutputToFile>
1448             <trimStackTrace>false</trimStackTrace>
1449           </configuration>
1450         </plugin>
1451
1452         <!-- Third-party plugins, grouped by groupId, alpha-sorted by artifactId -->
1453         <plugin>
1454           <!-- Support Blueprint XML construction using annotations -->
1455           <groupId>org.apache.aries.blueprint</groupId>
1456           <artifactId>blueprint-maven-plugin</artifactId>
1457           <version>1.4.0</version>
1458           <configuration>
1459             <scanPaths>
1460               <scanPath>org.opendaylight</scanPath>
1461             </scanPaths>
1462           </configuration>
1463           <dependencies>
1464             <dependency>
1465               <!-- See https://issues.apache.org/jira/browse/ARIES-1596 -->
1466               <!-- This shouldn't be necessary with plugin version 1.5.0 -->
1467               <groupId>org.apache.xbean</groupId>
1468               <artifactId>xbean-finder-shaded</artifactId>
1469               <version>4.5</version>
1470             </dependency>
1471           </dependencies>
1472           <executions>
1473             <execution>
1474               <goals>
1475                 <goal>blueprint-generate</goal>
1476               </goals>
1477             </execution>
1478           </executions>
1479         </plugin>
1480
1481         <plugin>
1482           <groupId>org.apache.felix</groupId>
1483           <artifactId>maven-bundle-plugin</artifactId>
1484           <version>${maven.bundle.version}</version>
1485           <extensions>true</extensions>
1486         </plugin>
1487
1488         <plugin>
1489           <groupId>org.apache.karaf.tooling</groupId>
1490           <artifactId>karaf-maven-plugin</artifactId>
1491           <version>${karaf.version}</version>
1492         </plugin>
1493
1494         <plugin>
1495           <groupId>org.apache.servicemix.tooling</groupId>
1496           <artifactId>depends-maven-plugin</artifactId>
1497           <version>1.3.1</version>
1498           <executions>
1499             <execution>
1500               <id>generate-depends-file</id>
1501               <goals>
1502                 <goal>generate-depends-file</goal>
1503               </goals>
1504             </execution>
1505           </executions>
1506         </plugin>
1507
1508         <plugin>
1509           <groupId>org.codehaus.enunciate</groupId>
1510           <artifactId>maven-enunciate-plugin</artifactId>
1511           <version>${enunciate.version}</version>
1512         </plugin>
1513         <plugin>
1514           <groupId>org.codehaus.groovy.maven</groupId>
1515           <artifactId>gmaven-plugin</artifactId>
1516           <version>1.0</version>
1517         </plugin>
1518         <plugin>
1519           <groupId>org.codehaus.mojo</groupId>
1520           <artifactId>build-helper-maven-plugin</artifactId>
1521           <version>1.10</version>
1522         </plugin>
1523         <plugin>
1524           <groupId>org.codehaus.mojo</groupId>
1525           <artifactId>findbugs-maven-plugin</artifactId>
1526           <version>3.0.3</version>
1527         </plugin>
1528         <plugin>
1529           <groupId>org.codehaus.mojo</groupId>
1530           <artifactId>properties-maven-plugin</artifactId>
1531           <version>${propertymavenplugin.version}</version>
1532         </plugin>
1533         <plugin>
1534           <groupId>org.eclipse.xtend</groupId>
1535           <artifactId>xtend-maven-plugin</artifactId>
1536           <!-- NOTE: This version MUST be kept in sync with the Xtend version in <dependencyManagement> -->
1537           <version>2.9.2</version>
1538           <executions>
1539             <execution>
1540               <goals>
1541                 <goal>compile</goal>
1542                 <goal>testCompile</goal>
1543               </goals>
1544               <configuration>
1545                 <outputDirectory>${project.build.directory}/generated-sources/xtend/main</outputDirectory>
1546                 <testOutputDirectory>${project.build.directory}/generated-sources/xtend/test</testOutputDirectory>
1547               </configuration>
1548             </execution>
1549           </executions>
1550         </plugin>
1551         <plugin>
1552           <groupId>org.eclipse.m2e</groupId>
1553           <artifactId>lifecycle-mapping</artifactId>
1554           <version>1.0.0</version>
1555           <configuration>
1556             <lifecycleMappingMetadata>
1557               <pluginExecutions>
1558                 <pluginExecution>
1559                   <pluginExecutionFilter>
1560                     <groupId>org.apache.felix</groupId>
1561                     <artifactId>maven-bundle-plugin</artifactId>
1562                     <versionRange>[1.0,)</versionRange>
1563                     <goals>
1564                       <goal>manifest</goal>
1565                     </goals>
1566                   </pluginExecutionFilter>
1567                   <action>
1568                     <execute/>
1569                   </action>
1570                 </pluginExecution>
1571                 <pluginExecution>
1572                   <pluginExecutionFilter>
1573                     <groupId>org.apache.maven.plugins</groupId>
1574                     <artifactId>maven-enforcer-plugin</artifactId>
1575                     <versionRange>[1.0.0,)</versionRange>
1576                     <goals>
1577                       <goal>enforce</goal>
1578                     </goals>
1579                   </pluginExecutionFilter>
1580                   <action>
1581                     <ignore/>
1582                   </action>
1583                 </pluginExecution>
1584                 <pluginExecution>
1585                   <pluginExecutionFilter>
1586                     <groupId>org.apache.maven.plugins</groupId>
1587                     <artifactId>maven-dependency-plugin</artifactId>
1588                     <versionRange>[2.10,)</versionRange>
1589                     <goals>
1590                       <goal>unpack</goal>
1591                     </goals>
1592                   </pluginExecutionFilter>
1593                   <action>
1594                     <ignore/>
1595                   </action>
1596                 </pluginExecution>
1597                 <pluginExecution>
1598                   <pluginExecutionFilter>
1599                     <groupId>org.apache.maven.plugins</groupId>
1600                     <artifactId>maven-pmd-plugin</artifactId>
1601                     <versionRange>[3.6,)</versionRange>
1602                     <goals>
1603                       <goal>cpd-check</goal>
1604                     </goals>
1605                   </pluginExecutionFilter>
1606                   <action>
1607                     <ignore/>
1608                   </action>
1609                 </pluginExecution>
1610                 <!-- The plugin will eventually be removed, remove this too at that point -->
1611                 <pluginExecution>
1612                   <pluginExecutionFilter>
1613                     <groupId>org.apache.maven.plugins</groupId>
1614                     <artifactId>maven-antrun-plugin</artifactId>
1615                     <versionRange>[1.8,)</versionRange>
1616                     <goals>
1617                       <goal>run</goal>
1618                     </goals>
1619                   </pluginExecutionFilter>
1620                   <action>
1621                     <ignore/>
1622                   </action>
1623                 </pluginExecution>
1624                 <pluginExecution>
1625                   <pluginExecutionFilter>
1626                     <groupId>org.apache.servicemix.tooling</groupId>
1627                     <artifactId>depends-maven-plugin</artifactId>
1628                     <versionRange>[1.2,)</versionRange>
1629                     <goals>
1630                       <goal>generate-depends-file</goal>
1631                     </goals>
1632                   </pluginExecutionFilter>
1633                   <action>
1634                     <execute/>
1635                   </action>
1636                 </pluginExecution>
1637                 <pluginExecution>
1638                   <pluginExecutionFilter>
1639                     <groupId>org.jacoco</groupId>
1640                     <artifactId>jacoco-maven-plugin</artifactId>
1641                     <versionRange>[0.7.0,)</versionRange>
1642                     <goals>
1643                       <goal>prepare-agent</goal>
1644                       <goal>report</goal>
1645                     </goals>
1646                   </pluginExecutionFilter>
1647                   <action>
1648                     <ignore/>
1649                   </action>
1650                 </pluginExecution>
1651               </pluginExecutions>
1652             </lifecycleMappingMetadata>
1653           </configuration>
1654         </plugin>
1655
1656         <plugin>
1657           <groupId>org.jacoco</groupId>
1658           <artifactId>jacoco-maven-plugin</artifactId>
1659           <version>${jacoco.version}</version>
1660           <configuration>
1661             <!-- Note: This exclusion list should match <sonar.exclusions>
1662                        property above -->
1663             <excludes>
1664               <exclude>**/gen/**</exclude>
1665               <exclude>**/generated-sources/**</exclude>
1666               <exclude>**/yang-gen/**</exclude>
1667               <exclude>**/pax/**</exclude>
1668             </excludes>
1669           </configuration>
1670         </plugin>
1671
1672         <plugin>
1673           <groupId>org.ops4j.pax.exam</groupId>
1674           <artifactId>maven-paxexam-plugin</artifactId>
1675           <version>1.2.4</version>
1676         </plugin>
1677
1678         <plugin>
1679           <groupId>org.codehaus.mojo</groupId>
1680           <artifactId>jdepend-maven-plugin</artifactId>
1681           <version>2.0</version>
1682           <executions>
1683             <execution>
1684               <phase>site</phase>
1685               <goals>
1686                 <goal>generate-no-fork</goal>
1687               </goals>
1688             </execution>
1689           </executions>
1690         </plugin>
1691       </plugins>
1692     </pluginManagement>
1693
1694     <plugins>
1695       <plugin>
1696         <artifactId>maven-dependency-plugin</artifactId>
1697       </plugin>
1698       <plugin>
1699         <artifactId>maven-checkstyle-plugin</artifactId>
1700       </plugin>
1701       <plugin>
1702           <artifactId>maven-pmd-plugin</artifactId>
1703       </plugin>
1704       <plugin>
1705         <artifactId>maven-source-plugin</artifactId>
1706       </plugin>
1707       <plugin>
1708         <artifactId>maven-javadoc-plugin</artifactId>
1709       </plugin>
1710
1711       <!-- Jacoco / Sonar -->
1712       <plugin>
1713         <groupId>org.jacoco</groupId>
1714         <artifactId>jacoco-maven-plugin</artifactId>
1715         <executions>
1716           <execution>
1717             <id>pre-unit-test</id>
1718             <goals>
1719               <goal>prepare-agent</goal>
1720             </goals>
1721             <configuration>
1722               <destFile>${sonar.jacoco.reportPath}</destFile>
1723             </configuration>
1724           </execution>
1725           <execution>
1726             <id>post-unit-test</id>
1727             <goals>
1728               <goal>report</goal>
1729             </goals>
1730             <configuration>
1731               <dataFile>${sonar.jacoco.reportPath}</dataFile>
1732             </configuration>
1733           </execution>
1734         </executions>
1735       </plugin>
1736
1737       <plugin>
1738         <groupId>com.alexecollins.maven.plugin</groupId>
1739         <artifactId>script-maven-plugin</artifactId>
1740         <version>1.0.0</version>
1741         <executions>
1742            <execution>
1743              <phase>prepare-package</phase>
1744              <goals>
1745                <goal>execute</goal>
1746              </goals>
1747              <configuration>
1748                <script>
1749                  // BeanShell is 2005-ish and thus doesn't support generics, varargs, try-with-resources or lambdas, so:
1750                  // (If we do this kind of inline code in pom.xml more often, we shold have a new simple module in
1751                  //  odl-parent, which has *.java that we compile, and then just depend on it here and call one-line
1752                  //  static class methods only - it will be MUCH easier to write!)
1753                  void copy(File root, String glob, File target) {
1754                      java.nio.file.DirectoryStream dirStream = java.nio.file.Files.newDirectoryStream(root.toPath(), glob);
1755                      Iterator dirStreamIterator = dirStream.iterator();
1756                      while (dirStreamIterator.hasNext()) {
1757                          java.nio.file.Path path = dirStreamIterator.next();
1758                          java.nio.file.Files.copy(path, new File(target, path.toFile().getName()).toPath(),
1759                              new java.nio.file.CopyOption[] {
1760                                  java.nio.file.StandardCopyOption.REPLACE_EXISTING,
1761                                  java.nio.file.StandardCopyOption.COPY_ATTRIBUTES
1762                              }
1763                          );
1764                      }
1765                      dirStream.close();
1766                  }
1767
1768                  File gitRepoRootDir = project.basedir;
1769                  while (!new File(gitRepoRootDir, ".git").exists() &amp;&amp; gitRepoRootDir.getParentFile() != null) {
1770                      gitRepoRootDir = gitRepoRootDir.getParentFile();
1771                  }
1772
1773                  File target = new File(project.build.outputDirectory);
1774                  target.mkdirs();
1775                  copy(gitRepoRootDir, "README*", target);
1776                  copy(gitRepoRootDir, "CONTRIBUTING*", target);
1777                  copy(gitRepoRootDir, "PROJECT_INFO.yaml", target);
1778                </script>
1779              </configuration>
1780            </execution>
1781          </executions>
1782          <dependencies>
1783            <dependency>
1784              <groupId>org.apache-extras.beanshell</groupId>
1785              <artifactId>bsh</artifactId>
1786              <version>2.0b6</version>
1787            </dependency>
1788          </dependencies>
1789       </plugin>
1790
1791       <!-- Blueprint dependency injection -->
1792       <!-- Remove when upgrading to plugin 1.5.0, and use
1793            <configuration><generatedDir>org/opendaylight/blueprint/</...></...> -->
1794       <!-- See https://issues.apache.org/jira/browse/ARIES-1597 -->
1795       <plugin>
1796         <artifactId>maven-antrun-plugin</artifactId>
1797         <executions>
1798           <!-- This should only run once, in the process-classes phase; but we need it to run after
1799                process-classes in child projects. Attaching to process-test-classes and prepare-package
1800                ensures that the file will be moved whether tests are skipped or not. -->
1801           <execution>
1802             <id>move-autowire-test</id>
1803             <phase>process-test-classes</phase>
1804             <goals>
1805               <goal>run</goal>
1806             </goals>
1807             <configuration>
1808               <target>
1809                 <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
1810                 <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
1811                       todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
1812                       failonerror="false" quiet="true" />
1813               </target>
1814             </configuration>
1815           </execution>
1816           <execution>
1817             <id>move-autowire-package</id>
1818             <phase>prepare-package</phase>
1819             <goals>
1820               <goal>run</goal>
1821             </goals>
1822             <configuration>
1823               <target>
1824                 <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
1825                 <move file="${project.build.directory}/generated-resources/OSGI-INF/blueprint/autowire.xml"
1826                       todir="${project.build.directory}/generated-resources/org/opendaylight/blueprint"
1827                       failonerror="false" quiet="true" />
1828               </target>
1829             </configuration>
1830           </execution>
1831         </executions>
1832       </plugin>
1833     </plugins>
1834   </build>
1835
1836   <reporting>
1837     <plugins>
1838       <plugin>
1839         <artifactId>maven-checkstyle-plugin</artifactId>
1840         <version>${checkstyle.version}</version>
1841       </plugin>
1842
1843       <!-- FIXME: activate this
1844       <plugin>
1845         <artifactId>maven-project-info-reports-plugin</artifactId>
1846         <version>${projectinfo}</version>
1847       </plugin-->
1848       <plugin>
1849         <groupId>org.codehaus.mojo</groupId>
1850         <artifactId>findbugs-maven-plugin</artifactId>
1851         <configuration>
1852           <effort>Max</effort>
1853           <threshold>Low</threshold>
1854           <goal>site</goal>
1855         </configuration>
1856       </plugin>
1857       <plugin>
1858         <groupId>org.codehaus.mojo</groupId>
1859         <artifactId>jdepend-maven-plugin</artifactId>
1860         <reportSets>
1861           <reportSet>
1862             <reports>
1863               <report>generate-no-fork</report>
1864             </reports>
1865           </reportSet>
1866         </reportSets>
1867       </plugin>
1868       <plugin>
1869         <artifactId>maven-javadoc-plugin</artifactId>
1870         <configuration>
1871           <links>
1872             <link>http://doc.akka.io/japi/akka/${akka.version}/</link>
1873             <link>https://google.github.io/guava/releases/18.0/api/docs/</link>
1874             <link>https://google.github.io/guava/releases/19.0/api/docs/</link>
1875             <link>http://netty.io/4.0/api/</link>
1876           </links>
1877         </configuration>
1878       </plugin>
1879     </plugins>
1880   </reporting>
1881
1882   <!--
1883     Maven Site Configuration
1884
1885     The following configuration is necessary for maven-site-plugin to
1886     correctly identify the correct deployment path for OpenDaylight Maven
1887     sites.
1888   -->
1889   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
1890
1891   <distributionManagement>
1892     <site>
1893       <id>opendaylight-site</id>
1894       <url>${nexus.site.url}/${project.artifactId}/</url>
1895     </site>
1896   </distributionManagement>
1897
1898 </project>