Commit 89484b77 authored by zeke's avatar zeke

fetch all available versions from nodejs.org

parent 998af955
...@@ -6,11 +6,37 @@ set -e ...@@ -6,11 +6,37 @@ set -e
# debug # debug
set -x set -x
function tar_download() { download_node() {
url="$1" version="$1"
location="$2"
mkdir -p $location status "Downloading node $version"
curl $url -s -o - | tar xzf - -C $location node_url="http://s3pository.heroku.com/node/v$version/node-v$version-linux-x64.tar.gz"
curl $node_url -s -o - | tar xzf - -C $build_dir
mv $build_dir/node-v$version-linux-x64 $build_dir/node
status "Adding node and npm to \$PATH"
chmod +x $build_dir/node/bin/*
PATH=$PATH:$build_dir/node/bin
}
query_stable_version() {
curl -s http://nodejs.org/dist/ \
| egrep -o '[0-9]+\.[0-9]*[02468]\.[0-9]+' \
| sort -u -k 1,1n -k 2,2n -k 3,3n -t . \
| tail -n1
}
query_latest_version() {
curl -s http://nodejs.org/dist/ \
| egrep -o '[0-9]+\.[0-9]+\.[0-9]+' \
| sort -u -k 1,1n -k 2,2n -k 3,3n -t . \
| tail -n1
}
all_versions() {
curl -s http://nodejs.org/dist/ \
| egrep -o '[0-9]+\.[0-9]+\.[0-9]+' \
| sort -u -k 1,1n -k 2,2n -k 3,3n -t .
} }
function error() { function error() {
......
...@@ -3,34 +3,31 @@ ...@@ -3,34 +3,31 @@
build_dir=$1 build_dir=$1
cache_dir=$2 cache_dir=$2
lp_dir=$(cd $(dirname $0); cd ..; pwd) lp_dir=$(cd $(dirname $0); cd ..; pwd)
default_version="0.10.15" stable_version="0.10.15"
node_url="http://s3pository.heroku.com/node/v$default_version/node-v$default_version-linux-x64.tar.gz"
source $lp_dir/bin/common.sh source $lp_dir/bin/common.sh
# Output debug info on exit # Output debug info on exit
trap cat_npm_debug_log EXIT trap cat_npm_debug_log EXIT
status "Downloading node v$default_version" download_node $stable_version
tar_download $node_url $build_dir
status "Adding node and npm to \$PATH" # cd $build_dir
mv $build_dir/node-v$default_version-linux-x64 $build_dir/node
chmod +x $build_dir/node/bin/*
PATH=$PATH:$build_dir/node/bin
cd $build_dir # Is a node version specified in package.json?
requested_version=$(cat $build_dir/package.json | node $lp_dir/vendor/json engines.node 2>/dev/null)
# Is a node version present in package.json? # echo "requested_version: $requested_version"
desired_version=$(cat $build_dir/package.json | node $lp_dir/vendor/json engines.node 2>/dev/null) if test $requested_version; then
echo "desired_version: $desired_version" default_satisfies=$(node $lp_dir/vendor/semver/bin/semver $stable_version -r "$requested_version")
if [ "$desired_version" != "" ]; then if ! test $default_satisfies; then
default_satisfies=$(node $lp_dir/vendor/semver/bin/semver $default_version -r "$desired_version") download_node $requested_version
echo "default_satisfies: $default_satisfies" fi
fi fi
status "Installing dependencies with npm" status "Installing dependencies with npm"
npm prune
npm install --production npm install --production
npm rebuild
echo "Dependencies installed" | indent echo "Dependencies installed" | indent
status "Building runtime environment" status "Building runtime environment"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment