improve install-sdk script

Conflicts:
	package.json
pull/39/head
nightwing 2015-02-20 21:25:49 +00:00
rodzic e37ab66b36
commit c552c9b6cc
2 zmienionych plików z 56 dodań i 24 usunięć

Wyświetl plik

@ -30,7 +30,6 @@
"nak": "", "nak": "",
"netutil": "~0.0.1", "netutil": "~0.0.1",
"optimist": "~0.6.0", "optimist": "~0.6.0",
"pty.js": "~0.2.3",
"qs": "0.6.6", "qs": "0.6.6",
"rusha": "~0.7.2", "rusha": "~0.7.2",
"send": "~0.1.4", "send": "~0.1.4",
@ -45,6 +44,7 @@
"form-data": "~0.2.0" "form-data": "~0.2.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"pty.js": "~0.2.3",
"heapdump": "0.2.10" "heapdump": "0.2.10"
}, },
"licenses": [], "licenses": [],

Wyświetl plik

@ -1,4 +1,4 @@
#!/bin/bash -ex #!/bin/bash -e
cd `dirname $0`/.. cd `dirname $0`/..
SOURCE=`pwd` SOURCE=`pwd`
@ -21,17 +21,19 @@ case "$uname" in
*armv7l*) arch=arm-pi ;; *armv7l*) arch=arm-pi ;;
esac esac
if ! [[ -f ~/.c9/installed ]] && ! [[ $os == "windows" ]]; then red=$'\e[01;31m'
curl https://raw.githubusercontent.com/c9/install/master/install.sh | bash green=$'\e[01;32m'
fi yellow=$'\e[01;33m'
blue=$'\e[01;34m'
magenta=$'\e[01;35m'
resetColor=$'\e[0m'
installC9Package() { updatePackage() {
name=$1 name=$1
REPO=https://github.com/c9/$name REPO=https://github.com/c9/$name
echo "${green}checking out ${resetColor}$REPO"
echo "checking out $REPO"
if ! [[ -d ./plugins/$name ]]; then if ! [[ -d ./plugins/$name ]]; then
mkdir -p ./plugins/$name mkdir -p ./plugins/$name
@ -44,7 +46,7 @@ installC9Package() {
git remote add origin $REPO git remote add origin $REPO
fi fi
version=`node -e 'console.log((require("../../package.json").c9plugins["'$name'"].substr(1) || "origin/master"))'`; version=`"$NODE" -e 'console.log((require("../../package.json").c9plugins["'$name'"].substr(1) || "origin/master"))'`;
rev=`git rev-parse --revs-only $version` rev=`git rev-parse --revs-only $version`
if [ "$rev" == "" ]; then if [ "$rev" == "" ]; then
@ -55,27 +57,57 @@ installC9Package() {
if [ "$status" == "" ]; then if [ "$status" == "" ]; then
git reset $version --hard git reset $version --hard
else else
echo "$name contains uncommited changes. Skipping..." echo "${yellow}$name ${red}contains uncommited changes.${yellow} Skipping...${resetColor}"
fi fi
popd popd
} }
c9packages=(`node -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'`); updateAllPackages() {
count=${#c9packages[@]} c9packages=(`"$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'`);
i=0 count=${#c9packages[@]}
for m in ${c9packages[@]}; do echo $m; i=0
i=$(($i + 1)) for m in ${c9packages[@]}; do echo $m;
echo "updating plugin $i of $count" i=$(($i + 1))
installC9Package $m || true echo "updating plugin ${blue}$i${resetColor} of ${blue}$count${resetColor}"
done updatePackage $m || true
done
}
updateNodeModules() {
echo "${magenta}--- Running npm install --------------------------------------------${resetColor}"
safeInstall(){
deps=`"$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'`;
for m in $deps; do echo $m;
"$NPM" install --loglevel warn $m || true
done
}
"$NPM" install || safeInstall
echo "${magenta}--------------------------------------------------------------------${resetColor}"
}
# deps=`node -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'`; updateCore() {
# for m in $deps; do echo $m; git remote add c9 https://github.com/c9/core 2> /dev/null || true
# npm install $m || true git fetch c9
# done git merge c9/master --ff-only || \
npm install || true echo "${yellow}Couldn't automatically update sdk core ${resetColor}"
}
installGlobalDeps() {
if ! [[ -f ~/.c9/installed ]]; then
curl https://raw.githubusercontent.com/c9/install/master/install.sh | bash
fi
}
############################################################################
NPM=npm
NODE=node
updateCore || true
installGlobalDeps
updateAllPackages
updateNodeModules
echo "Success!" echo "Success!"
echo "run 'node server.js -p 8181 -l 0.0.0.0' to launch Cloud9" echo "run '${yellow}node server.js -p 8181 -l 0.0.0.0 -a :${resetColor}' to launch Cloud9"
"$NODE" server.js -p 8181 -l 0.0.0.0 -a :