-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
67 lines (48 loc) · 1.69 KB
/
Makefile
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
WALLET_CORE_VERSION ?= 4.1.5
install:
@echo Install Rust
@curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
@. ~/.cargo/env
@cargo install just
install-typeshare:
@echo Install typeshare-cli
@cd core && just install-typeshare
install-toolchains:
@echo Install toolchains for uniffi
@cd core/gemstone && just install-android-targets
bootstrap: install install-toolchains install-ndk install-wallet-core
# Android
install-ndk:
@cd core/gemstone && just install-ndk
install-wallet-core:
@./scripts/download-wallet-core.sh ${WALLET_CORE_VERSION}
build-test:
./gradlew assembleGoogleDebugAndroidTest --build-cache
test:
./gradlew connectedGoogleDebugAndroidTest
unsigned-release:
export SKIP_SIGN=true && ./gradlew :app:bundleGoogleRelease
extract-universal-apk:
./scripts/extract_aab_apk.sh
release:
./gradlew clean :app:bundleGoogleRelease assembleUniversalRelease assembleHuaweiRelease assembleSolanaRelease
localize:
@sh scripts/localize.sh android
generate: generate-models generate-stone
generate-models: install-typeshare
@echo "Generate typeshare for Android"
@cd core && cargo run --package generate --bin generate android ../gemcore/src/main/java/com/wallet/core
generate-stone:
@echo "Generate Gemstone lib, default build mode is ${BUILD_MODE}"
@cd core/gemstone && BUILD_MODE=${BUILD_MODE} just bindgen-kotlin && just build-android
build-base-image:
docker build -t gem-android-base -f Dockerfile.base . &> build.base.log
build-app:
docker build --build-arg TAG=${TAG} \
--build-arg BUILD_MODE=${BUILD_MODE} \
--progress=plain \
-m 16g \
-t gem-android-app \
-f Dockerfile.app . &> build.app.log
core-upgrade:
git submodule update --recursive --remote