status-react/scripts/bundle-status-go.sh

47 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env sh
set -euf pipefail
# TODO Clean up with require STATUS_GO_HOME and STATUS_REACT_HOME
echo "[Assumes status-go is in sibling directory]"
echo "[Warning: iOS only for now]"
cd ..
# Build status-go artifact for iOS:
(cd status-go && make statusgo-ios-simulator)
# You should see iOS framework cross compilation done. This builds the following artifact:
#
# > (cd status-go && find . -iname "Statusgo.framework")
# ./build/bin/statusgo-ios-9.3-framework/Statusgo.framework
#
# Normally this is installed by Maven via Artifactory in this step
# mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack
#
# Locally you can see it here:
# > (cd status-react && find . -iname "Statusgo.framework")
# ./modules/react-native-status/ios/RCTStatus/Statusgo.framework
# ./modules/react-native-status/ios/RCTStatus/Statusgo.framework/Statusgo.framework
#
# Instead we are going to manually overwrite it.
# For Xcode to pick up the new version, remove the whole framework first:
rm -r status-react/modules/react-native-status/ios/RCTStatus/Statusgo.framework/ || true
# Then copy over framework:
cp -R status-go/build/bin/statusgo-ios-9.3-framework/Statusgo.framework status-react/modules/react-native-status/ios/RCTStatus/Statusgo.framework
# In Xcode, clean and build. If you have any scripts to do this, make sure that
# you don't accidentally run the mvn step to undo your manual install.
#
# It might also be a good idea to print something custom so you can easily tell
# the difference between an old and new version of status-go.
cd -
echo "[Done]"
echo "[You can now build in Xcode]"