Place native libraries in the location expected by TF Java

The Java loader now expects libtensorflow_framework.so to be named
libtensorflow_framework.so.<majorVersion>. This change alters the Maven
release process to honor that expectation.

PiperOrigin-RevId: 260783375
This commit is contained in:
James Ring 2019-07-30 13:30:31 -07:00 committed by TensorFlower Gardener
parent 88f5009af7
commit aa6702aa1c

View File

@ -85,6 +85,21 @@ download_libtensorflow_jni() {
curl -L "${RELEASE_URL_PREFIX}/libtensorflow_jni-cpu-darwin-x86_64-${TF_VERSION}.tar.gz" | tar -xvz -C darwin-x86_64
curl -L "${RELEASE_URL_PREFIX}/libtensorflow_jni-cpu-windows-x86_64-${TF_VERSION}.zip" -o /tmp/windows.zip
# Get rid of symlinks, those are not supported by jar. As of tensorflow 1.14,
# libtensorflow_jni.so expects to find
# libtensorflow_framework.so.<majorVersion>.
MAJOR_VERSION="${TF_VERSION/\.*/}"
FRAMEWORK_SO="$(readlink -f linux-x86_64/libtensorflow_framework.so)"
rm linux-x86_64/libtensorflow_framework.so
rm "linux-x86_64/libtensorflow_framework.so.${MAJOR_VERSION}"
mv "${FRAMEWORK_SO}" "linux-x86_64/libtensorflow_framework.so.${MAJOR_VERSION}"
FRAMEWORK_DYLIB="$(readlink -f darwin-x86_64/libtensorflow_framework.dylib)"
rm darwin-x86_64/libtensorflow_framework.dylib
rm "darwin-x86_64/libtensorflow_framework.${MAJOR_VERSION}.dylib"
mv "${FRAMEWORK_DYLIB}" "darwin-x86_64/libtensorflow_framework.${MAJOR_VERSION}.dylib"
unzip /tmp/windows.zip -d windows-x86_64
rm -f /tmp/windows.zip
# Updated timestamps seem to be required to get Maven to pick up the file.