BUG-8923: package javassist in a feature 76/61176/3
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 4 Aug 2017 14:08:28 +0000 (16:08 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 4 Aug 2017 17:26:37 +0000 (19:26 +0200)
Javassist is an optional dependency to netty and is required by
binding mdsal. This can lead to re-wires when mdsal is pulled in
after anything using odl-netty-4 is installed.

Change-Id: Ia5135dfd27dd6227d9897d1a2ab24e0078673d8c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit e1b90dbbcdf55251192c2bf5b34c5a6f61e58590)

features/features-odlparent/pom.xml
features/odl-javassist-3/pom.xml [new file with mode: 0644]
features/odl-javassist-3/src/main/history/dependencies.xml [new file with mode: 0644]
features/odl-netty-4/pom.xml
features/odl-netty-4/src/main/history/dependencies.xml
features/pom.xml
odlparent-artifacts/pom.xml

index da5594ae482eef011ffc04189aa107c15f45aaf1..bb710678480198250027d84846f25f66f35d3f1d 100644 (file)
             <type>xml</type>
         </dependency>
 
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-javassist-3</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>odl-lmax-3</artifactId>
diff --git a/features/odl-javassist-3/pom.xml b/features/odl-javassist-3/pom.xml
new file mode 100644 (file)
index 0000000..4070f11
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright © 2016 Red Hat, Inc. 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>
+
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>single-feature-parent</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../../single-feature-parent</relativePath>
+    </parent>
+
+    <groupId>org.opendaylight.odlparent</groupId>
+    <artifactId>odl-javassist-3</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+
+    <name>OpenDaylight :: Javassist</name>
+
+    <properties>
+        <checkDependencyChange>true</checkDependencyChange>
+        <failOnDependencyChange>true</failOnDependencyChange>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+        </dependency>
+    </dependencies>
+
+    <!--
+        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>
diff --git a/features/odl-javassist-3/src/main/history/dependencies.xml b/features/odl-javassist-3/src/main/history/dependencies.xml
new file mode 100644 (file)
index 0000000..4088875
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-javassist-3">
+    <feature version="0.0.0">
+        <bundle>mvn:org.javassist/javassist/3.21.0-GA</bundle>
+    </feature>
+</features>
index f869e17db34976c3cc8efb1ac8eea412bad51ea4..9ba0b00d36d06e400c59efec6075bd70d0fc4eef 100644 (file)
             <artifactId>netty-transport-native-epoll</artifactId>
             <classifier>linux-x86_64</classifier>
         </dependency>
+
+        <!-- netty-common has an optional dependency on javassist, which boosts performance
+             of matchers. We want to force that dependency to be satisfied to prevent refreshes. -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>odl-javassist-3</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
     </dependencies>
 
     <!--
index d70275e8f240f347b3ba4ceae41b81eebbdb8de4..da18055695defd3c211c68c51914af54d4f9c16d 100644 (file)
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netty-4">
     <feature version="0.0.0">
+        <feature prerequisite="false" dependency="false">odl-javassist-3</feature>
         <bundle>mvn:io.netty/netty-buffer/4.1.13.Final</bundle>
         <bundle>mvn:io.netty/netty-codec-http/4.1.13.Final</bundle>
         <bundle>mvn:io.netty/netty-codec/4.1.13.Final</bundle>
index 6607500cfac6760b5caddf19ada76d6431258a5c..7194cb4cfd1276c944981356043b3bae6594a844 100644 (file)
@@ -41,6 +41,7 @@
         <!-- General features -->
         <module>features-odlparent</module>
         <module>odl-guava-22</module>
+        <module>odl-javassist-3</module>
         <module>odl-lmax-3</module>
         <module>odl-netty-4</module>
 
index 1066c133ef257936a8d072f56862bfcc29ac7c9f..914158498e94c96f1d0161c05275c5e12bb469f1 100644 (file)
                 <classifier>features</classifier>
                 <type>xml</type>
             </dependency>
+            <dependency>
+                <groupId>org.opendaylight.odlparent</groupId>
+                <artifactId>odl-javassist-3</artifactId>
+                <version>${project.version}</version>
+                <classifier>features</classifier>
+                <type>xml</type>
+            </dependency>
             <dependency>
                 <groupId>org.opendaylight.odlparent</groupId>
                 <artifactId>odl-lmax-3</artifactId>