2015-10-23 00:41:39 +00:00
#!/usr/bin/env bash
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-10-23 00:41:39 +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 " ) "
[ [ $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
done
DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
2015-11-16 23:39:22 +00:00
source " $DIR /../_common.sh "
2015-10-29 17:33:39 +00:00
2015-11-16 23:39:22 +00:00
cd $DIR /../..
2015-10-23 00:41:39 +00:00
[ -z " $DOTNET_BUILD_CONTAINER_TAG " ] && DOTNET_BUILD_CONTAINER_TAG = "dotnetcli-build"
[ -z " $DOTNET_BUILD_CONTAINER_NAME " ] && DOTNET_BUILD_CONTAINER_NAME = "dotnetcli-build-container"
[ -z " $DOCKER_HOST_SHARE_DIR " ] && DOCKER_HOST_SHARE_DIR = $( pwd )
# Build the docker container (will be fast if it is already built)
2015-10-29 17:33:39 +00:00
info "Building docker container"
2015-10-23 00:41:39 +00:00
docker build -t $DOTNET_BUILD_CONTAINER_TAG scripts/docker/
# Remove the sticky bit on directories created by docker so we can delete them
2015-10-29 17:33:39 +00:00
info "Cleaning directories created by docker build"
2015-10-23 00:41:39 +00:00
docker run --rm \
-v $DOCKER_HOST_SHARE_DIR :/opt/code \
-e DOTNET_BUILD_VERSION = $DOTNET_BUILD_VERSION \
$DOTNET_BUILD_CONTAINER_TAG chmod -R -t /opt/code
# And Actually make those directories accessible to be deleted
docker run --rm \
-v $DOCKER_HOST_SHARE_DIR :/opt/code \
-e DOTNET_BUILD_VERSION = $DOTNET_BUILD_VERSION \
$DOTNET_BUILD_CONTAINER_TAG chmod -R a+rwx /opt/code