Bug 6730: Upgrade Apache Shiro to the latest compatible release
[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     </dependencies>
1173   </dependencyManagement>
1174
1175   <dependencies>
1176     <!-- Karaf provides SL4FJ encapsulation -->
1177     <dependency>
1178       <groupId>org.slf4j</groupId>
1179       <artifactId>slf4j-api</artifactId>
1180       <scope>provided</scope>
1181     </dependency>
1182
1183     <!-- Enable JSR-305 annotations everywhere -->
1184     <dependency>
1185       <groupId>com.google.code.findbugs</groupId>
1186       <artifactId>jsr305</artifactId>
1187       <scope>provided</scope>
1188     </dependency>
1189   </dependencies>
1190
1191   <build>
1192     <pluginManagement>
1193       <plugins>
1194         <!-- Official maven plugins, alpha-sorted by artifactId.
1195              We do not need to specify the groupId. -->
1196         <plugin>
1197           <artifactId>maven-antrun-plugin</artifactId>
1198           <version>${maven.antrun.plugin.version}</version>
1199         </plugin>
1200         <plugin>
1201           <artifactId>maven-checkstyle-plugin</artifactId>
1202           <version>${checkstyle.version}</version>
1203           <dependencies>
1204             <dependency>
1205               <groupId>com.puppycrawl.tools</groupId>
1206               <artifactId>checkstyle</artifactId>
1207               <!-- This should match the dependency management on com.puppycrawl.tools:checkstyle above -->
1208               <version>6.16</version>
1209             </dependency>
1210             <dependency>
1211               <groupId>org.opendaylight.odlparent</groupId>
1212               <artifactId>checkstyle</artifactId>
1213               <version>${odl.checkstyle.version}</version>
1214             </dependency>
1215             <dependency>
1216               <groupId>org.opendaylight.odlparent</groupId>
1217               <artifactId>odl-license</artifactId>
1218               <version>0.2.0-SNAPSHOT</version>
1219             </dependency>
1220             <dependency>
1221               <groupId>com.github.sevntu.checkstyle</groupId>
1222               <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
1223               <version>1.21.0</version>
1224             </dependency>
1225           </dependencies>
1226           <configuration>
1227             <configLocation>odl_checks.xml</configLocation>
1228             <!-- <sourceDirectory> is needed so that checkstyle ignores the
1229                  generated sources directory -->
1230             <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1231             <includeResources>true</includeResources>
1232             <includeTestSourceDirectory>true</includeTestSourceDirectory>
1233             <includeTestResources>true</includeTestResources>
1234             <excludes>
1235               org/opendaylight/yang/gen/**,
1236               **/protobuff/messages/**,
1237               **/thrift/gen/*.java
1238             </excludes>
1239             <failsOnError>false</failsOnError>
1240             <consoleOutput>true</consoleOutput>
1241           </configuration>
1242           <executions>
1243             <execution>
1244               <id>check-license</id>
1245               <goals>
1246                 <goal>check</goal>
1247               </goals>
1248               <phase>process-sources</phase>
1249               <configuration>
1250                 <configLocation>check-license.xml</configLocation>
1251                 <headerLocation>EPL-LICENSE.regexp.txt</headerLocation>
1252                 <includeResources>false</includeResources>
1253                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
1254                 <includeTestResources>false</includeTestResources>
1255                 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
1256                 <excludes>
1257                   org/opendaylight/yang/gen/**,
1258                   **/protobuff/messages/**,
1259                   **/thrift/gen/*.java
1260                 </excludes>
1261                 <failsOnError>false</failsOnError>
1262                 <consoleOutput>true</consoleOutput>
1263               </configuration>
1264             </execution>
1265             <execution>
1266               <goals>
1267                 <goal>check</goal>
1268               </goals>
1269               <phase>process-sources</phase>
1270             </execution>
1271           </executions>
1272         </plugin>
1273         <plugin>
1274           <groupId>org.apache.maven.plugins</groupId>
1275           <artifactId>maven-pmd-plugin</artifactId>
1276           <version>3.6</version>
1277           <executions>
1278             <execution>
1279               <id>cpd</id>
1280               <phase>process-sources</phase>
1281               <goals>
1282                 <goal>cpd-check</goal>
1283               </goals>
1284               <configuration>
1285                 <failOnViolation>${pmd.cpd.fail}</failOnViolation>
1286                 <!-- 100 "tokens" here correspond to approx. 5-10 lines of code -->
1287                 <minimumTokens>101</minimumTokens>
1288                 <printFailingErrors>true</printFailingErrors>
1289                 <excludeRoots>
1290                   <!-- FIXME: this should be a wildcard, but PMD is brain-damaged and does
1291                               not understand path prefixes nor wildcards. Details are available
1292                               at http://stackoverflow.com/questions/15647771/pmd-exclude-not-working
1293                               Hence people introducing new generated sources have to include
1294                               PMD config too.
1295                    -->
1296                   <excludeRoot>${basedir}/target/generated-sources</excludeRoot>
1297                 </excludeRoots>
1298                 <linkXRef>false</linkXRef>
1299               </configuration>
1300             </execution>
1301           </executions>
1302         </plugin>
1303         <plugin>
1304           <artifactId>maven-compiler-plugin</artifactId>
1305           <version>${maven.compile.plugin.version}</version>
1306           <configuration>
1307             <source>1.8</source>
1308             <target>1.8</target>
1309             <compilerArgs>
1310               <arg>-parameters</arg>
1311             </compilerArgs>
1312           </configuration>
1313         </plugin>
1314         <plugin>
1315           <artifactId>maven-enforcer-plugin</artifactId>
1316           <version>${enforcer.version}</version>
1317         </plugin>
1318         <plugin>
1319           <artifactId>maven-failsafe-plugin</artifactId>
1320           <version>${failsafe.version}</version>
1321         </plugin>
1322         <plugin>
1323           <artifactId>maven-invoker-plugin</artifactId>
1324           <version>2.0.0</version>
1325         </plugin>
1326         <plugin>
1327           <artifactId>maven-jar-plugin</artifactId>
1328           <version>${maven.jar.version}</version>
1329         </plugin>
1330         <plugin>
1331           <artifactId>maven-dependency-plugin</artifactId>
1332           <version>2.10</version>
1333           <executions>
1334             <execution>
1335               <id>unpack-license</id>
1336               <phase>generate-resources</phase>
1337               <goals><goal>unpack</goal></goals>
1338               <configuration>
1339                 <artifactItems>
1340                   <artifactItem>
1341                     <groupId>org.opendaylight.odlparent</groupId>
1342                     <artifactId>odl-license</artifactId>
1343                     <version>0.2.0-SNAPSHOT</version>
1344                   </artifactItem>
1345                 </artifactItems>
1346                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
1347                 <excludes>META-INF/**</excludes>
1348               </configuration>
1349             </execution>
1350           </executions>
1351         </plugin>
1352
1353         <plugin>
1354           <artifactId>maven-plugin-plugin</artifactId>
1355           <version>${maven.plugin.version}</version>
1356         </plugin>
1357
1358         <plugin>
1359           <artifactId>maven-resources-plugin</artifactId>
1360           <version>3.0.1</version>
1361         </plugin>
1362         <plugin>
1363           <artifactId>maven-shade-plugin</artifactId>
1364           <version>2.4.3</version>
1365         </plugin>
1366         <plugin>
1367           <artifactId>maven-source-plugin</artifactId>
1368           <version>3.0.0</version>
1369           <executions>
1370             <execution>
1371               <id>attach-sources</id>
1372               <phase>verify</phase>
1373               <goals>
1374                 <goal>jar-no-fork</goal>
1375               </goals>
1376             </execution>
1377           </executions>
1378         </plugin>
1379         <plugin>
1380           <artifactId>maven-surefire-plugin</artifactId>
1381           <version>${maven.surefire.version}</version>
1382           <configuration>
1383             <redirectTestOutputToFile>true</redirectTestOutputToFile>
1384           </configuration>
1385         </plugin>
1386
1387         <!-- Third-party plugins, grouped by groupId, alpha-sorted by artifactId -->
1388         <plugin>
1389           <groupId>org.apache.felix</groupId>
1390           <artifactId>maven-bundle-plugin</artifactId>
1391           <version>${maven.bundle.version}</version>
1392           <extensions>true</extensions>
1393         </plugin>
1394
1395         <plugin>
1396           <groupId>org.apache.karaf.tooling</groupId>
1397           <artifactId>karaf-maven-plugin</artifactId>
1398           <version>${karaf.version}</version>
1399         </plugin>
1400
1401         <plugin>
1402           <groupId>org.apache.servicemix.tooling</groupId>
1403           <artifactId>depends-maven-plugin</artifactId>
1404           <version>1.3.1</version>
1405           <executions>
1406             <execution>
1407               <id>generate-depends-file</id>
1408               <goals>
1409                 <goal>generate-depends-file</goal>
1410               </goals>
1411             </execution>
1412           </executions>
1413         </plugin>
1414
1415         <plugin>
1416           <groupId>org.codehaus.enunciate</groupId>
1417           <artifactId>maven-enunciate-plugin</artifactId>
1418           <version>${enunciate.version}</version>
1419         </plugin>
1420         <plugin>
1421           <groupId>com.webcohesion.enunciate</groupId>
1422           <artifactId>enunciate-maven-plugin</artifactId>
1423           <version>2.1.1</version>
1424         </plugin>
1425         <plugin>
1426           <groupId>org.codehaus.groovy.maven</groupId>
1427           <artifactId>gmaven-plugin</artifactId>
1428           <version>1.0</version>
1429         </plugin>
1430         <plugin>
1431           <groupId>org.codehaus.mojo</groupId>
1432           <artifactId>build-helper-maven-plugin</artifactId>
1433           <version>1.10</version>
1434         </plugin>
1435         <plugin>
1436           <groupId>org.codehaus.mojo</groupId>
1437           <artifactId>findbugs-maven-plugin</artifactId>
1438           <version>3.0.3</version>
1439         </plugin>
1440         <plugin>
1441           <groupId>org.codehaus.mojo</groupId>
1442           <artifactId>properties-maven-plugin</artifactId>
1443           <version>${propertymavenplugin.version}</version>
1444         </plugin>
1445         <plugin>
1446           <groupId>org.eclipse.xtend</groupId>
1447           <artifactId>xtend-maven-plugin</artifactId>
1448           <!-- NOTE: This version MUST be kept in sync with the Xtend version in <dependencyManagement> -->
1449           <version>2.9.2</version>
1450           <executions>
1451             <execution>
1452               <goals>
1453                 <goal>compile</goal>
1454                 <goal>testCompile</goal>
1455               </goals>
1456               <configuration>
1457                 <outputDirectory>${project.build.directory}/generated-sources/xtend/main</outputDirectory>
1458                 <testOutputDirectory>${project.build.directory}/generated-sources/xtend/test</testOutputDirectory>
1459               </configuration>
1460             </execution>
1461           </executions>
1462         </plugin>
1463         <plugin>
1464           <groupId>org.eclipse.m2e</groupId>
1465           <artifactId>lifecycle-mapping</artifactId>
1466           <version>1.0.0</version>
1467           <configuration>
1468             <lifecycleMappingMetadata>
1469               <pluginExecutions>
1470                 <pluginExecution>
1471                   <pluginExecutionFilter>
1472                     <groupId>org.apache.felix</groupId>
1473                     <artifactId>maven-bundle-plugin</artifactId>
1474                     <versionRange>[1.0,)</versionRange>
1475                     <goals>
1476                       <goal>manifest</goal>
1477                     </goals>
1478                   </pluginExecutionFilter>
1479                   <action>
1480                     <execute/>
1481                   </action>
1482                 </pluginExecution>
1483                 <pluginExecution>
1484                   <pluginExecutionFilter>
1485                     <groupId>org.apache.maven.plugins</groupId>
1486                     <artifactId>maven-enforcer-plugin</artifactId>
1487                     <versionRange>[1.0.0,)</versionRange>
1488                     <goals>
1489                       <goal>enforce</goal>
1490                     </goals>
1491                   </pluginExecutionFilter>
1492                   <action>
1493                     <ignore/>
1494                   </action>
1495                 </pluginExecution>
1496                 <pluginExecution>
1497                   <pluginExecutionFilter>
1498                     <groupId>org.apache.maven.plugins</groupId>
1499                     <artifactId>maven-dependency-plugin</artifactId>
1500                     <versionRange>[2.10,)</versionRange>
1501                     <goals>
1502                       <goal>unpack</goal>
1503                     </goals>
1504                   </pluginExecutionFilter>
1505                   <action>
1506                     <ignore/>
1507                   </action>
1508                 </pluginExecution>
1509                 <pluginExecution>
1510                   <pluginExecutionFilter>
1511                     <groupId>org.apache.maven.plugins</groupId>
1512                     <artifactId>maven-pmd-plugin</artifactId>
1513                     <versionRange>[3.6,)</versionRange>
1514                     <goals>
1515                       <goal>cpd-check</goal>
1516                     </goals>
1517                   </pluginExecutionFilter>
1518                   <action>
1519                     <ignore/>
1520                   </action>
1521                 </pluginExecution>
1522                 <pluginExecution>
1523                   <pluginExecutionFilter>
1524                     <groupId>org.apache.servicemix.tooling</groupId>
1525                     <artifactId>depends-maven-plugin</artifactId>
1526                     <versionRange>[1.2,)</versionRange>
1527                     <goals>
1528                       <goal>generate-depends-file</goal>
1529                     </goals>
1530                   </pluginExecutionFilter>
1531                   <action>
1532                     <execute/>
1533                   </action>
1534                 </pluginExecution>
1535                 <pluginExecution>
1536                   <pluginExecutionFilter>
1537                     <groupId>org.jacoco</groupId>
1538                     <artifactId>jacoco-maven-plugin</artifactId>
1539                     <versionRange>[0.7.0,)</versionRange>
1540                     <goals>
1541                       <goal>prepare-agent</goal>
1542                       <goal>report</goal>
1543                     </goals>
1544                   </pluginExecutionFilter>
1545                   <action>
1546                     <ignore/>
1547                   </action>
1548                 </pluginExecution>
1549               </pluginExecutions>
1550             </lifecycleMappingMetadata>
1551           </configuration>
1552         </plugin>
1553
1554         <plugin>
1555           <groupId>org.jacoco</groupId>
1556           <artifactId>jacoco-maven-plugin</artifactId>
1557           <version>${jacoco.version}</version>
1558           <configuration>
1559             <!-- Note: This exclusion list should match <sonar.exclusions>
1560                        property above -->
1561             <excludes>
1562               <exclude>**/gen/**</exclude>
1563               <exclude>**/generated-sources/**</exclude>
1564               <exclude>**/yang-gen/**</exclude>
1565               <exclude>**/pax/**</exclude>
1566             </excludes>
1567           </configuration>
1568         </plugin>
1569
1570         <plugin>
1571           <groupId>org.ops4j.pax.exam</groupId>
1572           <artifactId>maven-paxexam-plugin</artifactId>
1573           <version>1.2.4</version>
1574         </plugin>
1575
1576         <plugin>
1577           <groupId>org.codehaus.mojo</groupId>
1578           <artifactId>jdepend-maven-plugin</artifactId>
1579           <version>2.0</version>
1580           <executions>
1581             <execution>
1582               <phase>site</phase>
1583               <goals>
1584                 <goal>generate-no-fork</goal>
1585               </goals>
1586             </execution>
1587           </executions>
1588         </plugin>
1589       </plugins>
1590     </pluginManagement>
1591
1592     <plugins>
1593       <plugin>
1594         <artifactId>maven-enforcer-plugin</artifactId>
1595         <executions>
1596           <execution>
1597             <id>enforce-maven</id>
1598             <configuration>
1599               <rules>
1600                 <requireJavaVersion>
1601                   <version>1.8.0</version>
1602                 </requireJavaVersion>
1603                 <requireMavenVersion>
1604                   <version>[3.2.5,)</version>
1605                 </requireMavenVersion>
1606               </rules>
1607             </configuration>
1608             <goals>
1609               <goal>enforce</goal>
1610             </goals>
1611           </execution>
1612         </executions>
1613       </plugin>
1614       <plugin>
1615         <artifactId>maven-dependency-plugin</artifactId>
1616       </plugin>
1617       <plugin>
1618         <artifactId>maven-checkstyle-plugin</artifactId>
1619       </plugin>
1620       <plugin>
1621           <artifactId>maven-pmd-plugin</artifactId>
1622       </plugin>
1623       <plugin>
1624         <artifactId>maven-source-plugin</artifactId>
1625       </plugin>
1626       <plugin>
1627         <artifactId>maven-javadoc-plugin</artifactId>
1628       </plugin>
1629
1630       <!-- Jacoco / Sonar -->
1631       <plugin>
1632         <groupId>org.jacoco</groupId>
1633         <artifactId>jacoco-maven-plugin</artifactId>
1634         <executions>
1635           <execution>
1636             <id>pre-unit-test</id>
1637             <goals>
1638               <goal>prepare-agent</goal>
1639             </goals>
1640             <configuration>
1641               <destFile>${sonar.jacoco.reportPath}</destFile>
1642             </configuration>
1643           </execution>
1644           <execution>
1645             <id>post-unit-test</id>
1646             <goals>
1647               <goal>report</goal>
1648             </goals>
1649             <configuration>
1650               <dataFile>${sonar.jacoco.reportPath}</dataFile>
1651             </configuration>
1652           </execution>
1653         </executions>
1654       </plugin>
1655
1656       <plugin>
1657         <groupId>com.alexecollins.maven.plugin</groupId>
1658         <artifactId>script-maven-plugin</artifactId>
1659         <version>1.0.0</version>
1660         <executions>
1661            <execution>
1662              <phase>prepare-package</phase>
1663              <goals>
1664                <goal>execute</goal>
1665              </goals>
1666              <configuration>
1667                <script>
1668                  // BeanShell is 2005-ish and thus doesn't support generics, varargs, try-with-resources or lambdas, so:
1669                  // (If we do this kind of inline code in pom.xml more often, we shold have a new simple module in
1670                  //  odl-parent, which has *.java that we compile, and then just depend on it here and call one-line
1671                  //  static class methods only - it will be MUCH easier to write!)
1672                  void copy(File root, String glob, File target) {
1673                      java.nio.file.DirectoryStream dirStream = java.nio.file.Files.newDirectoryStream(root.toPath(), glob);
1674                      Iterator dirStreamIterator = dirStream.iterator();
1675                      while (dirStreamIterator.hasNext()) {
1676                          java.nio.file.Path path = dirStreamIterator.next();
1677                          java.nio.file.Files.copy(path, new File(target, path.toFile().getName()).toPath(),
1678                              new java.nio.file.CopyOption[] {
1679                                  java.nio.file.StandardCopyOption.REPLACE_EXISTING,
1680                                  java.nio.file.StandardCopyOption.COPY_ATTRIBUTES
1681                              }
1682                          );
1683                      }
1684                      dirStream.close();
1685                  }
1686
1687                  File gitRepoRootDir = project.basedir;
1688                  while (!new File(gitRepoRootDir, ".git").exists() &amp;&amp; gitRepoRootDir.getParentFile() != null) {
1689                      gitRepoRootDir = gitRepoRootDir.getParentFile();
1690                  }
1691
1692                  File target = new File(project.build.outputDirectory);
1693                  target.mkdirs();
1694                  copy(gitRepoRootDir, "README*", target);
1695                  copy(gitRepoRootDir, "CONTRIBUTING*", target);
1696                  copy(gitRepoRootDir, "PROJECT_INFO.yaml", target);
1697                </script>
1698              </configuration>
1699            </execution>
1700          </executions>
1701          <dependencies>
1702            <dependency>
1703              <groupId>org.apache-extras.beanshell</groupId>
1704              <artifactId>bsh</artifactId>
1705              <version>2.0b6</version>
1706            </dependency>
1707          </dependencies>
1708       </plugin>
1709     </plugins>
1710   </build>
1711
1712   <reporting>
1713     <plugins>
1714       <plugin>
1715         <artifactId>maven-checkstyle-plugin</artifactId>
1716         <version>${checkstyle.version}</version>
1717       </plugin>
1718
1719       <!-- FIXME: activate this
1720       <plugin>
1721         <artifactId>maven-project-info-reports-plugin</artifactId>
1722         <version>${projectinfo}</version>
1723       </plugin-->
1724       <plugin>
1725         <groupId>org.codehaus.mojo</groupId>
1726         <artifactId>findbugs-maven-plugin</artifactId>
1727         <configuration>
1728           <effort>Max</effort>
1729           <threshold>Low</threshold>
1730           <goal>site</goal>
1731         </configuration>
1732       </plugin>
1733       <plugin>
1734         <groupId>org.codehaus.mojo</groupId>
1735         <artifactId>jdepend-maven-plugin</artifactId>
1736         <reportSets>
1737           <reportSet>
1738             <reports>
1739               <report>generate-no-fork</report>
1740             </reports>
1741           </reportSet>
1742         </reportSets>
1743       </plugin>
1744       <plugin>
1745         <artifactId>maven-javadoc-plugin</artifactId>
1746         <configuration>
1747           <links>
1748             <link>http://doc.akka.io/japi/akka/${akka.version}/</link>
1749             <link>https://google.github.io/guava/releases/18.0/api/docs/</link>
1750             <link>https://google.github.io/guava/releases/19.0/api/docs/</link>
1751             <link>http://netty.io/4.0/api/</link>
1752           </links>
1753         </configuration>
1754       </plugin>
1755     </plugins>
1756   </reporting>
1757
1758   <!--
1759     Maven Site Configuration
1760
1761     The following configuration is necessary for maven-site-plugin to
1762     correctly identify the correct deployment path for OpenDaylight Maven
1763     sites.
1764   -->
1765   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
1766
1767   <distributionManagement>
1768     <site>
1769       <id>opendaylight-site</id>
1770       <url>${nexus.site.url}/${project.artifactId}/</url>
1771     </site>
1772   </distributionManagement>
1773
1774 </project>