From de2f0a18fd433ae32741a01453e8b2aaa89cdded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Fri, 26 Mar 2021 22:29:54 +0100 Subject: [PATCH] Travis - cache tools directory for faster builds --- .travis.yml | 3 +++ travis/before_install.sh | 51 ++++++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index aff5c2248..5a833f01d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,9 @@ before_install: - "./travis/before_install.sh" install: "./travis/install.sh" script: "source ./travis/script.sh" +cache: + directories: + - /home/travis/tools notifications: email: recipients: diff --git a/travis/before_install.sh b/travis/before_install.sh index 1df035052..be5424c3d 100644 --- a/travis/before_install.sh +++ b/travis/before_install.sh @@ -2,13 +2,10 @@ # Exit immediately on first error set -e -sudo apt-get -qq update -sudo apt-get install -y scons +sudo apt-get -qq update #NSIS needs these sudo apt-get install -y zlib1g-dev sudo apt-get install -y lib32ncurses5 lib32z1 -#For unpacking unzip :-) -sudo apt-get install -y unzip #For deploying sudo apt-get install -y jq sudo apt-get install -y curl @@ -18,29 +15,37 @@ sudo apt-get install -y curl # test php installed php --version -# create directory where tools will be downloaded and installed -mkdir $tools_dir +tools_dir=/home/travis/tools -cp ./travis/tools/nsis-3.0-src.tar.bz2 ./ -#Unpack NSIS sources - Tool for making windows installers -bzip2 -d nsis-3.0-src.tar.bz2 -tar xvf nsis-3.0-src.tar -C $tools_dir >/dev/null +if [ ! -d "$tools_dir" ]; then + sudo apt-get install -y scons + #For unpacking unzip :-) + sudo apt-get install -y unzip -#Compile NSIS -cd $tools_dir/nsis-3.0-src/ -scons UNICODE=yes SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA=no PREFIX=$tools_dir/nsis-3.0-src/ install-compiler >/dev/null -mkdir share -#Make this symbolic link, otherwise it does not work -ln -s $tools_dir/nsis-3.0-src share/nsis -cd - + # create directory where tools will be downloaded and installed + mkdir $tools_dir -#Extract some binary additional sources which NSIS needs and are part of Windows ZIP file -cp ./travis/tools/nsis-3.0-addon.zip ./ -unzip -u nsis-3.0-addon.zip -d $tools_dir/nsis-3.0-src + cp ./travis/tools/nsis-3.0-src.tar.bz2 ./ + #Unpack NSIS sources - Tool for making windows installers + bzip2 -d nsis-3.0-src.tar.bz2 + tar xvf nsis-3.0-src.tar -C $tools_dir >/dev/null -#Extract launch4j - tool for creating EXE file from Java -cp ./travis/tools/launch4j-3.12-linux.tgz ./ -tar zxvf launch4j-3.12-linux.tgz -C $tools_dir >/dev/null + #Compile NSIS + cd $tools_dir/nsis-3.0-src/ + scons UNICODE=yes SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA=no PREFIX=$tools_dir/nsis-3.0-src/ install-compiler >/dev/null + mkdir share + #Make this symbolic link, otherwise it does not work + ln -s $tools_dir/nsis-3.0-src share/nsis + cd - + + #Extract some binary additional sources which NSIS needs and are part of Windows ZIP file + cp ./travis/tools/nsis-3.0-addon.zip ./ + unzip -u nsis-3.0-addon.zip -d $tools_dir/nsis-3.0-src + + #Extract launch4j - tool for creating EXE file from Java + cp ./travis/tools/launch4j-3.12-linux.tgz ./ + tar zxvf launch4j-3.12-linux.tgz -C $tools_dir >/dev/null +fi #Create tools.properties with paths to NSIS and launch4j echo "nsis.path = $tools_dir/nsis-3.0-src/bin" > tools.properties