forked from status-im/status-mobile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
127 lines (99 loc) · 3.3 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
.PHONY: react-native test
help: ##@other Show this help
@perl -e '$(HELP_FUN)' $(MAKEFILE_LIST)
# This is a code for automatic help generator.
# It supports ANSI colors and categories.
# To add new item into help output, simply add comments
# starting with '##'. To add category, use @category.
GREEN := $(shell tput -Txterm setaf 2)
WHITE := $(shell tput -Txterm setaf 7)
YELLOW := $(shell tput -Txterm setaf 3)
RESET := $(shell tput -Txterm sgr0)
HELP_FUN = \
%help; \
while(<>) { push @{$$help{$$2 // 'options'}}, [$$1, $$3] if /^([a-zA-Z\-]+)\s*:.*\#\#(?:@([a-zA-Z\-]+))?\s(.*)$$/ }; \
print "Usage: make [target]\n\n"; \
for (sort keys %help) { \
print "${WHITE}$$_:${RESET}\n"; \
for (@{$$help{$$_}}) { \
$$sep = " " x (32 - length $$_->[0]); \
print " ${YELLOW}$$_->[0]${RESET}$$sep${GREEN}$$_->[1]${RESET}\n"; \
}; \
print "\n"; \
}
# Main targets
prepare: ##@prepare Install dependencies and prepare workspace
lein deps
npm install
./re-natal deps
./re-natal use-figwheel
./re-natal enable-source-maps
prepare-ios: prepare ##@prepare Install iOS specific dependencies
cd ios && pod install && cd ..
#----------------
# Release builds
#----------------
release: release-android release-ios ##@build build release for Android and iOS
release-android: prod-build-android ##@build build release for Android
react-native run-android --variant=release
release-ios: prod-build-ios ##@build build release for iOS release
@echo "Build in XCode, see https://wiki.status.im/TBD for instructions"
prod-build:
lein prod-build
prod-build-android:
lein prod-build-android
prod-build-ios:
lein prod-build-ios
#----------------
# Dev builds
#----------------
dev-android-real: ##@dev build for Android real device
./re-natal use-android-device real
./re-natal use-figwheel
dev-android-avd: ##@dev build for Android AVD simulator
./re-natal use-android-device avd
./re-natal use-figwheel
dev-android-genymotion: ##@dev build for Android Genymotion simulator
./re-natal use-android-device genymotion
./re-natal use-figwheel
dev-ios-real: ##@dev build for iOS real device
./re-natal use-ios-device real
./re-natal use-figwheel
dev-ios-simulator: ##@dev build for iOS simulator
./re-natal use-ios-device simulator
./re-natal use-figwheel
#--------------
# REPL
# -------------
repl: ##@repl Start REPL for iOS and Android
lein figwheel-repl ios android
repl-ios: ##@repl Start REPL for iOS
lein figwheel-repl ios
repl-android: ##@repl Start REPL for Android
lein figwheel-repl android
#--------------
# Run
# -------------
run-android: ##@run Run Android build
react-native run-android
run-ios: ##@run Run iOS build
react-native run-ios
#--------------
# Tests
#--------------
test: ##@test Run tests once in NodeJS
lein with-profile test doo node test once
test-auto: ##@test Run tests in interactive (auto) mode in NodeJS
lein with-profile test doo node test
#--------------
# Other
#--------------
react-native: ##@other Start react native packager
react-native start
geth-connect: ##@other Connect to Geth on the device
adb forward tcp:8545 tcp:8545
build/bin/geth attach http://localhost:8545
android-ports: ##@other Add reverse proxy to Android Device/Simulator
adb reverse tcp:8081 tcp:8081
adb reverse tcp:3449 tcp:3449
adb reverse tcp:4567 tcp:4567