Bump mdsal to 4.0.4
[neutron.git] / parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright (c) 2018 Intel Corporation and others. All rights reserved.
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  and is available at http://www.eclipse.org/legal/epl-v10.html
8 -->
9 <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">
10   <modelVersion>4.0.0</modelVersion>
11
12   <parent>
13     <groupId>org.opendaylight.mdsal</groupId>
14     <artifactId>binding-parent</artifactId>
15     <version>4.0.4</version>
16     <relativePath/>
17   </parent>
18
19   <groupId>org.opendaylight.neutron</groupId>
20   <artifactId>project-neutron-parent</artifactId>
21   <version>0.14.0-SNAPSHOT</version>
22   <packaging>pom</packaging>
23   <!-- <name> formatting is used by autorelease to parse and notify projects on
24        build failure. Please do not modify this unless you have a good reason. -->
25   <name>ODL :: neutron :: ${project.artifactId}</name>
26
27   <properties>
28     <sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>
29     <sonar.jacoco.itReportPath>../target/jacoco-it.exec</sonar.jacoco.itReportPath>
30   </properties>
31   <scm>
32     <connection>scm:git:ssh://git.opendaylight.org:29418/neutron.git</connection>
33     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/neutron.git</developerConnection>
34     <tag>HEAD</tag>
35   </scm>
36
37   <dependencyManagement>
38     <dependencies>
39       <dependency>
40         <groupId>org.opendaylight.infrautils</groupId>
41         <artifactId>infrautils-artifacts</artifactId>
42         <version>1.7.0-SNAPSHOT</version>
43         <type>pom</type>
44         <scope>import</scope>
45       </dependency>
46       <dependency>
47         <groupId>org.opendaylight.controller</groupId>
48         <artifactId>mdsal-artifacts</artifactId>
49         <version>1.11.0-SNAPSHOT</version>
50         <type>pom</type>
51         <scope>import</scope>
52       </dependency>
53
54       <!-- NEUTRON-197: We need to enforce usage of org.glassfish:javax.json v1.0.4,
55            that exact old version, because only that version includes both packages javax.json.*
56            as well as org.glassfish.json.* (AND THEREFORE THE Class.forName WORKS EVEN UNDER OSGi).
57
58            Newer releases of org.glassfish:javax.json (such as 1.1.2) have (only) the
59            org.glassfish.json packages, with a dep to the separate new javax.json:javax.json-api
60            which contains (only) the javax.json packages; this nicer API / Impl split packaging breaks under OSGi.
61
62            We must also prevent Moxy from dragging along javax.json:javax.json-api
63            to prevent confusing classpath duplicates on javax.json.  Moxy changed its policy from directly depending
64            on org.glassfish:javax.json 1.0.4 in its 2.7.1 to depending on javax.json:javax.json-api since 2.7.3.
65
66            The same block is copy/pasted in ../features/parent (that's the
67            neutron-single-feature-parent, not to be confused with this project-neutron-parent);
68            keep any changes made there, or here, in sync with each other. -->
69       <dependency>
70          <groupId>org.eclipse.persistence</groupId>
71          <artifactId>org.eclipse.persistence.moxy</artifactId>
72          <!-- This is the same version (of EclipseLink) currently used in odlparent (4.0.2);
73               we just have to repeat it here because, apparently, Maven is too dumb to inherit
74               the version from a dependencyManagement in a parent POM to the dependencyManagement here.
75               (The alternative to repeat the exclusion below in each Neutron project is much worse.) -->
76          <version>2.7.3</version>
77          <exclusions>
78            <exclusion>
79              <groupId>javax.json</groupId>
80              <artifactId>javax.json-api</artifactId>
81            </exclusion>
82          </exclusions>
83       </dependency>
84       <dependency>
85         <groupId>org.glassfish</groupId>
86         <artifactId>javax.json</artifactId>
87         <!-- do not touch this version, see above -->
88         <version>1.0.4</version>
89       </dependency>
90     </dependencies>
91   </dependencyManagement>
92
93   <build>
94     <plugins>
95       <plugin>
96         <artifactId>maven-checkstyle-plugin</artifactId>
97         <configuration>
98           <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
99         </configuration>
100       </plugin>
101       <plugin>
102         <groupId>com.github.spotbugs</groupId>
103         <artifactId>spotbugs-maven-plugin</artifactId>
104         <configuration>
105           <failOnError>true</failOnError>
106         </configuration>
107       </plugin>
108     </plugins>
109   </build>
110 </project>