Bump enforced Maven version to 3.3.9+
[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.3</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.54</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>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
128     <sonar.jacoco.itReportPath>target/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.2.3</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.4</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.gson</groupId>
483         <artifactId>gson</artifactId>
484         <version>2.7</version>
485       </dependency>
486       <dependency>
487         <groupId>commons-fileupload</groupId>
488         <artifactId>commons-fileupload</artifactId>
489         <version>1.3.1</version>
490       </dependency>
491       <dependency>
492         <groupId>commons-io</groupId>
493         <artifactId>commons-io</artifactId>
494         <version>2.4</version>
495       </dependency>
496       <dependency>
497         <groupId>commons-net</groupId>
498         <artifactId>commons-net</artifactId>
499         <version>3.5</version>
500       </dependency>
501       <dependency>
502         <groupId>eclipselink</groupId>
503         <artifactId>javax.persistence</artifactId>
504         <version>2.0.4.v201112161009</version>
505       </dependency>
506       <dependency>
507         <groupId>eclipselink</groupId>
508         <artifactId>javax.resource</artifactId>
509         <version>1.5.0.v200906010428</version>
510       </dependency>
511       <dependency>
512         <groupId>equinoxSDK381</groupId>
513         <artifactId>javax.servlet</artifactId>
514         <version>3.0.0.v201112011016</version>
515       </dependency>
516       <dependency>
517         <groupId>equinoxSDK381</groupId>
518         <artifactId>javax.servlet.jsp</artifactId>
519         <version>2.2.0.v201112011158</version>
520       </dependency>
521       <dependency>
522         <groupId>equinoxSDK381</groupId>
523         <artifactId>org.apache.felix.gogo.command</artifactId>
524         <version>0.8.0.v201108120515</version>
525       </dependency>
526       <dependency>
527         <groupId>equinoxSDK381</groupId>
528         <artifactId>org.apache.felix.gogo.runtime</artifactId>
529         <version>0.8.0.v201108120515</version>
530       </dependency>
531       <dependency>
532         <groupId>equinoxSDK381</groupId>
533         <artifactId>org.apache.felix.gogo.shell</artifactId>
534         <version>0.8.0.v201110170705</version>
535       </dependency>
536       <dependency>
537         <groupId>equinoxSDK381</groupId>
538         <artifactId>org.eclipse.equinox.cm</artifactId>
539         <version>1.0.400.v20120522-1841</version>
540       </dependency>
541       <dependency>
542         <groupId>equinoxSDK381</groupId>
543         <artifactId>org.eclipse.equinox.console</artifactId>
544         <version>1.0.0.v20120522-1841</version>
545       </dependency>
546       <dependency>
547         <groupId>equinoxSDK381</groupId>
548         <artifactId>org.eclipse.equinox.ds</artifactId>
549         <version>1.4.0.v20120522-1841</version>
550       </dependency>
551       <dependency>
552         <groupId>equinoxSDK381</groupId>
553         <artifactId>org.eclipse.equinox.launcher</artifactId>
554         <version>1.3.0.v20120522-1813</version>
555       </dependency>
556       <dependency>
557         <groupId>equinoxSDK381</groupId>
558         <artifactId>org.eclipse.equinox.util</artifactId>
559         <version>1.0.400.v20120522-2049</version>
560       </dependency>
561       <dependency>
562         <groupId>equinoxSDK381</groupId>
563         <artifactId>org.eclipse.osgi.services</artifactId>
564         <version>3.3.100.v20120522-1822</version>
565       </dependency>
566
567       <dependency>
568         <groupId>org.eclipse.tycho</groupId>
569         <artifactId>org.eclipse.osgi</artifactId>
570         <version>3.9.1.v20130814-1242</version>
571       </dependency>
572       <!-- FIXME: remove once all users migrate to org.eclipse.tycho -->
573       <dependency>
574         <groupId>equinoxSDK381</groupId>
575         <artifactId>org.eclipse.osgi</artifactId>
576         <version>3.8.1.v20120830-144521</version>
577       </dependency>
578
579       <!-- Gemini Web -->
580       <dependency>
581         <groupId>geminiweb</groupId>
582         <artifactId>org.eclipse.gemini.web.core</artifactId>
583         <version>2.2.0.RELEASE</version>
584       </dependency>
585       <dependency>
586         <groupId>geminiweb</groupId>
587         <artifactId>org.eclipse.gemini.web.extender</artifactId>
588         <version>2.2.0.RELEASE</version>
589       </dependency>
590       <dependency>
591         <groupId>geminiweb</groupId>
592         <artifactId>org.eclipse.gemini.web.tomcat</artifactId>
593         <version>2.2.0.RELEASE</version>
594       </dependency>
595       <dependency>
596         <groupId>geminiweb</groupId>
597         <artifactId>org.eclipse.virgo.kernel.equinox.extensions</artifactId>
598         <version>3.6.0.RELEASE</version>
599       </dependency>
600       <dependency>
601         <groupId>geminiweb</groupId>
602         <artifactId>org.eclipse.virgo.util.common</artifactId>
603         <version>3.6.0.RELEASE</version>
604       </dependency>
605       <dependency>
606         <groupId>geminiweb</groupId>
607         <artifactId>org.eclipse.virgo.util.io</artifactId>
608         <version>3.6.0.RELEASE</version>
609       </dependency>
610       <dependency>
611         <groupId>geminiweb</groupId>
612         <artifactId>org.eclipse.virgo.util.math</artifactId>
613         <version>3.6.0.RELEASE</version>
614       </dependency>
615       <dependency>
616         <groupId>geminiweb</groupId>
617         <artifactId>org.eclipse.virgo.util.osgi</artifactId>
618         <version>3.6.0.RELEASE</version>
619       </dependency>
620       <dependency>
621         <groupId>geminiweb</groupId>
622         <artifactId>org.eclipse.virgo.util.osgi.manifest</artifactId>
623         <version>3.6.0.RELEASE</version>
624       </dependency>
625       <dependency>
626         <groupId>geminiweb</groupId>
627         <artifactId>org.eclipse.virgo.util.parser.manifest</artifactId>
628         <version>3.6.0.RELEASE</version>
629       </dependency>
630       <!-- Netty -->
631       <dependency>
632         <groupId>io.netty</groupId>
633         <artifactId>netty-all</artifactId>
634         <!-- If these are updated, the version in features.xml needs to be changed too -->
635         <version>4.0.37.Final</version>
636       </dependency>
637       <dependency>
638         <groupId>io.netty</groupId>
639         <artifactId>netty-buffer</artifactId>
640         <version>4.0.37.Final</version>
641       </dependency>
642       <dependency>
643         <groupId>io.netty</groupId>
644         <artifactId>netty-codec</artifactId>
645         <version>4.0.37.Final</version>
646       </dependency>
647       <dependency>
648         <groupId>io.netty</groupId>
649         <artifactId>netty-codec-http</artifactId>
650         <version>4.0.37.Final</version>
651       </dependency>
652       <dependency>
653         <groupId>io.netty</groupId>
654         <artifactId>netty-common</artifactId>
655         <version>4.0.37.Final</version>
656       </dependency>
657       <dependency>
658         <groupId>io.netty</groupId>
659         <artifactId>netty-handler</artifactId>
660         <version>4.0.37.Final</version>
661       </dependency>
662       <dependency>
663         <groupId>io.netty</groupId>
664         <artifactId>netty-transport</artifactId>
665         <version>4.0.37.Final</version>
666       </dependency>
667       <!-- Here we need to define all available native epoll implementations; we can't limit ourselves to the build
668       platform and we can't require the build platform to have an implementation (e.g. OS X) -->
669       <dependency>
670         <groupId>io.netty</groupId>
671         <artifactId>netty-transport-native-epoll</artifactId>
672         <classifier>linux-x86_64</classifier>
673         <version>4.0.37.Final</version>
674       </dependency>
675       <dependency>
676         <groupId>javax.ws.rs</groupId>
677         <artifactId>jsr311-api</artifactId>
678         <version>1.1.1</version>
679       </dependency>
680       <dependency>
681         <groupId>orbit</groupId>
682         <artifactId>javax.activation</artifactId>
683         <version>1.1.0.v201211130549</version>
684       </dependency>
685       <dependency>
686         <groupId>orbit</groupId>
687         <artifactId>javax.annotation</artifactId>
688         <version>1.1.0.v201209060031</version>
689       </dependency>
690       <dependency>
691         <groupId>orbit</groupId>
692         <artifactId>javax.ejb</artifactId>
693         <version>3.1.1.v201204261316</version>
694       </dependency>
695       <dependency>
696         <groupId>orbit</groupId>
697         <artifactId>javax.el</artifactId>
698         <version>2.2.0.v201108011116</version>
699       </dependency>
700       <dependency>
701         <groupId>orbit</groupId>
702         <artifactId>javax.mail.glassfish</artifactId>
703         <version>1.4.1.v201108011116</version>
704       </dependency>
705       <dependency>
706         <groupId>javax.servlet</groupId>
707         <artifactId>javax.servlet-api</artifactId>
708         <version>3.0.1</version>
709       </dependency>
710       <dependency>
711         <groupId>orbit</groupId>
712         <artifactId>javax.servlet.jsp.jstl</artifactId>
713         <version>1.2.0.v201105211821</version>
714       </dependency>
715       <dependency>
716         <groupId>orbit</groupId>
717         <artifactId>javax.servlet.jsp.jstl.impl</artifactId>
718         <version>1.2.0.v201210211230</version>
719       </dependency>
720       <dependency>
721         <groupId>orbit</groupId>
722         <artifactId>javax.xml.rpc</artifactId>
723         <version>1.1.0.v201005080400</version>
724       </dependency>
725       <dependency>
726         <groupId>orbit</groupId>
727         <artifactId>org.apache.catalina</artifactId>
728         <version>7.0.53.v201406061610</version>
729       </dependency>
730       <dependency>
731         <groupId>orbit</groupId>
732         <artifactId>org.apache.catalina.ha</artifactId>
733         <version>7.0.53.v201406070630</version>
734       </dependency>
735       <dependency>
736         <groupId>orbit</groupId>
737         <artifactId>org.apache.catalina.tribes</artifactId>
738         <version>7.0.53.v201406070630</version>
739       </dependency>
740       <dependency>
741         <groupId>orbit</groupId>
742         <artifactId>org.apache.coyote</artifactId>
743         <version>7.0.53.v201406070630</version>
744       </dependency>
745       <dependency>
746         <groupId>orbit</groupId>
747         <artifactId>org.apache.el</artifactId>
748         <version>7.0.53.v201406060720</version>
749       </dependency>
750       <dependency>
751         <groupId>orbit</groupId>
752         <artifactId>org.apache.jasper</artifactId>
753         <version>7.0.53.v201406070630</version>
754       </dependency>
755       <dependency>
756         <groupId>orbit</groupId>
757         <artifactId>org.apache.juli.extras</artifactId>
758         <version>7.0.53.v201406060720</version>
759       </dependency>
760       <dependency>
761         <groupId>orbit</groupId>
762         <artifactId>org.apache.tomcat.api</artifactId>
763         <version>7.0.53.v201406060720</version>
764       </dependency>
765       <dependency>
766         <groupId>orbit</groupId>
767         <artifactId>org.apache.tomcat.util</artifactId>
768         <version>7.0.53.v201406070630</version>
769       </dependency>
770       <dependency>
771         <groupId>org.aopalliance</groupId>
772         <artifactId>com.springsource.org.aopalliance</artifactId>
773         <version>1.0.0</version>
774       </dependency>
775       <dependency>
776         <groupId>org.apache.felix</groupId>
777         <artifactId>org.apache.felix.dependencymanager</artifactId>
778         <version>4.3.0</version>
779       </dependency>
780       <dependency>
781         <groupId>org.apache.felix</groupId>
782         <artifactId>org.apache.felix.dependencymanager.shell</artifactId>
783         <version>4.0.4</version>
784       </dependency>
785       <dependency>
786         <groupId>org.apache.felix</groupId>
787         <artifactId>org.apache.felix.fileinstall</artifactId>
788         <version>3.5.4</version>
789       </dependency>
790       <dependency>
791         <groupId>org.apache.felix</groupId>
792         <artifactId>org.apache.felix.metatype</artifactId>
793         <version>1.1.2</version>
794       </dependency>
795       <!-- felix webconsole -->
796       <dependency>
797         <groupId>org.apache.felix</groupId>
798         <artifactId>org.apache.felix.webconsole</artifactId>
799         <version>4.2.14</version>
800         <!-- the all bundle includes all the necessary plugins -->
801         <classifier>all</classifier>
802       </dependency>
803       <dependency>
804         <groupId>org.bouncycastle</groupId>
805         <artifactId>bcpkix-jdk15on</artifactId>
806         <version>${bouncycastle.version}</version>
807       </dependency>
808       <dependency>
809         <groupId>org.bouncycastle</groupId>
810         <artifactId>bcprov-jdk15on</artifactId>
811         <version>${bouncycastle.version}</version>
812       </dependency>
813       <dependency>
814         <groupId>org.codehaus.enunciate</groupId>
815         <artifactId>enunciate-core-annotations</artifactId>
816         <version>${enunciate.version}</version>
817       </dependency>
818       <dependency>
819         <groupId>com.webcohesion.enunciate</groupId>
820         <artifactId>enunciate-core-annotations</artifactId>
821         <version>2.1.1</version>
822       </dependency>
823       <dependency>
824         <groupId>org.codehaus.jettison</groupId>
825         <artifactId>jettison</artifactId>
826         <version>1.3.7</version>
827       </dependency>
828       <!-- equinox http service bridge -->
829       <dependency>
830         <groupId>org.eclipse.equinox.http</groupId>
831         <artifactId>servlet</artifactId>
832         <version>1.0.0-v20070606</version>
833       </dependency>
834       <!-- To upgrade org.eclipse.persistence dependencies to 2.6.0+, we need to ensure all downstreams consumers
835          pull in javax.validation first:
836          http://stackoverflow.com/questions/28568154/how-to-get-eclipselink-2-6-0-m3-working-with-jersey-1-18-3 -->
837       <dependency>
838         <groupId>org.eclipse.persistence</groupId>
839         <artifactId>org.eclipse.persistence.antlr</artifactId>
840         <version>2.6.2</version>
841       </dependency>
842       <dependency>
843         <groupId>org.eclipse.persistence</groupId>
844         <artifactId>org.eclipse.persistence.core</artifactId>
845         <version>2.6.2</version>
846       </dependency>
847       <dependency>
848         <groupId>org.eclipse.persistence</groupId>
849         <artifactId>org.eclipse.persistence.moxy</artifactId>
850         <version>2.6.2</version>
851       </dependency>
852       <dependency>
853         <groupId>javax.validation</groupId>
854         <artifactId>validation-api</artifactId>
855         <version>1.1.0.Final</version>
856       </dependency>
857       <dependency>
858         <groupId>org.javassist</groupId>
859         <artifactId>javassist</artifactId>
860         <version>3.20.0-GA</version>
861       </dependency>
862       <dependency>
863         <groupId>org.jboss.spec.javax.transaction</groupId>
864         <artifactId>jboss-transaction-api_1.1_spec</artifactId>
865         <version>1.0.1.Final</version>
866       </dependency>
867       <dependency>
868         <groupId>org.jolokia</groupId>
869         <artifactId>jolokia-osgi</artifactId>
870         <version>1.3.3</version>
871       </dependency>
872       <dependency>
873         <groupId>org.json</groupId>
874         <artifactId>json</artifactId>
875         <version>20131018</version>
876       </dependency>
877       <dependency>
878         <groupId>org.osgi</groupId>
879         <artifactId>org.osgi.compendium</artifactId>
880         <version>5.0.0</version>
881         <scope>provided</scope>
882       </dependency>
883       <dependency>
884         <groupId>org.osgi</groupId>
885         <artifactId>org.osgi.core</artifactId>
886         <version>${osgi.core.version}</version>
887         <scope>provided</scope>
888       </dependency>
889       <dependency>
890         <groupId>org.ow2.asm</groupId>
891         <artifactId>asm-all</artifactId>
892         <version>5.1</version>
893       </dependency>
894       <!-- Visual VM hook -->
895       <dependency>
896         <groupId>org.ow2.chameleon.management</groupId>
897         <artifactId>chameleon-mbeans</artifactId>
898         <version>1.0.0</version>
899       </dependency>
900       <dependency>
901         <groupId>org.springframework</groupId>
902         <artifactId>spring-aop</artifactId>
903         <version>3.2.14.RELEASE</version>
904       </dependency>
905       <dependency>
906         <groupId>org.springframework</groupId>
907         <artifactId>spring-beans</artifactId>
908         <version>3.2.14.RELEASE</version>
909       </dependency>
910       <dependency>
911         <groupId>org.springframework</groupId>
912         <artifactId>spring-context</artifactId>
913         <version>3.2.14.RELEASE</version>
914       </dependency>
915       <dependency>
916         <groupId>org.springframework</groupId>
917         <artifactId>spring-core</artifactId>
918         <version>3.2.14.RELEASE</version>
919       </dependency>
920       <dependency>
921         <groupId>org.springframework</groupId>
922         <artifactId>spring-expression</artifactId>
923         <version>3.2.14.RELEASE</version>
924       </dependency>
925       <dependency>
926         <groupId>org.springframework</groupId>
927         <artifactId>spring-tx</artifactId>
928         <version>3.2.14.RELEASE</version>
929       </dependency>
930       <dependency>
931         <groupId>org.springframework</groupId>
932         <artifactId>spring-web</artifactId>
933         <version>3.2.14.RELEASE</version>
934       </dependency>
935       <dependency>
936         <groupId>org.springframework</groupId>
937         <artifactId>spring-webmvc</artifactId>
938         <version>3.2.14.RELEASE</version>
939       </dependency>
940       <!-- Spring security -->
941       <dependency>
942         <groupId>org.springframework.security</groupId>
943         <artifactId>spring-security-config</artifactId>
944         <version>3.2.8.RELEASE</version>
945       </dependency>
946       <dependency>
947         <groupId>org.springframework.security</groupId>
948         <artifactId>spring-security-core</artifactId>
949         <version>3.2.8.RELEASE</version>
950       </dependency>
951       <dependency>
952         <groupId>org.springframework.security</groupId>
953         <artifactId>spring-security-taglibs</artifactId>
954         <version>3.2.8.RELEASE</version>
955       </dependency>
956       <dependency>
957         <groupId>org.springframework.security</groupId>
958         <artifactId>spring-security-web</artifactId>
959         <version>3.2.8.RELEASE</version>
960       </dependency>
961       <dependency>
962         <groupId>virgomirror</groupId>
963         <artifactId>org.eclipse.jdt.core.compiler.batch</artifactId>
964         <version>3.8.0.I20120518-2145</version>
965       </dependency>
966
967       <!-- Configuration library -->
968       <!-- This needs to be kept in sync with the version used by akka -->
969       <dependency>
970         <groupId>com.typesafe</groupId>
971         <artifactId>config</artifactId>
972         <version>1.3.0</version>
973       </dependency>
974
975       <!-- Akka -->
976       <dependency>
977         <groupId>com.typesafe.akka</groupId>
978         <artifactId>akka-actor_${scala.version}</artifactId>
979         <version>${akka.version}</version>
980       </dependency>
981       <dependency>
982         <groupId>com.typesafe.akka</groupId>
983         <artifactId>akka-cluster_${scala.version}</artifactId>
984         <version>${akka.version}</version>
985       </dependency>
986       <dependency>
987         <groupId>com.typesafe.akka</groupId>
988         <artifactId>akka-persistence_${scala.version}</artifactId>
989         <version>${akka.version}</version>
990       </dependency>
991       <dependency>
992         <groupId>com.typesafe.akka</groupId>
993         <artifactId>akka-protobuf_${scala.version}</artifactId>
994         <version>${akka.version}</version>
995       </dependency>
996       <dependency>
997         <groupId>com.typesafe.akka</groupId>
998         <artifactId>akka-remote_${scala.version}</artifactId>
999         <version>${akka.version}</version>
1000       </dependency>
1001       <dependency>
1002         <groupId>com.typesafe.akka</groupId>
1003         <artifactId>akka-testkit_${scala.version}</artifactId>
1004         <version>${akka.version}</version>
1005         <scope>test</scope>
1006       </dependency>
1007       <dependency>
1008         <groupId>com.typesafe.akka</groupId>
1009         <artifactId>akka-osgi_${scala.version}</artifactId>
1010         <version>${akka.version}</version>
1011       </dependency>
1012       <dependency>
1013         <groupId>com.typesafe.akka</groupId>
1014         <artifactId>akka-slf4j_${scala.version}</artifactId>
1015         <version>${akka.version}</version>
1016       </dependency>
1017       <dependency>
1018         <groupId>org.scala-lang.modules</groupId>
1019         <artifactId>scala-java8-compat_${scala.version}</artifactId>
1020         <version>0.7.0</version>
1021       </dependency>
1022       <dependency>
1023         <groupId>org.iq80.leveldb</groupId>
1024         <artifactId>leveldb</artifactId>
1025         <version>${leveldb.version}</version>
1026       </dependency>
1027       <dependency>
1028         <groupId>org.fusesource.leveldbjni</groupId>
1029         <artifactId>leveldbjni-all</artifactId>
1030         <version>1.8-odl</version>
1031       </dependency>
1032       <dependency>
1033         <groupId>org.uncommons.maths</groupId>
1034         <artifactId>uncommons-maths</artifactId>
1035         <version>1.2.2a</version>
1036       </dependency>
1037       <dependency>
1038         <groupId>com.google.protobuf</groupId>
1039         <artifactId>protobuf-java</artifactId>
1040         <version>2.5.0</version>
1041       </dependency>
1042
1043       <!-- Scala -->
1044       <dependency>
1045         <groupId>org.scala-lang</groupId>
1046         <artifactId>scala-library</artifactId>
1047         <version>${scala.version}.${scala.micro.version}</version>
1048       </dependency>
1049       <dependency>
1050         <groupId>org.scala-lang</groupId>
1051         <artifactId>scala-reflect</artifactId>
1052         <version>${scala.version}.${scala.micro.version}</version>
1053       </dependency>
1054
1055       <!-- LMAX Disruptor -->
1056       <dependency>
1057         <groupId>com.lmax</groupId>
1058         <artifactId>disruptor</artifactId>
1059         <!-- If this is updated, the version in features.xml needs to be changed too -->
1060         <version>3.3.4</version>
1061       </dependency>
1062
1063       <!-- Add Pax Exam -->
1064       <dependency>
1065         <groupId>org.ops4j.pax.exam</groupId>
1066         <artifactId>pax-exam</artifactId>
1067         <version>${exam.version}</version>
1068         <scope>test</scope>
1069       </dependency>
1070       <dependency>
1071         <groupId>org.ops4j.pax.exam</groupId>
1072         <artifactId>pax-exam-container-karaf</artifactId>
1073         <version>${exam.version}</version>
1074         <scope>test</scope>
1075       </dependency>
1076       <dependency>
1077         <groupId>org.ops4j.pax.exam</groupId>
1078         <artifactId>pax-exam-container-native</artifactId>
1079         <version>${exam.version}</version>
1080         <scope>test</scope>
1081       </dependency>
1082       <dependency>
1083         <groupId>org.ops4j.pax.exam</groupId>
1084         <artifactId>pax-exam-junit4</artifactId>
1085         <version>${exam.version}</version>
1086         <scope>test</scope>
1087       </dependency>
1088       <dependency>
1089         <groupId>org.ops4j.pax.exam</groupId>
1090         <artifactId>pax-exam-link-mvn</artifactId>
1091         <version>${exam.version}</version>
1092         <scope>test</scope>
1093       </dependency>
1094
1095       <dependency>
1096         <groupId>org.ops4j.pax.url</groupId>
1097         <artifactId>pax-url-aether</artifactId>
1098         <version>2.4.7</version>
1099         <scope>test</scope>
1100       </dependency>
1101       <dependency>
1102         <groupId>org.ops4j.pax.url</groupId>
1103         <artifactId>pax-url-wrap</artifactId>
1104         <version>2.4.7</version>
1105       </dependency>
1106       <dependency>
1107         <groupId>org.springframework.osgi</groupId>
1108         <artifactId>spring-osgi-mock</artifactId>
1109         <version>1.2.1</version>
1110         <scope>test</scope>
1111       </dependency>
1112       <dependency>
1113         <groupId>xmlunit</groupId>
1114         <artifactId>xmlunit</artifactId>
1115         <version>1.6</version>
1116         <scope>test</scope>
1117       </dependency>
1118       <dependency>
1119         <groupId>org.eclipse.jetty</groupId>
1120         <artifactId>jetty-client</artifactId>
1121         <version>8.1.19.v20160209</version>
1122       </dependency>
1123       <dependency>
1124         <groupId>org.eclipse.jetty</groupId>
1125         <artifactId>jetty-server</artifactId>
1126         <version>8.1.19.v20160209</version>
1127       </dependency>
1128       <dependency>
1129         <groupId>org.eclipse.jetty</groupId>
1130         <artifactId>jetty-servlet-tester</artifactId>
1131         <version>8.1.19.v20160209</version>
1132         <scope>test</scope>
1133       </dependency>
1134       <dependency>
1135         <groupId>org.eclipse.jetty</groupId>
1136         <artifactId>jetty-servlets</artifactId>
1137         <version>8.1.19.v20160209</version>
1138       </dependency>
1139       <dependency>
1140         <groupId>org.eclipse.jetty</groupId>
1141         <artifactId>jetty-webapp</artifactId>
1142         <version>8.1.19.v20160209</version>
1143       </dependency>
1144       <dependency>
1145         <groupId>org.apache.aries.blueprint</groupId>
1146         <artifactId>org.apache.aries.blueprint.core</artifactId>
1147         <version>1.4.2</version>
1148       </dependency>
1149
1150       <!-- Xtend http://xtend-lang.org
1151            NOTE: When you increase the version here,
1152            then remember to also increase it for the
1153            xtend-maven-plugin below! (We don't want to
1154            use a Maven property, in order not to "leak" that.)
1155        -->
1156       <dependency>
1157           <groupId>org.eclipse.xtend</groupId>
1158           <artifactId>org.eclipse.xtend.lib</artifactId>
1159           <version>2.9.2</version>
1160       </dependency>
1161       <dependency>
1162           <groupId>org.eclipse.xtend</groupId>
1163           <artifactId>org.eclipse.xtend.lib.macro</artifactId>
1164           <version>2.9.2</version>
1165       </dependency>
1166       <dependency>
1167           <groupId>org.eclipse.xtext</groupId>
1168           <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
1169           <version>2.9.2</version>
1170       </dependency>
1171
1172       <!-- Annotations -->
1173       <dependency>
1174         <groupId>javax.inject</groupId>
1175         <artifactId>javax.inject</artifactId>
1176         <version>1</version>
1177       </dependency>
1178
1179       <!-- Cassandra -->
1180       <dependency>
1181         <groupId>com.datastax.cassandra</groupId>
1182         <artifactId>cassandra-driver-core</artifactId>
1183         <version>2.1.9</version>
1184       </dependency>
1185
1186       <!-- Metrics -->
1187       <dependency>
1188         <groupId>io.dropwizard.metrics</groupId>
1189         <artifactId>metrics-core</artifactId>
1190         <version>3.1.2</version>
1191       </dependency>
1192       <dependency>
1193         <groupId>io.dropwizard.metrics</groupId>
1194         <artifactId>metrics-graphite</artifactId>
1195         <version>3.1.2</version>
1196       </dependency>
1197
1198       <!-- Karaf console support -->
1199       <dependency>
1200         <groupId>org.apache.karaf.shell</groupId>
1201         <artifactId>org.apache.karaf.shell.console</artifactId>
1202         <version>${karaf.version}</version>
1203       </dependency>
1204
1205     </dependencies>
1206   </dependencyManagement>
1207
1208   <dependencies>
1209     <!-- Karaf provides SL4FJ encapsulation -->
1210     <dependency>
1211       <groupId>org.slf4j</groupId>
1212       <artifactId>slf4j-api</artifactId>
1213       <scope>provided</scope>
1214     </dependency>
1215
1216     <!-- Enable JSR-305 annotations everywhere -->
1217     <dependency>
1218       <groupId>com.google.code.findbugs</groupId>
1219       <artifactId>jsr305</artifactId>
1220       <scope>provided</scope>
1221     </dependency>
1222   </dependencies>
1223
1224   <build>
1225     <pluginManagement>
1226       <plugins>
1227         <!-- Official maven plugins, alpha-sorted by artifactId.
1228              We do not need to specify the groupId. -->
1229         <plugin>
1230           <artifactId>maven-antrun-plugin</artifactId>
1231           <version>${maven.antrun.plugin.version}</version>
1232         </plugin>
1233         <plugin>
1234           <artifactId>maven-checkstyle-plugin</artifactId>
1235           <version>${checkstyle.version}</version>
1236           <dependencies>
1237             <dependency>
1238               <groupId>com.puppycrawl.tools</groupId>
1239               <artifactId>checkstyle</artifactId>
1240               <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
1241               <version>6.16</version>
1242             </dependency>
1243             <dependency>
1244               <groupId>org.opendaylight.odlparent</groupId>
1245               <artifactId>checkstyle</artifactId>
1246               <version>${odl.checkstyle.version}</version>
1247             </dependency>
1248             <dependency>
1249               <groupId>org.opendaylight.odlparent</groupId>
1250               <artifactId>odl-license</artifactId>
1251               <version>0.2.0-SNAPSHOT</version>
1252             </dependency>
1253             <dependency>
1254               <groupId>com.github.sevntu.checkstyle</groupId>
1255               <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
1256               <version>1.21.0</version>
1257             </dependency>
1258           </dependencies>
1259           <configuration>
1260             <configLocation>odl_checks.xml</configLocation>
1261             <!-- <sourceDirectory> is needed so that checkstyle ignores the
1262                  generated sources directory -->
1263             <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1264             <includeResources>true</includeResources>
1265             <includeTestSourceDirectory>true</includeTestSourceDirectory>
1266             <includeTestResources>true</includeTestResources>
1267             <excludes>
1268               org/opendaylight/yang/gen/**,
1269               **/protobuff/messages/**,
1270               **/thrift/gen/*.java
1271             </excludes>
1272             <failsOnError>false</failsOnError>
1273             <consoleOutput>true</consoleOutput>
1274           </configuration>
1275           <executions>
1276             <execution>
1277               <id>check-license</id>
1278               <goals>
1279                 <goal>check</goal>
1280               </goals>
1281               <phase>process-sources</phase>
1282               <configuration>
1283                 <configLocation>check-license.xml</configLocation>
1284                 <headerLocation>EPL-LICENSE.regexp.txt</headerLocation>
1285                 <includeResources>false</includeResources>
1286                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
1287                 <includeTestResources>false</includeTestResources>
1288                 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1289                 <excludes>
1290                   org/opendaylight/yang/gen/**,
1291                   **/protobuff/messages/**,
1292                   **/thrift/gen/*.java
1293                 </excludes>
1294                 <failsOnError>false</failsOnError>
1295                 <consoleOutput>true</consoleOutput>
1296               </configuration>
1297             </execution>
1298             <execution>
1299               <goals>
1300                 <goal>check</goal>
1301               </goals>
1302               <phase>process-sources</phase>
1303             </execution>
1304           </executions>
1305         </plugin>
1306         <plugin>
1307           <groupId>org.apache.maven.plugins</groupId>
1308           <artifactId>maven-pmd-plugin</artifactId>
1309           <version>3.6</version>
1310           <executions>
1311             <execution>
1312               <id>cpd</id>
1313               <phase>process-sources</phase>
1314               <goals>
1315                 <goal>cpd-check</goal>
1316               </goals>
1317               <configuration>
1318                 <failOnViolation>${pmd.cpd.fail}</failOnViolation>
1319                 <!-- 100 "tokens" here correspond to approx. 5-10 lines of code -->
1320                 <minimumTokens>101</minimumTokens>
1321                 <printFailingErrors>true</printFailingErrors>
1322                 <excludeRoots>
1323                   <!-- FIXME: this should be a wildcard, but PMD is brain-damaged and does
1324                               not understand path prefixes nor wildcards. Details are available
1325                               at http://stackoverflow.com/questions/15647771/pmd-exclude-not-working
1326                               Hence people introducing new generated sources have to include
1327                               PMD config too.
1328                    -->
1329                   <excludeRoot>${basedir}/target/generated-sources</excludeRoot>
1330                 </excludeRoots>
1331                 <linkXRef>false</linkXRef>
1332               </configuration>
1333             </execution>
1334           </executions>
1335         </plugin>
1336         <plugin>
1337           <artifactId>maven-compiler-plugin</artifactId>
1338           <version>${maven.compile.plugin.version}</version>
1339           <configuration>
1340             <source>1.8</source>
1341             <target>1.8</target>
1342             <compilerArgs>
1343               <arg>-parameters</arg>
1344             </compilerArgs>
1345           </configuration>
1346         </plugin>
1347         <plugin>
1348           <artifactId>maven-enforcer-plugin</artifactId>
1349           <version>${enforcer.version}</version>
1350         </plugin>
1351         <plugin>
1352           <artifactId>maven-failsafe-plugin</artifactId>
1353           <version>${failsafe.version}</version>
1354         </plugin>
1355         <plugin>
1356           <artifactId>maven-invoker-plugin</artifactId>
1357           <version>2.0.0</version>
1358         </plugin>
1359         <plugin>
1360           <artifactId>maven-jar-plugin</artifactId>
1361           <version>${maven.jar.version}</version>
1362         </plugin>
1363         <plugin>
1364           <artifactId>maven-dependency-plugin</artifactId>
1365           <version>2.10</version>
1366           <executions>
1367             <execution>
1368               <id>unpack-license</id>
1369               <phase>generate-resources</phase>
1370               <goals><goal>unpack</goal></goals>
1371               <configuration>
1372                 <artifactItems>
1373                   <artifactItem>
1374                     <groupId>org.opendaylight.odlparent</groupId>
1375                     <artifactId>odl-license</artifactId>
1376                     <version>0.2.0-SNAPSHOT</version>
1377                   </artifactItem>
1378                 </artifactItems>
1379                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
1380                 <excludes>META-INF/**</excludes>
1381               </configuration>
1382             </execution>
1383           </executions>
1384         </plugin>
1385
1386         <plugin>
1387           <artifactId>maven-plugin-plugin</artifactId>
1388           <version>${maven.plugin.version}</version>
1389         </plugin>
1390
1391         <plugin>
1392           <artifactId>maven-resources-plugin</artifactId>
1393           <version>3.0.1</version>
1394         </plugin>
1395         <plugin>
1396           <artifactId>maven-shade-plugin</artifactId>
1397           <version>2.4.3</version>
1398         </plugin>
1399         <plugin>
1400           <artifactId>maven-source-plugin</artifactId>
1401           <version>3.0.0</version>
1402           <executions>
1403             <execution>
1404               <id>attach-sources</id>
1405               <phase>verify</phase>
1406               <goals>
1407                 <goal>jar-no-fork</goal>
1408               </goals>
1409             </execution>
1410           </executions>
1411         </plugin>
1412         <plugin>
1413           <artifactId>maven-surefire-plugin</artifactId>
1414           <version>${maven.surefire.version}</version>
1415           <configuration>
1416             <redirectTestOutputToFile>true</redirectTestOutputToFile>
1417           </configuration>
1418         </plugin>
1419
1420         <!-- Third-party plugins, grouped by groupId, alpha-sorted by artifactId -->
1421         <plugin>
1422           <!-- Support Blueprint XML construction using annotations -->
1423           <groupId>org.apache.aries.blueprint</groupId>
1424           <artifactId>blueprint-maven-plugin</artifactId>
1425           <version>1.4.0</version>
1426           <configuration>
1427             <scanPaths>
1428               <scanPath>org.opendaylight</scanPath>
1429             </scanPaths>
1430           </configuration>
1431           <dependencies>
1432             <dependency>
1433               <!-- See https://issues.apache.org/jira/browse/ARIES-1596 -->
1434               <!-- This shouldn't be necessary with plugin version 1.5.0 -->
1435               <groupId>org.apache.xbean</groupId>
1436               <artifactId>xbean-finder-shaded</artifactId>
1437               <version>4.5</version>
1438             </dependency>
1439           </dependencies>
1440           <executions>
1441             <execution>
1442               <goals>
1443                 <goal>blueprint-generate</goal>
1444               </goals>
1445             </execution>
1446           </executions>
1447         </plugin>
1448
1449         <plugin>
1450           <groupId>org.apache.felix</groupId>
1451           <artifactId>maven-bundle-plugin</artifactId>
1452           <version>${maven.bundle.version}</version>
1453           <extensions>true</extensions>
1454         </plugin>
1455
1456         <plugin>
1457           <groupId>org.apache.karaf.tooling</groupId>
1458           <artifactId>karaf-maven-plugin</artifactId>
1459           <version>${karaf.version}</version>
1460         </plugin>
1461
1462         <plugin>
1463           <groupId>org.apache.servicemix.tooling</groupId>
1464           <artifactId>depends-maven-plugin</artifactId>
1465           <version>1.3.1</version>
1466           <executions>
1467             <execution>
1468               <id>generate-depends-file</id>
1469               <goals>
1470                 <goal>generate-depends-file</goal>
1471               </goals>
1472             </execution>
1473           </executions>
1474         </plugin>
1475
1476         <plugin>
1477           <groupId>org.codehaus.enunciate</groupId>
1478           <artifactId>maven-enunciate-plugin</artifactId>
1479           <version>${enunciate.version}</version>
1480         </plugin>
1481         <plugin>
1482           <groupId>com.webcohesion.enunciate</groupId>
1483           <artifactId>enunciate-maven-plugin</artifactId>
1484           <version>2.1.1</version>
1485         </plugin>
1486         <plugin>
1487           <groupId>org.codehaus.groovy.maven</groupId>
1488           <artifactId>gmaven-plugin</artifactId>
1489           <version>1.0</version>
1490         </plugin>
1491         <plugin>
1492           <groupId>org.codehaus.mojo</groupId>
1493           <artifactId>build-helper-maven-plugin</artifactId>
1494           <version>1.10</version>
1495         </plugin>
1496         <plugin>
1497           <groupId>org.codehaus.mojo</groupId>
1498           <artifactId>findbugs-maven-plugin</artifactId>
1499           <version>3.0.3</version>
1500         </plugin>
1501         <plugin>
1502           <groupId>org.codehaus.mojo</groupId>
1503           <artifactId>properties-maven-plugin</artifactId>
1504           <version>${propertymavenplugin.version}</version>
1505         </plugin>
1506         <plugin>
1507           <groupId>org.eclipse.xtend</groupId>
1508           <artifactId>xtend-maven-plugin</artifactId>
1509           <!-- NOTE: This version MUST be kept in sync with the Xtend version in <dependencyManagement> -->
1510           <version>2.9.2</version>
1511           <executions>
1512             <execution>
1513               <goals>
1514                 <goal>compile</goal>
1515                 <goal>testCompile</goal>
1516               </goals>
1517               <configuration>
1518                 <outputDirectory>${project.build.directory}/generated-sources/xtend/main</outputDirectory>
1519                 <testOutputDirectory>${project.build.directory}/generated-sources/xtend/test</testOutputDirectory>
1520               </configuration>
1521             </execution>
1522           </executions>
1523         </plugin>
1524         <plugin>
1525           <groupId>org.eclipse.m2e</groupId>
1526           <artifactId>lifecycle-mapping</artifactId>
1527           <version>1.0.0</version>
1528           <configuration>
1529             <lifecycleMappingMetadata>
1530               <pluginExecutions>
1531                 <pluginExecution>
1532                   <pluginExecutionFilter>
1533                     <groupId>org.apache.felix</groupId>
1534                     <artifactId>maven-bundle-plugin</artifactId>
1535                     <versionRange>[1.0,)</versionRange>
1536                     <goals>
1537                       <goal>manifest</goal>
1538                     </goals>
1539                   </pluginExecutionFilter>
1540                   <action>
1541                     <execute/>
1542                   </action>
1543                 </pluginExecution>
1544                 <pluginExecution>
1545                   <pluginExecutionFilter>
1546                     <groupId>org.apache.maven.plugins</groupId>
1547                     <artifactId>maven-enforcer-plugin</artifactId>
1548                     <versionRange>[1.0.0,)</versionRange>
1549                     <goals>
1550                       <goal>enforce</goal>
1551                     </goals>
1552                   </pluginExecutionFilter>
1553                   <action>
1554                     <ignore/>
1555                   </action>
1556                 </pluginExecution>
1557                 <pluginExecution>
1558                   <pluginExecutionFilter>
1559                     <groupId>org.apache.maven.plugins</groupId>
1560                     <artifactId>maven-dependency-plugin</artifactId>
1561                     <versionRange>[2.10,)</versionRange>
1562                     <goals>
1563                       <goal>unpack</goal>
1564                     </goals>
1565                   </pluginExecutionFilter>
1566                   <action>
1567                     <ignore/>
1568                   </action>
1569                 </pluginExecution>
1570                 <pluginExecution>
1571                   <pluginExecutionFilter>
1572                     <groupId>org.apache.maven.plugins</groupId>
1573                     <artifactId>maven-pmd-plugin</artifactId>
1574                     <versionRange>[3.6,)</versionRange>
1575                     <goals>
1576                       <goal>cpd-check</goal>
1577                     </goals>
1578                   </pluginExecutionFilter>
1579                   <action>
1580                     <ignore/>
1581                   </action>
1582                 </pluginExecution>
1583                 <pluginExecution>
1584                   <pluginExecutionFilter>
1585                     <groupId>org.apache.servicemix.tooling</groupId>
1586                     <artifactId>depends-maven-plugin</artifactId>
1587                     <versionRange>[1.2,)</versionRange>
1588                     <goals>
1589                       <goal>generate-depends-file</goal>
1590                     </goals>
1591                   </pluginExecutionFilter>
1592                   <action>
1593                     <execute/>
1594                   </action>
1595                 </pluginExecution>
1596                 <pluginExecution>
1597                   <pluginExecutionFilter>
1598                     <groupId>org.jacoco</groupId>
1599                     <artifactId>jacoco-maven-plugin</artifactId>
1600                     <versionRange>[0.7.0,)</versionRange>
1601                     <goals>
1602                       <goal>prepare-agent</goal>
1603                       <goal>report</goal>
1604                     </goals>
1605                   </pluginExecutionFilter>
1606                   <action>
1607                     <ignore/>
1608                   </action>
1609                 </pluginExecution>
1610               </pluginExecutions>
1611             </lifecycleMappingMetadata>
1612           </configuration>
1613         </plugin>
1614
1615         <plugin>
1616           <groupId>org.jacoco</groupId>
1617           <artifactId>jacoco-maven-plugin</artifactId>
1618           <version>${jacoco.version}</version>
1619           <configuration>
1620             <!-- Note: This exclusion list should match <sonar.exclusions>
1621                        property above -->
1622             <excludes>
1623               <exclude>**/gen/**</exclude>
1624               <exclude>**/generated-sources/**</exclude>
1625               <exclude>**/yang-gen/**</exclude>
1626               <exclude>**/pax/**</exclude>
1627             </excludes>
1628           </configuration>
1629         </plugin>
1630
1631         <plugin>
1632           <groupId>org.ops4j.pax.exam</groupId>
1633           <artifactId>maven-paxexam-plugin</artifactId>
1634           <version>1.2.4</version>
1635         </plugin>
1636
1637         <plugin>
1638           <groupId>org.codehaus.mojo</groupId>
1639           <artifactId>jdepend-maven-plugin</artifactId>
1640           <version>2.0</version>
1641           <executions>
1642             <execution>
1643               <phase>site</phase>
1644               <goals>
1645                 <goal>generate-no-fork</goal>
1646               </goals>
1647             </execution>
1648           </executions>
1649         </plugin>
1650       </plugins>
1651     </pluginManagement>
1652
1653     <plugins>
1654       <plugin>
1655         <artifactId>maven-enforcer-plugin</artifactId>
1656         <executions>
1657           <execution>
1658             <id>enforce-maven</id>
1659             <configuration>
1660               <rules>
1661                 <requireJavaVersion>
1662                   <version>1.8.0</version>
1663                 </requireJavaVersion>
1664                 <requireMavenVersion>
1665                   <version>[3.3.9,)</version>
1666                 </requireMavenVersion>
1667               </rules>
1668             </configuration>
1669             <goals>
1670               <goal>enforce</goal>
1671             </goals>
1672           </execution>
1673         </executions>
1674       </plugin>
1675       <plugin>
1676         <artifactId>maven-dependency-plugin</artifactId>
1677       </plugin>
1678       <plugin>
1679         <artifactId>maven-checkstyle-plugin</artifactId>
1680       </plugin>
1681       <plugin>
1682           <artifactId>maven-pmd-plugin</artifactId>
1683       </plugin>
1684       <plugin>
1685         <artifactId>maven-source-plugin</artifactId>
1686       </plugin>
1687       <plugin>
1688         <artifactId>maven-javadoc-plugin</artifactId>
1689       </plugin>
1690
1691       <!-- Jacoco / Sonar -->
1692       <plugin>
1693         <groupId>org.jacoco</groupId>
1694         <artifactId>jacoco-maven-plugin</artifactId>
1695         <executions>
1696           <execution>
1697             <id>pre-unit-test</id>
1698             <goals>
1699               <goal>prepare-agent</goal>
1700             </goals>
1701             <configuration>
1702               <destFile>${sonar.jacoco.reportPath}</destFile>
1703             </configuration>
1704           </execution>
1705           <execution>
1706             <id>post-unit-test</id>
1707             <goals>
1708               <goal>report</goal>
1709             </goals>
1710             <configuration>
1711               <dataFile>${sonar.jacoco.reportPath}</dataFile>
1712             </configuration>
1713           </execution>
1714         </executions>
1715       </plugin>
1716
1717       <plugin>
1718         <groupId>com.alexecollins.maven.plugin</groupId>
1719         <artifactId>script-maven-plugin</artifactId>
1720         <version>1.0.0</version>
1721         <executions>
1722            <execution>
1723              <phase>prepare-package</phase>
1724              <goals>
1725                <goal>execute</goal>
1726              </goals>
1727              <configuration>
1728                <script>
1729                  // BeanShell is 2005-ish and thus doesn't support generics, varargs, try-with-resources or lambdas, so:
1730                  // (If we do this kind of inline code in pom.xml more often, we shold have a new simple module in
1731                  //  odl-parent, which has *.java that we compile, and then just depend on it here and call one-line
1732                  //  static class methods only - it will be MUCH easier to write!)
1733                  void copy(File root, String glob, File target) {
1734                      java.nio.file.DirectoryStream dirStream = java.nio.file.Files.newDirectoryStream(root.toPath(), glob);
1735                      Iterator dirStreamIterator = dirStream.iterator();
1736                      while (dirStreamIterator.hasNext()) {
1737                          java.nio.file.Path path = dirStreamIterator.next();
1738                          java.nio.file.Files.copy(path, new File(target, path.toFile().getName()).toPath(),
1739                              new java.nio.file.CopyOption[] {
1740                                  java.nio.file.StandardCopyOption.REPLACE_EXISTING,
1741                                  java.nio.file.StandardCopyOption.COPY_ATTRIBUTES
1742                              }
1743                          );
1744                      }
1745                      dirStream.close();
1746                  }
1747
1748                  File gitRepoRootDir = project.basedir;
1749                  while (!new File(gitRepoRootDir, ".git").exists() &amp;&amp; gitRepoRootDir.getParentFile() != null) {
1750                      gitRepoRootDir = gitRepoRootDir.getParentFile();
1751                  }
1752
1753                  File target = new File(project.build.outputDirectory);
1754                  target.mkdirs();
1755                  copy(gitRepoRootDir, "README*", target);
1756                  copy(gitRepoRootDir, "CONTRIBUTING*", target);
1757                  copy(gitRepoRootDir, "PROJECT_INFO.yaml", target);
1758                </script>
1759              </configuration>
1760            </execution>
1761          </executions>
1762          <dependencies>
1763            <dependency>
1764              <groupId>org.apache-extras.beanshell</groupId>
1765              <artifactId>bsh</artifactId>
1766              <version>2.0b6</version>
1767            </dependency>
1768          </dependencies>
1769       </plugin>
1770
1771       <!-- Blueprint dependency injection -->
1772       <!-- Remove when upgrading to plugin 1.5.0, and use
1773            <configuration><generatedDir>org/opendaylight/blueprint/</...></...> -->
1774       <!-- See https://issues.apache.org/jira/browse/ARIES-1597 -->
1775       <plugin>
1776         <artifactId>maven-antrun-plugin</artifactId>
1777         <executions>
1778           <!-- This should only run once, in the process-classes phase; but we need it to run after
1779                process-classes in child projects. Attaching to process-test-classes and prepare-package
1780                ensures that the file will be moved whether tests are skipped or not. -->
1781           <execution>
1782             <id>move-autowire-test</id>
1783             <phase>process-test-classes</phase>
1784             <goals>
1785               <goal>run</goal>
1786             </goals>
1787             <configuration>
1788               <tasks>
1789                 <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
1790                 <move file="${basedir}/target/generated-resources/OSGI-INF/blueprint/autowire.xml"
1791                       todir="${basedir}/target/generated-resources/org/opendaylight/blueprint"
1792                       failonerror="false" quiet="true" />
1793               </tasks>
1794             </configuration>
1795           </execution>
1796           <execution>
1797             <id>move-autowire-package</id>
1798             <phase>prepare-package</phase>
1799             <goals>
1800               <goal>run</goal>
1801             </goals>
1802             <configuration>
1803               <tasks>
1804                 <echo>Moving autowire.xml to org/opendaylight/blueprint</echo>
1805                 <move file="${basedir}/target/generated-resources/OSGI-INF/blueprint/autowire.xml"
1806                       todir="${basedir}/target/generated-resources/org/opendaylight/blueprint"
1807                       failonerror="false" quiet="true" />
1808               </tasks>
1809             </configuration>
1810           </execution>
1811         </executions>
1812       </plugin>
1813     </plugins>
1814   </build>
1815
1816   <reporting>
1817     <plugins>
1818       <plugin>
1819         <artifactId>maven-checkstyle-plugin</artifactId>
1820         <version>${checkstyle.version}</version>
1821       </plugin>
1822
1823       <!-- FIXME: activate this
1824       <plugin>
1825         <artifactId>maven-project-info-reports-plugin</artifactId>
1826         <version>${projectinfo}</version>
1827       </plugin-->
1828       <plugin>
1829         <groupId>org.codehaus.mojo</groupId>
1830         <artifactId>findbugs-maven-plugin</artifactId>
1831         <configuration>
1832           <effort>Max</effort>
1833           <threshold>Low</threshold>
1834           <goal>site</goal>
1835         </configuration>
1836       </plugin>
1837       <plugin>
1838         <groupId>org.codehaus.mojo</groupId>
1839         <artifactId>jdepend-maven-plugin</artifactId>
1840         <reportSets>
1841           <reportSet>
1842             <reports>
1843               <report>generate-no-fork</report>
1844             </reports>
1845           </reportSet>
1846         </reportSets>
1847       </plugin>
1848       <plugin>
1849         <artifactId>maven-javadoc-plugin</artifactId>
1850         <configuration>
1851           <links>
1852             <link>http://doc.akka.io/japi/akka/${akka.version}/</link>
1853             <link>https://google.github.io/guava/releases/18.0/api/docs/</link>
1854             <link>https://google.github.io/guava/releases/19.0/api/docs/</link>
1855             <link>http://netty.io/4.0/api/</link>
1856           </links>
1857         </configuration>
1858       </plugin>
1859     </plugins>
1860   </reporting>
1861
1862   <!--
1863     Maven Site Configuration
1864
1865     The following configuration is necessary for maven-site-plugin to
1866     correctly identify the correct deployment path for OpenDaylight Maven
1867     sites.
1868   -->
1869   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
1870
1871   <distributionManagement>
1872     <site>
1873       <id>opendaylight-site</id>
1874       <url>${nexus.site.url}/${project.artifactId}/</url>
1875     </site>
1876   </distributionManagement>
1877
1878 </project>