95 lines
2.9 KiB
Makefile
95 lines
2.9 KiB
Makefile
export PATH := $(PATH):./node_modules/.bin
|
|
ANDROID_RELEASE_STOREPASS ?= NotSoSecret
|
|
ANDROID_RELEASE_KEYPASS ?= NotSoSecret
|
|
CHANGELOG_NEXT_TAG ?= develop
|
|
|
|
init: clear
|
|
# Install gomobile
|
|
GO111MODULE=off go get -u golang.org/x/mobile/cmd/gomobile
|
|
npm install
|
|
|
|
audit:
|
|
npm audit
|
|
|
|
serve:
|
|
npm start
|
|
|
|
install-android:
|
|
adb reverse tcp:8081 tcp:8081
|
|
react-native run-android --appIdSuffix debug
|
|
|
|
android-debug:
|
|
adb shell input keyevent 82
|
|
|
|
update-gomobile:
|
|
go get -u golang.org/x/mobile/cmd/gomobile
|
|
go get -u golang.org/x/mobile/cmd/gobind
|
|
|
|
android-bridge:
|
|
rm -rf build/android build/reachview-sources.jar
|
|
mkdir -p build/android
|
|
gomobile bind -v -javapkg com.pyxis.orion -target android -o build/android/reachview.aar forge.cadoles.com/Pyxis/fieldnotes/bridge/reachview
|
|
cp build/android/reachview.aar android/app/libs/reachview.aar
|
|
rm -rf build/android/jar
|
|
mkdir -p build/android/jar
|
|
unzip -d build/android/jar build/android/reachview-sources.jar
|
|
|
|
android-release: update-app-info
|
|
npx jetify
|
|
rm -rf ./android/.gradle ./android/.idea
|
|
cd ./android && ./gradlew cleanBuildCache
|
|
cd ./android && ./gradlew build --refresh-dependencies
|
|
cd ./android && ./gradlew assembleRelease --info --stacktrace
|
|
|
|
update-app-info:
|
|
jq ".versionClassifier = \"${VERSION_CLASSIFIER}\"" src/util/appInfo.json | sponge src/util/appInfo.json
|
|
jq ".releaseChannel = \"${RELEASE_CHANNEL}\"" src/util/appInfo.json | sponge src/util/appInfo.json
|
|
jq ".versionCode = \"${VERSION_CODE_OVERRIDE}\"" src/util/appInfo.json | sponge src/util/appInfo.json
|
|
jq ".appIdSuffix = \"${RELEASE_APP_ID_SUFFIX}\"" src/util/appInfo.json | sponge src/util/appInfo.json
|
|
|
|
ci-image:
|
|
docker build -t pyxis-fieldnotes-ci containers/ci
|
|
|
|
ci-release: ci-image
|
|
docker run \
|
|
--rm -it \
|
|
-v $(PWD):/project:ro \
|
|
-e "ANDROID_RELEASE_KEY_STOREPASS=$(ANDROID_RELEASE_STOREPASS)" \
|
|
-e "ANDROID_RELEASE_KEY_KEYPASS=$(ANDROID_RELEASE_KEYPASS)" \
|
|
-e "ANDROID_RELEASE_KEYSTORE=build/new.keystore" \
|
|
pyxis-fieldnotes-ci:latest \
|
|
bash -c "\
|
|
mkdir /workdir \
|
|
&& cp -rT /project /workdir \
|
|
&& rm -f /workdir/android/local.properties \
|
|
&& rm -f /workdir/android/app/release.keystore \
|
|
&& rm -rf /workdir/node_modules \
|
|
&& cd /workdir \
|
|
&& make init \
|
|
&& npm cache clean --force \
|
|
&& /usr/local/bin/configure-gradle-keystore \
|
|
&& make android-release \
|
|
"
|
|
|
|
android-log:
|
|
adb logcat -s 'fieldnotes:* ReactNativeJS:* AndroidRuntime:*'
|
|
|
|
clean:
|
|
# Fix https://github.com/facebook/react-native/issues/4968
|
|
npx react-native-clean-project
|
|
|
|
changelog:
|
|
git-chglog --next-tag $(CHANGELOG_NEXT_TAG) > CHANGELOG.md
|
|
|
|
new-keystore:
|
|
keytool -genkey -noprompt \
|
|
-alias fieldnotes \
|
|
-dname "CN=cadoles.com, OU=Dev, O=Cadoles, L=Dijon, S=Bourgogne-FrancheComté, C=FR" \
|
|
-keystore "build/new.keystore" \
|
|
-storepass "$(ANDROID_RELEASE_STOREPASS)" \
|
|
-keypass "$(ANDROID_RELEASE_KEYPASS)"
|
|
|
|
test:
|
|
npm test
|
|
|
|
.PHONY: serve init clear |