From f13a8634db08e3a96a89edf13b7c111069ca35d0 Mon Sep 17 00:00:00 2001 From: fscherwi Date: Tue, 23 Feb 2016 08:41:11 +0100 Subject: [PATCH] update to latest build-package.sh --- build-package.sh | 72 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/build-package.sh b/build-package.sh index 02457dd..d21ce2e 100644 --- a/build-package.sh +++ b/build-package.sh @@ -1,44 +1,82 @@ #!/bin/sh echo "Downloading latest Atom release..." -curl -s -L "https://atom.io/download/mac" \ - -H 'Accept: application/octet-stream' \ - -o atom.zip +ATOM_CHANNEL="${ATOM_CHANNEL:=stable}" + +if [ "$TRAVIS_OS_NAME" = "osx" ]; then + curl -s -L "https://atom.io/download/mac?channel=$ATOM_CHANNEL" \ + -H 'Accept: application/octet-stream' \ + -o "atom.zip" + mkdir atom + unzip -q atom.zip -d atom + if [ "$ATOM_CHANNEL" = "stable" ]; then + export ATOM_APP_NAME="Atom.app" + export ATOM_SCRIPT_NAME="atom.sh" + export ATOM_SCRIPT_PATH="./atom/${ATOM_APP_NAME}/Contents/Resources/app/atom.sh" + else + export ATOM_APP_NAME="Atom ${ATOM_CHANNEL}.app" + export ATOM_SCRIPT_NAME="atom-${ATOM_CHANNEL}" + export ATOM_SCRIPT_PATH="./atom-${ATOM_CHANNEL}" + ln -s "./atom/${ATOM_APP_NAME}/Contents/Resources/app/atom.sh" "${ATOM_SCRIPT_PATH}" + fi + export PATH="$PWD/atom/${ATOM_APP_NAME}/Contents/Resources/app/apm/bin:$PATH" + export ATOM_PATH="./atom" + export APM_SCRIPT_PATH="./atom/${ATOM_APP_NAME}/Contents/Resources/app/apm/node_modules/.bin/apm" +else + curl -s -L "https://atom.io/download/deb?channel=$ATOM_CHANNEL" \ + -H 'Accept: application/octet-stream' \ + -o "atom.deb" + /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 + export DISPLAY=":99" + dpkg-deb -x atom.deb "$HOME/atom" + if [ "$ATOM_CHANNEL" = "stable" ]; then + export ATOM_SCRIPT_NAME="atom" + export APM_SCRIPT_NAME="apm" + else + export ATOM_SCRIPT_NAME="atom-$ATOM_CHANNEL" + export APM_SCRIPT_NAME="apm-$ATOM_CHANNEL" + fi + export ATOM_SCRIPT_PATH="$HOME/atom/usr/bin/$ATOM_SCRIPT_NAME" + export APM_SCRIPT_PATH="$HOME/atom/usr/bin/$APM_SCRIPT_NAME" +fi -mkdir atom -unzip -q atom.zip -d atom -export PATH=$PWD/atom/Atom.app/Contents/Resources/app/apm/bin:$PATH echo "Using Atom version:" -ATOM_PATH=./atom ./atom/Atom.app/Contents/Resources/app/atom.sh -v +"$ATOM_SCRIPT_PATH" -v +echo "Using APM version:" +"$APM_SCRIPT_PATH" -v echo "Downloading package dependencies..." -atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm clean -atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm install +"$APM_SCRIPT_PATH" clean +"$APM_SCRIPT_PATH" install TEST_PACKAGES="${APM_TEST_PACKAGES:=none}" if [ "$TEST_PACKAGES" != "none" ]; then echo "Installing atom package dependencies..." for pack in $TEST_PACKAGES ; do - atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm install $pack + "$APM_SCRIPT_PATH" install $pack done fi if [ -f ./node_modules/.bin/coffeelint ]; then - if [ -d ./src ]; then + if [ -d ./lib ]; then echo "Linting package..." - ./node_modules/.bin/coffeelint src - rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi + ./node_modules/.bin/coffeelint lib + rc=$?; if [ $rc -ne 0 ]; then exit $rc; fi fi if [ -d ./spec ]; then echo "Linting package specs..." ./node_modules/.bin/coffeelint spec - rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi + rc=$?; if [ $rc -ne 0 ]; then exit $rc; fi fi fi -echo "Running specs..." -ATOM_PATH=./atom atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm test --path atom/Atom.app/Contents/Resources/app/atom.sh - +if [ -d ./spec ]; then + echo "Running specs..." + "$ATOM_SCRIPT_PATH" --test spec +else + echo "Missing spec folder! Please consider adding a test suite in `./spec`" + exit 1 +fi exit