<?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.0</maven>
- </prerequisites>
<parent>
- <groupId>org.opendaylight.odlparent</groupId>
- <artifactId>odlparent</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>7.0.5</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.neutron</groupId>
<artifactId>project-neutron-parent</artifactId>
- <version>0.7.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. -->
+ <name>ODL :: neutron :: ${project.artifactId}</name>
<properties>
- <aaa.version>0.3.0-SNAPSHOT</aaa.version>
- <ietf-yang-types.version>2010.09.24.9-SNAPSHOT</ietf-yang-types.version>
- <ietf-inet-types.version>2010.09.24.9-SNAPSHOT</ietf-inet-types.version>
- <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
- <yang.binding.version>0.9.0-SNAPSHOT</yang.binding.version>
- <yangtools.version>0.9.0-SNAPSHOT</yangtools.version>
- <yang-ext.version>2013.09.07.9-SNAPSHOT</yang-ext.version>
<sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>
<sonar.jacoco.itReportPath>../target/jacoco-it.exec</sonar.jacoco.itReportPath>
- <checkstyle.location>${project.build.resources[0].directory}</checkstyle.location>
</properties>
<scm>
<connection>scm:git:ssh://git.opendaylight.org:29418/neutron.git</connection>
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.opendaylight.mdsal</groupId>
- <artifactId>yang-binding</artifactId>
- <version>${yang.binding.version}</version>
+ <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.yangtools</groupId>
- <artifactId>yang-common</artifactId>
- <version>${yang.binding.version}</version>
+ <groupId>org.opendaylight.controller</groupId>
+ <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.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-inet-types</artifactId>
- <version>${ietf-inet-types.version}</version>
+ <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.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types</artifactId>
- <version>${ietf-yang-types.version}</version>
+ <groupId>org.glassfish</groupId>
+ <artifactId>javax.json</artifactId>
+ <!-- do not touch this version, see above -->
+ <version>1.0.4</version>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>yang-ext</artifactId>
- <version>${yang-ext.version}</version>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>1.1.0.Final</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <configLocation>${checkstyle.location}/java_rules.xml</configLocation>
- <excludes>org/opendaylight/yang/gen/**,**/yang/**</excludes>
- <consoleOutput>true</consoleOutput>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- <phase>process-sources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- <version>${yangtools.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>${maven.bundle.version}</version>
- </plugin>
-<!-- <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>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
+ <artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
- <instructions>
- <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
- </instructions>
- <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
+ <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
</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>
- <source>1.7</source>
- <target>1.7</target>
+ <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>
</project>