diff --git a/bin/compile b/bin/compile index 5bbd2e2d5..c239a0054 100755 --- a/bin/compile +++ b/bin/compile @@ -39,6 +39,8 @@ source $BP_DIR/lib/failure.sh source $BP_DIR/lib/environment.sh source $BP_DIR/lib/binaries.sh source $BP_DIR/lib/binaries_java.sh +source $BP_DIR/lib/binaries_maven.sh +source $BP_DIR/lib/binaries_swift.sh source $BP_DIR/lib/binaries_cfcli.sh source $BP_DIR/lib/cache.sh source $BP_DIR/lib/dependencies.sh @@ -80,6 +82,8 @@ install_bins() { local iojs_engine=$(read_json "$BUILD_DIR/package.json" ".engines.iojs") local npm_engine=$(read_json "$BUILD_DIR/package.json" ".engines.npm") local java_engine=$(read_json "$BUILD_DIR/package.json" ".engines.java") + local maven_engine=$(read_json "$BUILD_DIR/package.json" ".engines.maven") + local swift_engine=$(read_json "$BUILD_DIR/package.json" ".engines.swift") if [ -n "$iojs_engine" ]; then echo "engines.iojs (package.json): $iojs_engine (iojs)" @@ -101,6 +105,8 @@ install_bins() { warn_old_npm install_java "$java_engine" "$BUILD_DIR/.heroku/java" + install_maven "$maven_engine" "$BUILD_DIR/.heroku/maven" +# install_swift "$swift_engine" "$BUILD_DIR/.heroku/swift" install_cfcli "$BUILD_DIR/.heroku/cf" } diff --git a/lib/binaries_cfcli.sh b/lib/binaries_cfcli.sh index a75c11295..d52fa796a 100644 --- a/lib/binaries_cfcli.sh +++ b/lib/binaries_cfcli.sh @@ -1,7 +1,8 @@ install_cfcli() { local dir="$1" + CF_VERSION=6.17 - local download_url="https://cli.run.pivotal.io/stable?release=linux64-binary&source=github" + local download_url="https://cli.run.pivotal.io/stable?release=linux64-binary&version=$CF_VERSION.0&source=github-rel" echo "Downloading CF CLI [$download_url]" curl --silent --fail --retry 5 --retry-max-time 15 -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" "$download_url" -o /tmp/cf.tar.gz || (echo "Unable to download cf CLI; does it exist?" && false) echo "Download complete!" diff --git a/lib/binaries_maven.sh b/lib/binaries_maven.sh new file mode 100644 index 000000000..2a67e529a --- /dev/null +++ b/lib/binaries_maven.sh @@ -0,0 +1,19 @@ +install_maven() { + local version="$1" + local dir="$2" + MAVEN_VERSION=3.3.9 + + local download_url="http://www-us.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" + echo "Downloading Maven [$download_url]" + curl --silent --fail --retry 5 --retry-max-time 15 -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" "$download_url" -o /tmp/maven.tar.gz || (echo "Unable to download java; does it exist?" && false) + echo "Download complete!" + + echo "Installing Maven" + mkdir -p /tmp/maven + mkdir -p $dir + tar xzf /tmp/maven.tar.gz -C /tmp/maven + rm -rf $dir/* + mv /tmp/maven/apache-maven-$MAVEN_VERSION/* $dir + chmod +x $dir/bin + echo "Installation complete!" +} \ No newline at end of file diff --git a/lib/binaries_swift.sh b/lib/binaries_swift.sh new file mode 100644 index 000000000..45f747008 --- /dev/null +++ b/lib/binaries_swift.sh @@ -0,0 +1,45 @@ +install_swift() { + local version="$1" + local dir="$2" + + CLANG_VERSION=3.7.0 + SWIFT_VERSION=2.2.1-RELEASE + SWIFT_VERSION_=2.2.1-release + + local download_url="http://llvm.org/releases/$CLANG_VERSION/clang+llvm-$CLANG_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz" + echo "Downloading clang [$download_url]" + curl --silent --fail --retry 5 --retry-max-time 15 -j -k -L "$download_url" -o /tmp/clang.tar.xz || (echo "Unable to download clang; does it exist?" && false) + echo "Download complete!" + + echo "Installing clang" + mkdir -p /tmp/clang + mkdir -p $dir/clang + xz -d -c /tmp/clang.tar.xz | tar x -C /tmp/clang + rm -rf $dir/clang/* + mv /tmp/clang/clang+llvm-$CLANG_VERSION-x86_64-linux-gnu-ubuntu-14.04/* $dir/clang + chmod +x $dir/clang/bin $dir/clang + echo "Installation complete!" + + local download_url="https://swift.org/builds/swift-$SWIFT_VERSION_/ubuntu1404/swift-$SWIFT_VERSION/swift-$SWIFT_VERSION-ubuntu14.04.tar.gz" + echo "Downloading Swift [$download_url]" + curl --silent --fail --retry 5 --retry-max-time 15 -j -k -L "$download_url" -o /tmp/swift.tar.gz || (echo "Unable to download swift; does it exist?" && false) + echo "Download complete!" + +#NO SIGNATURE CHECKING AT THE MOMENT +# local download_url="https://swift.org/builds/swift-$SWIFT_VERSION/ubuntu1404/swift-$SWIFT_VERSION/swift-$SWIFT_VERSION-ubuntu14.04.tar.gz.sig" +# echo "Downloading Swift Signature [$download_url]" +# curl --silent --fail --retry 5 --retry-max-time 15 -j -k -L "$download_url" -o /tmp/swift.tar.gz.sig || (echo "Unable to download swift signature; does it exist?" && false) +# echo "Download complete!" +# wget -q -O - https://swift.org/keys/all-keys.asc | gpg --import - +# gpg --keyserver hkp://pool.sks-keyservers.net --refresh-keys Swift +# gpg --verify /tmp/swift.tar.gz.sig + + echo "Installing swift" + mkdir -p /tmp/swift + mkdir -p $dir + tar xzf /tmp/swift.tar.gz -C /tmp/swift + rm -rf $dir/* + mv /tmp/swift/swift-$SWIFT_VERSION-ubuntu14.04/usr/* $dir + chmod +x $dir/bin + echo "Installation complete!" +} \ No newline at end of file diff --git a/profile/nodejs.sh b/profile/nodejs.sh index 5b2d341d3..e31f52526 100755 --- a/profile/nodejs.sh +++ b/profile/nodejs.sh @@ -35,6 +35,14 @@ export NODE_ENV=${NODE_ENV:-production} export PATH="$HOME/.heroku/java/bin:$PATH" export JAVA_HOME="$HOME/.heroku/java" +export PATH="$HOME/.heroku/maven/bin:$PATH" + +#export PATH="$HOME/.heroku/swift/clang/bin:$PATH" +#export CLANG_HOME="$HOME/.heroku/swift/clang" + +#export PATH="$HOME/.heroku/swift/bin:$PATH" +#export SWIFT_HOME="$HOME/.heroku/swift" + export PATH="$HOME/.heroku/cf:$PATH" calculate_concurrency