forked from signalapp/Signal-iOS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
49 lines (38 loc) · 1.21 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
# Make sure we're failing even though we pipe to xcpretty
SHELL=/bin/bash -o pipefail -o errexit
WORKING_DIR = ./
THIRD_PARTY_DIR = $(WORKING_DIR)/ThirdParty
SCHEME = Signal
XCODE_BUILD = xcrun xcodebuild -workspace $(SCHEME).xcworkspace -scheme $(SCHEME) -sdk iphonesimulator
SETUP_HOOK_PATH = $(HOME)/.ci/setup.sh
.PHONY: build test retest clean dependencies
default: test
update_dependencies:
bundle exec pod update
carthage update --platform iOS
setup:
[ -x ${SETUP_HOOK_PATH} ] && ${SETUP_HOOK_PATH}
rbenv install -s
gem install bundler
bundle install
dependencies:
cd $(WORKING_DIR) && \
git submodule foreach --recursive git clean -xfd && \
git submodule foreach --recursive git reset --hard && \
git submodule update --init
cd $(THIRD_PARTY_DIR) && \
carthage build --platform iOS
build: dependencies
cd $(WORKING_DIR) && \
$(XCODE_BUILD) build | bundle exec xcpretty
test:
bundle exec fastlane test
clean: clean_carthage
cd $(WORKING_DIR) && \
$(XCODE_BUILD) clean | bundle exec xcpretty
clean_carthage:
cd $(THIRD_PARTY_DIR) && \
rm -fr Carthage/Build
# Migrating across swift versions requires me to run this sometimes
clean_carthage_cache:
rm -fr ~/Library/Caches/org.carthage.CarthageKit/