Adopt akka-2.6.x
[neutron.git] / parent / pom.xml
index 7ec9941460d0c1f4055b15c0d87e4ac9cbf812e7..9f445039d0baeddba9e5c55853e507c0c162ced7 100644 (file)
@@ -1,33 +1,32 @@
 <?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.6.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.6.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.2.0-SNAPSHOT</aaa.version>
-    <ietf-yang-types.version>2010.09.24.8-SNAPSHOT</ietf-yang-types.version>
-    <ietf-inet-types.version>2010.09.24.8-SNAPSHOT</ietf-inet-types.version>
-    <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
-    <yang.binding.version>0.8.0-SNAPSHOT</yang.binding.version>
-    <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
-    <yang-ext.version>2013.09.07.8-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>