Files
hash-wallet/scripts/android/docker/build.sh
T
jwinterm c64c740ba3 Nuke Zcash from build infra (chain already disabled at config layer)
Removed:
- cw_zcash/ directory (Dart wrapper, no longer needed)
- assets/zcash_node_list.yml
- scripts/prepare_zcash.sh
- scripts/{android,ios,linux,macos}/build_zcash.sh
- scripts/android/docker/Dockerfile.zcash
- scripts/zcash_lib/ if cloned (rebuildable from prepare_zcash.sh which is also gone)

Edited:
- scripts/lint.sh: replaced cw_zcash loop target with the actual modules we
  ship (cw_core, cw_monero, cw_wownero, cw_bitcoin, cw_bitcoin_cash,
  cw_dogecoin, cw_evm, cw_nano).
- hashwallet.bat: trimmed mobx codegen loop to enabled chains.
- pubspec_base.yaml: dropped zcash_node_list.yml + zcash_lib sapling
  asset references.
- scripts/android/docker/{build.sh,Dockerfile.final}: removed zcash image
  build + COPY stage.

tool/configure.dart still has the zcash codegen functions intact (they
just don't fire because we don't pass --zcash); leaving them as harmless
dead code rather than risking a regression in the codegen pipeline.
2026-05-14 17:51:19 -04:00

116 lines
3.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname $0)"
CW_DOCKER_REGISTRY="${CW_DOCKER_REGISTRY:-localhost/cake-tech/cake_wallet}"
CW_DOCKER_USE_CLOUD="${CW_DOCKER_USE_CLOUD:-}"
SCRIPT_DIR="$(pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
image_exists() {
docker image inspect "$1" &>/dev/null
}
tinysha() {
cat "$@" | sha256sum | cut -c1-6
}
build() {
local name="$1"; shift
local version=$1; shift
if [[ "x$CW_DOCKER_USE_CLOUD" == "xtrue" ]]
then
set +e
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}" | \
grep "^${CW_DOCKER_REGISTRY}:android-deps-" | \
awk '{print $2}' | \
xargs -r docker rmi
docker pull "$CW_DOCKER_REGISTRY:android-deps-${name}-$(tinysha "$SCRIPT_DIR/Dockerfile.${name}")-${version}"
set -e
fi
if image_exists "$CW_DOCKER_REGISTRY:android-deps-${name}-$(tinysha "$SCRIPT_DIR/Dockerfile.${name}")-${version}"; then
echo "==> skipping $name (image already exists)"
return 0
fi
echo "==> building $name"
docker build \
--platform linux/amd64 \
--file "$SCRIPT_DIR/Dockerfile.${name}" \
--tag "$CW_DOCKER_REGISTRY:android-deps-${name}-$(tinysha "$SCRIPT_DIR/Dockerfile.${name}")-${version}" \
"$@" \
"$REPO_ROOT"
if [[ "x$CW_DOCKER_USE_CLOUD" == "xtrue" ]]
then
docker push "$CW_DOCKER_REGISTRY:android-deps-${name}-$(tinysha "$SCRIPT_DIR/Dockerfile.${name}")-${version}"
fi
}
img() {
echo "$CW_DOCKER_REGISTRY:android-deps-${1}-$(tinysha "$SCRIPT_DIR/Dockerfile.${1}")-${2}"
}
base_ver="latest"
torch_ver="$(tinysha $SCRIPT_DIR/Dockerfile.torch $REPO_ROOT/scripts/prepare_torch.sh $REPO_ROOT/scripts/android/build_torch.sh)"
reown_ver=$(tinysha $SCRIPT_DIR/Dockerfile.reown $REPO_ROOT/scripts/prepare_reown.sh $REPO_ROOT/scripts/android/build_reown_deps.sh)
bitbox_ver=$(tinysha $SCRIPT_DIR/Dockerfile.bitbox $REPO_ROOT/scripts/build_bitbox_flutter.sh)
monero_ver=$(tinysha $SCRIPT_DIR/Dockerfile.monero $REPO_ROOT/scripts/prepare_moneroc.sh $REPO_ROOT/scripts/android/build_monero_all.sh)
mwebd_ver=$(tinysha $SCRIPT_DIR/Dockerfile.mwebd $(find $REPO_ROOT/cw_mweb/go -type f))
decred_ver=$(tinysha $SCRIPT_DIR/Dockerfile.torch $SCRIPT_DIR/Dockerfile.decred $REPO_ROOT/scripts/android/build_decred.sh)
echo $base_ver $torch_ver $reown_ver $bitbox_ver $monero_ver $mwebd_ver $decred_ver > /tmp/docker_build_versions
final_ver=$(tinysha /tmp/docker_build_versions)
docker create --name temp_extract $(img final $final_ver) \
&& cd $REPO_ROOT \
&& docker cp temp_extract:/w.top w.top \
&& rsync -av w.top/ . \
&& rm -rf w.top \
&& docker rm temp_extract \
&& echo "cache ok" \
&& exit 0 \
|| echo "cache miss oh"
docker rm temp_extract || true
build base "$base_ver"
build bitbox "$bitbox_ver" --build-arg BASE_IMAGE="$(img base "$base_ver")"
build mwebd "$mwebd_ver" --build-arg BASE_IMAGE="$(img base "$base_ver")"
build reown "$reown_ver" --build-arg BASE_IMAGE="$(img base "$base_ver")"
build monero "$monero_ver" --build-arg BASE_IMAGE="$(img base "$base_ver")"
build torch "$torch_ver" \
--build-arg BASE_IMAGE="$(img base "$base_ver")"
build decred "$decred_ver" \
--build-arg BASE_IMAGE="$(img base "$base_ver")" \
--build-arg TORCH_IMAGE="$(img torch "$torch_ver")"
build final $final_ver \
--build-arg BASE_IMAGE="$(img base $base_ver)" \
--build-arg TORCH_IMAGE="$(img torch $torch_ver)" \
--build-arg REOWN_IMAGE="$(img reown $reown_ver)" \
--build-arg BITBOX_IMAGE="$(img bitbox $bitbox_ver)" \
--build-arg MONERO_IMAGE="$(img monero $monero_ver)" \
--build-arg DECRED_IMAGE="$(img decred $decred_ver)" \
--build-arg MWEBD_IMAGE="$(img mwebd $mwebd_ver)"
echo "done: $(img final $final_ver)"
echo $(img final $final_ver) > /tmp/cakewallet_docker
docker create --name temp_extract $(img final $final_ver) \
&& cd $REPO_ROOT \
&& docker cp temp_extract:/w.top w.top \
&& rsync -av w.top/ . \
&& rm -rf w.top \
&& docker rm temp_extract \
&& echo "cache ok" \
&& exit 0
echo idk.
exit 1