2018-04-10 08:29:18 +00:00
|
|
|
.PHONY: react-native test setup
|
2017-12-13 21:45:49 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2018-08-30 12:56:45 +00:00
|
|
|
clean: ##@prepare Remove all output folders
|
2018-08-31 08:51:30 +00:00
|
|
|
git clean -qdxf -f modules/react-native-status/ node_modules/ target/ desktop/modules/ desktop/node_modules/
|
2018-08-30 12:56:45 +00:00
|
|
|
|
2018-03-09 00:13:28 +00:00
|
|
|
setup: ##@prepare Install all the requirements for status-react
|
|
|
|
./scripts/setup
|
|
|
|
|
2017-12-13 21:45:49 +00:00
|
|
|
prepare: ##@prepare Install dependencies and prepare workspace
|
2018-07-23 15:21:31 +00:00
|
|
|
scripts/prepare-for-platform.sh mobile
|
2017-12-13 21:45:49 +00:00
|
|
|
npm install
|
|
|
|
|
|
|
|
prepare-ios: prepare ##@prepare Install iOS specific dependencies
|
2018-04-02 10:24:31 +00:00
|
|
|
mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack
|
2017-12-13 21:45:49 +00:00
|
|
|
cd ios && pod install && cd ..
|
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
prepare-android: prepare ##@prepare Install Android specific dependencies
|
|
|
|
cd android; ./gradlew react-native-android:installArchives
|
|
|
|
|
2017-12-13 21:45:49 +00:00
|
|
|
#----------------
|
|
|
|
# Release builds
|
|
|
|
#----------------
|
|
|
|
release: release-android release-ios ##@build build release for Android and iOS
|
|
|
|
|
2018-02-06 18:10:35 +00:00
|
|
|
release-android: prod-build-android ##@build build release for Android
|
2017-12-13 21:45:49 +00:00
|
|
|
react-native run-android --variant=release
|
|
|
|
|
2018-02-06 18:10:35 +00:00
|
|
|
release-ios: prod-build-ios ##@build build release for iOS release
|
2017-12-13 21:45:49 +00:00
|
|
|
@echo "Build in XCode, see https://wiki.status.im/TBD for instructions"
|
|
|
|
|
2018-01-22 17:35:48 +00:00
|
|
|
prod-build:
|
|
|
|
lein prod-build
|
|
|
|
|
2018-02-06 18:10:35 +00:00
|
|
|
prod-build-android:
|
2018-05-08 17:06:45 +00:00
|
|
|
rm ./modules/react-native-status/android/libs/status-im/status-go/local/status-go-local.aar 2> /dev/null || true
|
2018-02-06 18:10:35 +00:00
|
|
|
lein prod-build-android
|
|
|
|
|
|
|
|
prod-build-ios:
|
2018-05-08 17:06:45 +00:00
|
|
|
rm -r ./modules/react-native-status/ios/RCTStatus/Statusgo.framework/ 2> /dev/null || true
|
2018-02-06 18:10:35 +00:00
|
|
|
lein prod-build-ios
|
|
|
|
|
2018-05-08 17:06:45 +00:00
|
|
|
full-prod-build: ##@build build prod for both Android and iOS
|
2018-08-30 12:56:45 +00:00
|
|
|
./scripts/bundle-status-go.sh ios android
|
2018-05-08 17:06:45 +00:00
|
|
|
$(MAKE) prod-build
|
|
|
|
rm -r ./modules/react-native-status/ios/RCTStatus/Statusgo.framework/ 2> /dev/null || true
|
|
|
|
rm ./modules/react-native-status/android/libs/status-im/status-go/local/status-go-local.aar 2> /dev/null
|
|
|
|
|
2017-12-13 21:45:49 +00:00
|
|
|
#--------------
|
|
|
|
# REPL
|
|
|
|
# -------------
|
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
watch-ios-real: ##@watch Start development for iOS real device
|
|
|
|
clj -R:dev build.clj watch --platform ios --ios-device real
|
2018-07-17 15:59:18 +00:00
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
watch-ios-simulator: ##@watch Start development for iOS simulator
|
|
|
|
clj -R:dev build.clj watch --platform ios --ios-device simulator
|
2018-07-17 15:59:18 +00:00
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
watch-android-real: ##@watch Start development for Android real device
|
|
|
|
clj -R:dev build.clj watch --platform android --android-device real
|
2017-12-13 21:45:49 +00:00
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
watch-android-avd: ##@watch Start development for Android AVD
|
|
|
|
clj -R:dev build.clj watch --platform android --android-device avd
|
2017-12-13 21:45:49 +00:00
|
|
|
|
2018-07-26 11:22:15 +00:00
|
|
|
watch-android-genymotion: ##@watch Start development for Android Genymotion
|
|
|
|
clj -R:dev build.clj watch --platform android --android-device genymotion
|
2017-12-13 21:45:49 +00:00
|
|
|
|
|
|
|
#--------------
|
|
|
|
# Run
|
|
|
|
# -------------
|
|
|
|
run-android: ##@run Run Android build
|
2018-04-26 05:16:03 +00:00
|
|
|
react-native run-android --appIdSuffix debug
|
2017-12-13 21:45:49 +00:00
|
|
|
|
2018-06-08 11:44:11 +00:00
|
|
|
SIMULATOR=
|
2017-12-13 21:45:49 +00:00
|
|
|
run-ios: ##@run Run iOS build
|
2018-06-06 13:47:28 +00:00
|
|
|
ifneq ("$(SIMULATOR)", "")
|
|
|
|
react-native run-ios --simulator="$(SIMULATOR)"
|
|
|
|
else
|
2017-12-13 21:45:49 +00:00
|
|
|
react-native run-ios
|
2018-06-06 13:47:28 +00:00
|
|
|
endif
|
2017-12-13 21:45:49 +00:00
|
|
|
|
2017-12-23 09:36:25 +00:00
|
|
|
#--------------
|
|
|
|
# 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
|
|
|
|
|
2017-12-13 21:45:49 +00:00
|
|
|
#--------------
|
|
|
|
# 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
|
|
|
|
|
2018-04-10 08:29:18 +00:00
|
|
|
android-ports-avd: ##@other Add reverse proxy to Android Device/Simulator
|
|
|
|
adb -e reverse tcp:8081 tcp:8081
|
|
|
|
adb -e reverse tcp:3449 tcp:3449
|
|
|
|
adb -e reverse tcp:4567 tcp:4567
|
|
|
|
|
2018-05-16 14:28:15 +00:00
|
|
|
android-ports-genymotion: ##@other Add reverse proxy to Android Device/Simulator
|
|
|
|
adb -e reverse tcp:8081 tcp:8081
|
|
|
|
adb -e reverse tcp:3449 tcp:3449
|
|
|
|
adb -e reverse tcp:4567 tcp:4567
|
|
|
|
|
2018-04-10 08:29:18 +00:00
|
|
|
android-ports-real: ##@other Add reverse proxy to Android Device/Simulator
|
|
|
|
adb -d reverse tcp:8081 tcp:8081
|
|
|
|
adb -d reverse tcp:3449 tcp:3449
|
|
|
|
adb -d reverse tcp:4567 tcp:4567
|
|
|
|
|
2018-03-13 11:55:42 +00:00
|
|
|
|
|
|
|
startdev-%:
|
|
|
|
$(eval SYSTEM := $(word 2, $(subst -, , $@)))
|
|
|
|
$(eval DEVICE := $(word 3, $(subst -, , $@)))
|
2018-07-26 11:22:15 +00:00
|
|
|
${MAKE} prepare-${SYSTEM}
|
|
|
|
${MAKE} watch-$(SYSTEM)-$(DEVICE)
|