Work around for Kryo 1,2 incompatibility
* Kryo 2 can be accessed by package com.esotericsoftware.kryo2
diff --git a/.gitignore b/.gitignore
index f8dcd13..dd8d359 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,6 @@
.pydevproject
target
onos-logs
-onos.log
\ No newline at end of file
+onos.log
+repo
+
diff --git a/kryo2/.gitignore b/kryo2/.gitignore
new file mode 100644
index 0000000..916e17c
--- /dev/null
+++ b/kryo2/.gitignore
@@ -0,0 +1 @@
+dependency-reduced-pom.xml
diff --git a/kryo2/pom.xml b/kryo2/pom.xml
new file mode 100644
index 0000000..1beb87d
--- /dev/null
+++ b/kryo2/pom.xml
@@ -0,0 +1,68 @@
+<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>
+
+ <groupId>net.onrc.onos</groupId>
+ <artifactId>kryo2</artifactId>
+ <version>2.22</version>
+ <packaging>jar</packaging>
+
+ <name>kyro2</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.esotericsoftware.kryo</groupId>
+ <artifactId>kryo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <relocations>
+ <relocation>
+ <pattern>com.esotericsoftware.kryo</pattern>
+ <shadedPattern>com.esotericsoftware.kryo2</shadedPattern>
+ <excludes>
+ </excludes>
+ </relocation>
+ </relocations>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2.1</version>
+ <executions>
+ <execution>
+ <id>kryo2</id>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <executable>mvn</executable>
+ <commandlineArgs>install:install-file -DlocalRepositoryPath=${basedir}/../repo -DcreateChecksum=true -Dpackaging=jar -Dfile=${basedir}/target/${project.build.finalName}.jar -DgroupId=${project.groupId} -DartifactId=${project.artifactId} -Dversion=${project.version}</commandlineArgs>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/pom.xml b/pom.xml
index 002ba60..0e226d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,12 @@
<enabled>false</enabled>
</snapshots>
</repository>
+ <!-- In Project repository -->
+ <repository>
+ <id>in-project</id>
+ <name>In Project Repo</name>
+ <url>file://${project.basedir}/repo</url>
+ </repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -218,6 +224,18 @@
</plugins>
</reporting>
<dependencies>
+ <!--
+ <dependency>
+ <groupId>com.esotericsoftware.kryo</groupId>
+ <artifactId>kryo</artifactId>
+ <version>2.22</version>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>net.onrc.onos</groupId>
+ <artifactId>kryo2</artifactId>
+ <version>2.22</version>
+ </dependency>
<!-- ONOS's direct dependencies -->
<dependency>
<groupId>org.apache.cassandra</groupId>
diff --git a/setup-local-maven.sh b/setup-local-maven.sh
index 3a2538c..371d50f 100755
--- a/setup-local-maven.sh
+++ b/setup-local-maven.sh
@@ -4,6 +4,9 @@
MVN="mvn"
fi
+# Kryo2 workaround
+${MVN} -f kryo2/pom.xml package exec:exec
+
${MVN} install:install-file -Dfile=./lib/curator-framework-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-framework -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true
${MVN} install:install-file -Dfile=./lib/curator-client-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-client -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true
${MVN} install:install-file -Dfile=./lib/curator-recipes-1.3.5-SNAPSHOT.jar -DgroupId=com.netflix.curator -DartifactId=curator-recipes -Dversion=1.3.5-SNAPSHOT -Dpackaging=jar -DgeneratePom=true