2015-10-08 21:41:04 +00:00
#!/usr/bin/env bash
2015-10-22 22:12:49 +00:00
#
2015-11-16 19:21:57 +00:00
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
2015-12-18 01:39:50 +00:00
# Set OFFLINE environment variable to build offline
2015-10-21 22:21:14 +00:00
set -e
2015-10-22 22:56:12 +00:00
SOURCE = " ${ BASH_SOURCE [0] } "
while [ -h " $SOURCE " ] ; do # resolve $SOURCE until the file is no longer a symlink
DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
SOURCE = " $( readlink " $SOURCE " ) "
2015-12-28 19:47:21 +00:00
[ [ " $SOURCE " != /* ] ] && SOURCE = " $DIR / $SOURCE " # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
2015-10-22 22:56:12 +00:00
done
DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
2015-10-20 16:05:17 +00:00
2016-02-16 20:46:43 +00:00
# Some things depend on HOME and it may not be set. We should fix those things, but until then, we just patch a value in
if [ -z " $HOME " ] ; then
export HOME = $DIR /artifacts/home
[ ! -d " $HOME " ] || rm -Rf $HOME
mkdir -p $HOME
fi
2016-02-18 00:16:25 +00:00
args = ( " $@ " )
2016-02-16 20:04:13 +00:00
while [ [ $# > 0 ] ] ; do
lowerI = " $( echo $1 | awk '{print tolower($0)}' ) "
case $lowerI in
--docker)
export BUILD_IN_DOCKER = 1
export DOCKER_IMAGENAME = $2
2016-02-18 00:16:25 +00:00
# remove docker args
args = ( " ${ args [@]/ $1 } " )
args = ( " ${ args [@]/ $2 } " )
2016-02-16 20:04:13 +00:00
shift
; ;
*)
esac
shift
done
2016-02-18 00:16:25 +00:00
# $args array may have empty elements in it.
# The easiest way to remove them is to cast to string and back to array.
temp = " ${ args [@] } "
args = ( $temp )
2016-05-12 00:20:40 +00:00
dockerbuild( )
{
2016-07-05 22:09:39 +00:00
BUILD_COMMAND = /opt/code/run_build.sh $DIR /scripts/dockerrun.sh --non-interactive " $@ "
2016-05-12 00:20:40 +00:00
}
2016-02-02 18:04:50 +00:00
# Check if we need to build in docker
2015-11-11 00:18:00 +00:00
if [ ! -z " $BUILD_IN_DOCKER " ] ; then
2016-05-12 00:20:40 +00:00
dockerbuild " ${ args [@] } "
2015-11-11 00:18:00 +00:00
else
2016-07-05 22:09:39 +00:00
$DIR /run_build.sh " ${ args [@] } "
2016-01-08 02:50:00 +00:00
fi