diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4f22bf4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: generic + +os: + - linux + - osx + - windows +osx_image: xcode10.1 + +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_TOKEN + keep-history: true + local-dir: out + repo: ErnyTech/JTDLib-Pages + on: + branch: master + +script: + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then bash travis/linux.sh; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then bash travis/mac.sh; fi + - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then bash travis/win.sh; fi diff --git a/travis/linux.sh b/travis/linux.sh new file mode 100644 index 0000000..1fcdf0b --- /dev/null +++ b/travis/linux.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Build deps +sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y +sudo apt-get update -qq +sudo apt-get upgrade +sudo apt-get install gcc-8 g++-8 make gperf openjdk-8-jdk cmake libssl-dev + +# Dirs +cd src/main/jni +mkdir build +mkdir $TRAVIS_BUILD_DIR/out +cd build + +# Setup env +export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) +export CC=/usr/bin/gcc-8 +export CXX=/usr/bin/g++-8 + +# Build +cmake -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=. .. +cmake --build . --target install + +# Copy artifacts +cp -rf * $TRAVIS_BUILD_DIR/out diff --git a/travis/mac.sh b/travis/mac.sh new file mode 100644 index 0000000..79beca3 --- /dev/null +++ b/travis/mac.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Build deps +brew update +brew upgrade +brew install gperf + +# Dirs +cd src/main/jni +mkdir build +mkdir $TRAVIS_BUILD_DIR/out +cd build + +# Setup env +export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) + +# Build +cmake -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/ .. +cmake --build . --target install + +# Copy artifacts +cp bin/libtdjni.dylib $TRAVIS_BUILD_DIR/out diff --git a/travis/win.sh b/travis/win.sh new file mode 100644 index 0000000..1d6466a --- /dev/null +++ b/travis/win.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Vcpkg +git clone https://github.com/Microsoft/vcpkg.git +cd vcpkg +powershell .\bootstrap-vcpkg.bat +powershell .\vcpkg integrate install +powershell .\vcpkg install zlib:x64-windows-static openssl:x64-windows-static +cd $TRAVIS_BUILD_DIR + +# Build deps +choco install gperf +choco install jdk8 -params 'installdir=c:\\java8' + +# Dirs +cd src/main/jni +mkdir build +mkdir $TRAVIS_BUILD_DIR/out +cd build + +# Setup env +export JAVA_HOME="c:\\java8" + +# Build +cmake -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=. -DCMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR\vcpkg\scripts\buildsystems\vcpkg.cmake .. +cmake --build . --target install + +# Copy artifacts +cp bin/libtdjni.dll $TRAVIS_BUILD_DIR/out