forked from LedgerHQ/app-solana
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-make
executable file
·43 lines (35 loc) · 1.3 KB
/
docker-make
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
43
#!/usr/bin/env bash
docker_tag=latest
docker_image_base=ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder
docker_image="${docker_image_base}:${docker_tag}"
if ! docker image inspect "$docker_image" &>/dev/null; then
echo "docker image \`$docker_image\` not found. please see README.md" 1>&2
exit 1
fi
here="$(readlink -f "$(dirname "$0")")"
source "$here"/util/active-target.sh
last_target_sdk="$(read_last_target_sdk_mnemonic "$here")"
maybe_target_sdk="$(normalize_mnemonic "${1:-''}" false)"
if [[ -n "$maybe_target_sdk" ]]; then
shift
fi
target_sdk="${maybe_target_sdk:-"$last_target_sdk"}"
if [[ -z "$target_sdk" ]]; then
echo 'cannot resolve target sdk. please pass `s`, `x` or `sp` as the first argument' 1>&2
exit 1
elif [[ -z "$last_target_sdk" ]]; then
write_last_target_sdk_mnemonic "$here" "$target_sdk"
elif [[ "$target_sdk" != "$last_target_sdk" ]]; then
echo "target_sdk change requested. please run \`$0 clean\` first" 1>&2
exit 1
fi
bolos_sdk_var="$(sdk_mnemonic_to_bolos_variable "$target_sdk")"
user=$(id -u)
group=$(id -g)
owner="$user:$group"
IFS='' read -r -d '' container_script <<EOF
export "BOLOS_SDK=\$$bolos_sdk_var"
make ${*}
chown -fR $owner /app/{bin,debug,dep,obj,src/glyphs.{c,h}}
EOF
docker run --rm -t -v "$here:/app" "$docker_image" /bin/bash -c "$container_script"