From b61975a15c0ca25b41b10d2f2b2f169e5109961e Mon Sep 17 00:00:00 2001 From: Said Sikira Date: Mon, 27 Nov 2017 14:56:47 +0100 Subject: [PATCH 1/4] Add `build.sh` build script Defined basic build and testing commands --- build.sh | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 build.sh diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..0bc5439 --- /dev/null +++ b/build.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +set -o errexit +set -o errtrace +set -o pipefail + +PROJECT="Lift.xcodeproj" +SCHEME="Lift" + +IOS_SDK="iphonesimulator11.1" +IOS_DESTINATION="OS=11.1,name=iPhone 8" + +usage() { +cat << EOF +Usage: sh $0 command + [Building] + + iOS Build iOS framework + native Build using `swift build` + clean Clean up all un-neccesary files + + [Testing] + + test-iOS Run tests on iOS host + test-swift Run tests using `swift test` +EOF +} + +COMMAND="$1" + +case "$COMMAND" in + "clean") + find . -type d -name build -exec rm -r "{}" +\; + exit 0; + ;; + + "iOS" | "ios") + xcodebuild clean \ + -project $PROJECT \ + -scheme "${SCHEME}" \ + -sdk "${IOS_SDK}" \ + -destination "${IOS_DESTINATION}" \ + -configuration Debug ONLY_ACTIVE_ARCH=YES \ + CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO \ + build | xcpretty -c + exit 0; + ;; + + "native" | "") + swift build + exit 0; + ;; + + "test-iOS" | "test-ios") + xcodebuild clean \ + -project $PROJECT \ + -scheme "${SCHEME}" \ + -sdk "${IOS_SDK}" \ + -destination "${IOS_DESTINATION}" \ + -configuration Release \ + ONLY_ACTIVE_ARCH=YES \ + CODE_SIGNING_REQUIRED=NO \ + ENABLE_TESTABILITY=YES \ + build test | xcpretty -c + exit 0; + ;; + + "test-swift") + swift package clean + swift build + swift test + exit 0; + ;; +esac + +usage \ No newline at end of file From d2126b9a963b1ed3ebd4d16ecb4609da98f9d7c2 Mon Sep 17 00:00:00 2001 From: Said Sikira Date: Mon, 27 Nov 2017 14:58:36 +0100 Subject: [PATCH 2/4] Add `.travis.yml` file --- .travis.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e110d65 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +language: objective-c +osx_image: xcode9.1 +env: + global: + - LC_CTYPE=en_US.UTF-8 + - LANG=en_US.UTF-8 + matrix: + - COMMAND="test-iOS" + - COMMAND="test-swift" +script: +- set -o pipefail +- xcodebuild -version +- xcodebuild -showsdks +- swift -version +- sh build.sh "$COMMAND" \ No newline at end of file From 6a7779c076c8ec3ad5d9731d4861fd37613459e9 Mon Sep 17 00:00:00 2001 From: Said Sikira Date: Mon, 27 Nov 2017 14:59:48 +0100 Subject: [PATCH 3/4] Rename `test-swift` to `test-native` in build script --- .travis.yml | 2 +- build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e110d65..a17c506 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ env: - LANG=en_US.UTF-8 matrix: - COMMAND="test-iOS" - - COMMAND="test-swift" + - COMMAND="test-native" script: - set -o pipefail - xcodebuild -version diff --git a/build.sh b/build.sh index 0bc5439..80f7bcc 100644 --- a/build.sh +++ b/build.sh @@ -22,7 +22,7 @@ Usage: sh $0 command [Testing] test-iOS Run tests on iOS host - test-swift Run tests using `swift test` + test-native Run tests using `swift test` EOF } From c2fede6e0d11af7210392110f8c84c0ace692009 Mon Sep 17 00:00:00 2001 From: Said Sikira Date: Mon, 27 Nov 2017 15:00:10 +0100 Subject: [PATCH 4/4] Fix defined case in build script --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 80f7bcc..8a4f276 100644 --- a/build.sh +++ b/build.sh @@ -65,7 +65,7 @@ case "$COMMAND" in exit 0; ;; - "test-swift") + "test-native") swift package clean swift build swift test