<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2018 Intel Corporation and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
<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">
<modelVersion>4.0.0</modelVersion>
- <prerequisites>
- <maven>3.1.1</maven>
- </prerequisites>
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
- <version>0.12.0-SNAPSHOT</version>
+ <version>7.0.5</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.neutron</groupId>
<artifactId>project-neutron-parent</artifactId>
- <version>0.10.0-SNAPSHOT</version>
+ <version>0.16.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- <name> formatting is used by autorelease to parse and notify projects on
build failure. Please do not modify this unless you have a good reason. -->
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.opendaylight.infrautils</groupId>
+ <artifactId>infrautils-artifacts</artifactId>
+ <version>1.9.5</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
- <artifactId>mdsal-artifacts</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <artifactId>controller-artifacts</artifactId>
+ <version>3.0.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
+
+ <!-- NEUTRON-197: We need to enforce usage of org.glassfish:javax.json v1.0.4,
+ that exact old version, because only that version includes both packages javax.json.*
+ as well as org.glassfish.json.* (AND THEREFORE THE Class.forName WORKS EVEN UNDER OSGi).
+
+ Newer releases of org.glassfish:javax.json (such as 1.1.2) have (only) the
+ org.glassfish.json packages, with a dep to the separate new javax.json:javax.json-api
+ which contains (only) the javax.json packages; this nicer API / Impl split packaging breaks under OSGi.
+
+ We must also prevent Moxy from dragging along javax.json:javax.json-api
+ to prevent confusing classpath duplicates on javax.json. Moxy changed its policy from directly depending
+ 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.
+
+ The same block is copy/pasted in ../features/parent (that's the
+ neutron-single-feature-parent, not to be confused with this project-neutron-parent);
+ keep any changes made there, or here, in sync with each other. -->
+ <dependency>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>org.eclipse.persistence.moxy</artifactId>
+ <version>2.7.7</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.json</groupId>
+ <artifactId>javax.json-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish</groupId>
+ <artifactId>javax.json</artifactId>
+ <!-- do not touch this version, see above -->
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>1.1.0.Final</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<build>
- <pluginManagement>
- <plugins>
-<!-- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${maven.surefire.version}</version>
- <configuration>
- <argLine>${surefireArgLine}</argLine>
- <skipTests>${skip.unit.tests}</skipTests>
- <excludes>
- <exclude>**/IT*.java</exclude>
- </excludes>
- </configuration>
- </plugin> -->
- </plugins>
- </pluginManagement>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
- </instructions>
- <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <inherited>true</inherited>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
- <compilerArgs>
- <arg>-Xlint:unchecked</arg>
- <arg>-Xlint:deprecation</arg>
- </compilerArgs>
+ <failOnError>true</failOnError>
</configuration>
</plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>deploy</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
-
- <!--
- Maven Site Configuration
-
- The following configuration is necessary for maven-site-plugin to
- correctly identify the correct deployment path for OpenDaylight Maven
- sites.
- -->
- <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
-
- <distributionManagement>
- <site>
- <id>opendaylight-site</id>
- <url>${nexus.site.url}/${project.artifactId}/</url>
- </site>
- </distributionManagement>
</project>