-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenv-dockerized.bash
executable file
·42 lines (37 loc) · 1.01 KB
/
env-dockerized.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
ACTION=$1
ACTION=${ACTION:="generate"}
shift
FOLDER=${PWD##*/}
FOLDER=${FOLDER:-/} # to correct for the case where PWD=/
IMAGE=${FOLDER,,}
if [ ! -d $SCRIPTPATH/build ]; then
mkdir $SCRIPTPATH/build
fi;
case $ACTION in
"generate")
docker buildx build -t $IMAGE .
;;
"make")
docker run -it --rm \
-v `pwd`:/workspaces/$FOLDER \
--workdir=/workspaces/$FOLDER/build \
--env REMOTE_USER="builder" \
--env NEW_UID=$(id -u) \
--env NEW_GID=$(id -g) \
$IMAGE "cmake ../project && make $@"
;;
"bash")
docker run -it --rm \
-v `pwd`:/workspaces/$FOLDER \
--workdir=/workspaces/$FOLDER \
--env REMOTE_USER="builder" \
--env NEW_UID=$(id -u) \
--env NEW_GID=$(id -g) \
$IMAGE
;;
*)
echo "Action $ACTION not available"
;;
esac