#!/bin/bash -e
set -x

OS=linux

ROOT=$(cd "$(dirname "$0")/../.."; pwd)
cd "$ROOT"

sudo apt-get update
sudo apt-get install clang git ladspa-sdk freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev webkit2gtk-4.0 juce-tools xvfb

if [ ! -d "juce" ]; then
  git clone https://github.com/WeAreROLI/JUCE.git --branch develop --single-branch juce
fi

# Get the hash
cd "$ROOT/juce"
HASH=`git rev-parse HEAD`
echo "Hash: $HASH"

# Get the Projucer
mkdir -p "$ROOT/ci/bin"
cd "$ROOT/ci/bin"
while true
do
  PROJUCER_URL=$(curl -s -S "https://projucer.rabien.com/get_projucer.php?hash=$HASH&os=$OS")
  echo "Response: $PROJUCER_URL"
  if [[ "$PROJUCER_URL" =~ ^http ]]; then
    curl -s -S $PROJUCER_URL -o "$ROOT/ci/bin/Projucer.zip"
    unzip Projucer.zip
    break
  fi
  sleep 15
done

"$ROOT/ci/bin/Projucer" --set-global-search-path linux defaultJuceModulePath "$ROOT/juce/modules" 
"$ROOT/ci/bin/Projucer" --resave "$ROOT/demo/dRowAudio Demo.jucer"

cd "$ROOT/demo/Builds/LinuxMakefile"
make CONFIG=Release

rm -Rf "$ROOT/ci/linux/bin"
mkdir -p "$ROOT/ci/linux/bin"
cp -R "$ROOT/demo/Builds/LinuxMakefile/build/dRowAudio Demo" "$ROOT/ci/linux/bin"

cd "$ROOT/ci/linux/bin"
zip -r Demo.zip "dRowAudio Demo"

rm -Rf "dRowAudio Demo"
