summaryrefslogtreecommitdiffstats
path: root/jvpp
diff options
context:
space:
mode:
Diffstat (limited to 'jvpp')
-rwxr-xr-xjvpp/common.sh24
-rwxr-xr-xjvpp/install_from_package.sh25
-rwxr-xr-xjvpp/install_from_vpp_build_dir.sh26
3 files changed, 75 insertions, 0 deletions
diff --git a/jvpp/common.sh b/jvpp/common.sh
new file mode 100755
index 000000000..456270635
--- /dev/null
+++ b/jvpp/common.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# Installs jvpp jar to local maven repository.
+#
+# $1 - jvpp jar file path
+# $1 - target artifact version
+#
+function install_jvpp_jar {
+ jarfile=$1
+ version=$2
+
+ # Filename (includes version suffix), e.g. jvpp-core-18.01
+ basefile=$(basename -s .jar "$jarfile")
+
+ # Remove version suffix
+ artifactId=$(echo "$basefile" | rev | cut -d '-' -f 2- | rev)
+
+ mvn install:install-file \
+ -Dfile=$jarfile \
+ -DgroupId=io.fd.vpp \
+ -DartifactId=$artifactId \
+ -Dversion=$version \
+ -Dpackaging=jar
+}
diff --git a/jvpp/install_from_package.sh b/jvpp/install_from_package.sh
new file mode 100755
index 000000000..f196f3ab0
--- /dev/null
+++ b/jvpp/install_from_package.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Installs jvpp jars from vpp-api-java package to local maven repository.
+# Use before building hc2vpp to make sure it matches installed vpp.
+# Not needed when using honeycomb package from nexus.fd.io
+# (compatible vpp version is given as package dependency).
+
+DIR_NAME=$(dirname $0)
+source ${DIR_NAME}/common.sh
+
+# Directory used by vpp-api-java package
+JAR_DIR="/usr/share/java/"
+echo "Installing vpp-api-java package jars from $JAR_DIR"
+
+JARS=$(find "$JAR_DIR" -type f -iname 'jvpp-*.jar')
+echo "Found:"
+echo "$JARS"
+
+JVPP_VERSION=`$DIR_NAME/../jvpp-version`
+echo "Target jvpp version: $JVPP_VERSION"
+
+for i in ${JARS}
+do
+ install_jvpp_jar "$i" "JVPP_VERSION"
+done \ No newline at end of file
diff --git a/jvpp/install_from_vpp_build_dir.sh b/jvpp/install_from_vpp_build_dir.sh
new file mode 100755
index 000000000..06c1b1bff
--- /dev/null
+++ b/jvpp/install_from_vpp_build_dir.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# Installs jvpp jars from vpp build dir to local maven repository.
+# Use before building hc2vpp to make sure it matches your locally-built vpp.
+# Not needed when using honeycomb package from nexus.fd.io
+# (compatible vpp version is given as package dependency).
+
+DIR_NAME=$(dirname $0)
+source ${DIR_NAME}/common.sh
+
+# Set VPP_DIR if not defined
+DEFAULT_VPP_DIR="$HOME/vpp"
+VPP_DIR=${VPP_DIR:-"$DEFAULT_VPP_DIR"}
+echo "Installing jvpp jars from VPP_DIR=$VPP_DIR"
+
+JARS="$(find "$VPP_DIR/build-root/install-vpp-native/vpp/share/java/" -type f -iname 'jvpp-*.jar')"
+echo "Found:"
+echo "$JARS"
+
+JVPP_VERSION=`$DIR_NAME/../jvpp-version`
+echo "Target jvpp version: $JVPP_VERSION"
+
+for i in ${JARS}
+do
+ install_jvpp_jar "$i" "JVPP_VERSION"
+done \ No newline at end of file