2016-06-26 11:53:19 +00:00
|
|
|
#!/bin/bash -e
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
while [ "$1" ]; do
|
|
|
|
case "$1" in
|
|
|
|
--compress) COMPRESS=1 ;;
|
|
|
|
--obfuscate) OBFUSCATE=1 ;;
|
|
|
|
*) echo "Unknown option: $1" >&2; exit 1 ;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
uname="$(uname -a)"
|
|
|
|
os=
|
|
|
|
arch="$(uname -m)"
|
|
|
|
case "$uname" in
|
|
|
|
Linux\ *) os=linux ;;
|
|
|
|
Darwin\ *) os=darwin ;;
|
|
|
|
SunOS\ *) os=sunos ;;
|
|
|
|
FreeBSD\ *) os=freebsd ;;
|
|
|
|
CYGWIN*) os=windows ;;
|
|
|
|
MINGW*) os=windows ;;
|
|
|
|
MSYS_NT*) os=windows ;;
|
|
|
|
esac
|
|
|
|
case "$uname" in
|
|
|
|
*x86_64*) arch=x64 ;;
|
|
|
|
*i*86*) arch=x86 ;;
|
|
|
|
*armv6l*) arch=arm-pi ;;
|
|
|
|
*armv7l*) arch=arm-pi ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
2016-10-22 11:11:00 +00:00
|
|
|
PATH=$HOME/.c9/node/bin:$PATH
|
2016-06-26 11:53:19 +00:00
|
|
|
|
2016-10-22 11:11:00 +00:00
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
SOURCE="$(pwd)"
|
2016-06-26 11:53:19 +00:00
|
|
|
|
|
|
|
if [ "$os" == "linux" ]; then
|
2016-10-22 11:11:00 +00:00
|
|
|
if [ ! -d "$SOURCE"/build/webkitbuilds/cache/linux/0.12.3 ]; then
|
|
|
|
mkdir -p "$SOURCE"/build/webkitbuilds/cache/linux/0.12.3/
|
|
|
|
pushd "$SOURCE"/build/webkitbuilds/cache/linux/0.12.3
|
2016-06-26 11:53:19 +00:00
|
|
|
wget http://dl.nwjs.io/v0.12.3/nwjs-v0.12.3-linux-x64.tar.gz
|
|
|
|
tar -zxf nwjs-v0.12.3-linux-x64.tar.gz
|
|
|
|
popd
|
|
|
|
fi
|
|
|
|
DEST="$SOURCE/build/Cloud9-dev-linux"
|
|
|
|
rm -rf "$DEST"
|
2016-10-22 11:11:00 +00:00
|
|
|
mkdir -p "$DEST"
|
|
|
|
cp -R "$SOURCE"/build/webkitbuilds/cache/linux/0.12.3/nwjs-v0.12.3-linux-x64/* "$DEST"
|
|
|
|
cp "$SOURCE"/build/linux/c9.png "$DEST"/icon.png
|
2016-06-26 11:53:19 +00:00
|
|
|
|
|
|
|
node --eval "
|
|
|
|
var path = require('path')
|
|
|
|
var p = require('./local/package.json');
|
|
|
|
p.main = path.relative('$DEST', '$SOURCE/local/projectManager.html');
|
|
|
|
delete p.dependencies;
|
|
|
|
p.window.icon = 'icon.png';
|
|
|
|
console.log(JSON.stringify(p, null, 2));
|
2016-10-22 11:11:00 +00:00
|
|
|
" > "$DEST"/package.json
|
2016-06-26 11:53:19 +00:00
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$os" == "darwin" ]; then
|
2016-10-22 11:11:00 +00:00
|
|
|
if [ ! -d "$SOURCE"/build/webkitbuilds/cache/mac/0.9.3 ]; then
|
|
|
|
mkdir -p "$SOURCE"/build/webkitbuilds/cache/mac/0.9.3/node-webkit.app
|
|
|
|
pushd "$SOURCE"/build/webkitbuilds/cache/mac/0.9.3
|
2016-06-26 11:53:19 +00:00
|
|
|
curl -OL http://dl.node-webkit.org/v0.9.3/node-webkit-v0.9.3-pre8-osx-ia32.zip
|
|
|
|
unzip node-webkit-v0.9.3-pre8-osx-ia32.zip
|
|
|
|
popd
|
|
|
|
fi
|
|
|
|
|
|
|
|
DEST="$SOURCE/build/Cloud9-dev.app"
|
|
|
|
RES="$DEST/Contents/Resources"
|
|
|
|
|
|
|
|
rm -rf "$DEST"
|
|
|
|
mkdir -p "$RES/app.nw"
|
|
|
|
|
2016-10-22 11:11:00 +00:00
|
|
|
cp -R "$SOURCE"/build/webkitbuilds/cache/mac/0.9.3/node-webkit.app/* "$DEST"
|
|
|
|
cat "$SOURCE"/local/Info.plist | sed "s/Cloud9/Cloud9-dev/" > "$DEST"/Contents/Info.plist
|
2016-06-26 11:53:19 +00:00
|
|
|
# TODO add blue icon for dev mode
|
|
|
|
# rm $DEST/Contents/Resources/nw.icns
|
2016-10-22 11:11:00 +00:00
|
|
|
cp "$SOURCE"/build/osx/c9.icns "$DEST"/Contents/Resources/nw.icns
|
2016-06-26 11:53:19 +00:00
|
|
|
|
|
|
|
node --eval "
|
|
|
|
var path = require('path')
|
|
|
|
var p = require('./local/package.json');
|
|
|
|
p.main = path.relative('$RES/app.nw', '$SOURCE/local/projectManager.html');
|
|
|
|
delete p.dependencies;
|
|
|
|
// p.window.icon = 'icon.png';
|
|
|
|
console.log(JSON.stringify(p, null, 2));
|
2016-10-22 11:11:00 +00:00
|
|
|
" > "$RES"/app.nw/package.json
|
2016-06-26 11:53:19 +00:00
|
|
|
|
|
|
|
echo dev app created in build/Cloud9-dev.app/Contents/MacOS/node-webkit
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$os" == "windows" ]; then
|
|
|
|
NW_VERSION=v0.12.2
|
|
|
|
# TODO find a more reliable place to put c9 dependencies
|
|
|
|
HOME="$HOMEDRIVE$HOMEPATH"
|
|
|
|
pushd build
|
|
|
|
if [ ! -f "$HOME/.c9/"node.exe ] || [ ! -d "$HOME/.c9/"msys ]; then
|
|
|
|
echo "downloading node"
|
|
|
|
pushd "$HOME/.c9/"
|
|
|
|
curl -L https://raw.githubusercontent.com/cloud9ide/sdk-deps-win32/master/install.sh | bash
|
|
|
|
# bash $SOURCE/../sdk-deps-win32/install.sh # for testing
|
|
|
|
popd
|
|
|
|
fi
|
|
|
|
|
|
|
|
NW_FILE_NAME=nwjs-$NW_VERSION-win-ia32
|
|
|
|
if [ ! -f $NW_FILE_NAME.zip ]; then
|
|
|
|
echo "downloading node-webkit"
|
|
|
|
curl -OL http://dl.nwjs.io/$NW_VERSION/$NW_FILE_NAME.zip
|
|
|
|
fi
|
|
|
|
|
|
|
|
dest=win32-dev/bin
|
|
|
|
mkdir -p $dest
|
|
|
|
|
|
|
|
unzip -uo $NW_FILE_NAME.zip -d win32-dev
|
|
|
|
rm -rf $dest
|
|
|
|
mv win32-dev/$NW_FILE_NAME $dest
|
|
|
|
# cp node.exe $dest
|
|
|
|
mv $dest/nw.exe $dest/Cloud9.exe
|
|
|
|
|
|
|
|
cp win32/icon.png $dest
|
|
|
|
|
|
|
|
# cp -Rf win32/deps win32/bin/deps
|
|
|
|
|
|
|
|
node --eval '
|
|
|
|
var p=require("../local/package.json");
|
|
|
|
p.main = "../../../local/projectManager.html";
|
|
|
|
delete p.dependencies;
|
|
|
|
p.window.icon = "icon.png";
|
|
|
|
console.log(JSON.stringify(p, null, 2));
|
|
|
|
' > $dest/package.json
|
|
|
|
|
|
|
|
popd
|
|
|
|
# create shortcuts
|
|
|
|
echo '
|
|
|
|
var WshShell = WScript.CreateObject("WScript.Shell");
|
|
|
|
var strDesktop = WshShell.SpecialFolders("Desktop");
|
|
|
|
var cwd = WScript.ScriptFullName.replace(/\\[^\\]+$/, "");
|
|
|
|
var link1 = WshShell.CreateShortcut(cwd + "\\Cloud9#.lnk");
|
|
|
|
link1.TargetPath = cwd + "\\build\\win32-dev\\bin\\Cloud9.exe";
|
|
|
|
link1.IconLocation = cwd + "\\build\\win32\\Cloud9.ico";
|
|
|
|
link1.Description = "Cloud9";
|
|
|
|
link1.WorkingDirectory = cwd;
|
|
|
|
link1.Save();
|
|
|
|
|
|
|
|
var link2 = WshShell.CreateShortcut(cwd + "\\Cloud9#packed.lnk");
|
|
|
|
link2.TargetPath = link1.TargetPath;
|
|
|
|
link2.Arguments = "--packed --no-devtools";
|
|
|
|
link2.IconLocation = link1.IconLocation;
|
|
|
|
link2.Description = "Cloud9";
|
|
|
|
link2.WorkingDirectory = cwd;
|
|
|
|
link2.Save();
|
|
|
|
' > ./shortcut.wscript.js
|
|
|
|
cscript //NoLogo //B //E:jscript ./shortcut.wscript.js
|
|
|
|
rm -f ./shortcut.wscript.js
|
|
|
|
|
|
|
|
current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
bash "$current_dir/makelocal.sh"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|