blob: 5711b9282c2f3803338b55b62a85f8097cd5c70f (
about) (
plain)
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
|
#!/usr/bin/env bash
#
# Setup Script
#
# Runs all the needed commands to set up a developer's system to run this app.
# Customize this as your app grows.
# Check for macOS
if [[ ! "$OSTYPE" =~ ^darwin ]]; then
echo "This script only works on macOS"
exit 1
fi
# Check for Homebrew
command -v brew >/dev/null 2>&1 || {
echo "This setup script requires Homebrew, but it was not found on your system."
echo "Install it using the instructions at https://brew.sh/"
exit 1
}
# Ensure CocoaPods is installed
command -v pod >/dev/null 2>&1 || {
echo "This app requires CocoaPods to run, but it was not found on your system."
echo "Install it using the instructions at https://guides.cocoapods.org/using/getting-started.html#installation"
exit 1
}
# Ensure Node.js is installed
command -v npm >/dev/null 2>&1 || {
echo "This app requires Node.js to run, but it was not found on your system."
echo "Installing node with brew..."
brew install node
}
# Ensure Watchman is installed
command -v watchman >/dev/null 2>&1 || {
echo "This app requires Watchman to watch file changes, but it was not found on your system."
echo "Installing watchman with brew..."
brew install watchman
}
# Ensure Yarn is installed
command -v yarn >/dev/null 2>&1 || {
echo "This app requires Yarn package manager, but it was not found on your system."
echo "Installing yarn with brew..."
brew install yarn
}
# Ensure react-native-cli is installed
command -v react-native >/dev/null 2>&1 || {
echo "This app requires react-native-cli, but it was not found on your system."
echo "Installing react-native-cli globally with yarn..."
yarn global add react-native-cli
}
# IF NEEDED: Ensure appleSimUtils is installed
# command -v applesimutils >/dev/null 2>&1 || {
# echo "This app requires appleSimUtils to run end to end tests, but it was not found on your system."
# echo "Installing applesimutils with brew..."
# brew tap wix/brew
# brew install applesimutils
# }
# IF NEEDED: Ensure detox-cli is installed
# command -v detox >/dev/null 2>&1 || {
# echo "This app requires detox-cli to run end to end tests, but it was not found on your system."
# echo "Installing detox globally with npm..."
# npm install -g detox-cli
# }
# IF NEEDED: Ensure phraseapp is installed
# command -v phraseapp >/dev/null 2>&1 || {
# echo "This app requires phraseapp to run localizations, but it was not found on your system."
# echo "Installing phraseapp with brew..."
# brew tap phrase/brewed
# brew install phraseapp
# }
echo "----------------------------------------------------------"
echo "Installing NPM Packages with Yarn"
echo "----------------------------------------------------------"
yarn || { echo "NPM Packages could not be installed!"; exit 1; };
echo "----------------------------------------------------------"
echo "Installing CocoaPods"
echo "----------------------------------------------------------"
cd ios/ && {
pod install || { echo "CocoaPods could not be installed!"; exit 1; };
cd -
}
# IF NEEDED
# echo "----------------------------------------------------------"
# echo "Running localizations"
# echo "----------------------------------------------------------"
# bin/localize
echo "----------------------------------------------------------"
echo "Running tests to verify setup is complete"
echo "----------------------------------------------------------"
yarn test || { exit 1; }
echo "----------------------------------------------------------"
echo "Setup complete!"
echo "----------------------------------------------------------"
echo "To run the app on iOS:"
echo "react-native run-ios"
|