Skip to content

Commit

Permalink
Merge pull request #21 from uber/artman/all-platforms
Browse files Browse the repository at this point in the history
Adds support for tvOS and watchOS
  • Loading branch information
alanzeino committed Feb 5, 2016
2 parents 1d87515 + f22f431 commit 1be0550
Show file tree
Hide file tree
Showing 6 changed files with 547 additions and 25 deletions.
47 changes: 32 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,52 @@
language: objective-c
osx_image: xcode7.1
osx_image: xcode7.2
env:
global:
- LC_CTYPE=en_US.UTF-8
- LANG=en_US.UTF-8
- PROJECT=UberSignals.xcodeproj
- IOS_FRAMEWORK_SCHEME="UberSignals iOS"
- OSX_FRAMEWORK_SCHEME="UberSignals OSX"
- TVOS_FRAMEWORK_SCHEME="UberSignals tvOS"
- WATCHOS_FRAMEWORK_SCHEME="UberSignals watchOS"
- IOS_SDK=iphonesimulator9.2
- OSX_SDK=macosx10.11
- TVOS_SDK=appletvsimulator9.1
- WATCHOS_SDK=watchsimulator2.1

matrix:
- DESTINATION="OS=9.1,name=iPhone 6s" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="YES" POD_LINT="NO"
- DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="YES" POD_LINT="NO"
- DESTINATION="OS=8.4,name=iPhone 6" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="NO" POD_LINT="NO"
- DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="NO" POD_LINT="NO"
- DESTINATION="OS=8.2,name=iPhone 5" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="NO" POD_LINT="NO"
- DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="UberSignals iOS" SDK=iphonesimulator9.1 RUN_TESTS="YES" BUILD="NO" POD_LINT="YES"
- DESTINATION="platform=OS X,arch=x86_64" SCHEME="UberSignals OSX" SDK=macosx10.11 RUN_TESTS="YES" BUILD="YES" POD_LINT="NO"
- DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES"
- DESTINATION="OS=8.2,name=iPhone 5" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=8.4,name=iPhone 6" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.1,name=iPhone 6S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="OS=9.2,name=iPhone 6S Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- DESTINATION="arch=x86_64" SCHEME="$OSX_FRAMEWORK_SCHEME" SDK="$OSX_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
- DESTINATION="OS=9.1,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" SDK="$TVOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
- DESTINATION="OS=2.1,name=Apple Watch - 38mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" SDK="$WATCHOS_SDK" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO"

before_install:
- gem install slather -N
- gem install slather -N

script:
- set -o pipefail
- xcodebuild -version
- xcodebuild -showsdks
- instruments -s devices
- if [ $BUILD == "YES" ]; then
xcodebuild -project UberSignals.xcodeproj -scheme "$SCHEME" -destination "$DESTINATION" -sdk "$SDK" -configuration Debug ONLY_ACTIVE_ARCH=NO clean build | xcpretty -c;
xcodebuild -project UberSignals.xcodeproj -scheme "$SCHEME" -destination "$DESTINATION" -sdk "$SDK" -configuration Release ONLY_ACTIVE_ARCH=NO clean build | xcpretty -c;
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -sdk "$SDK" -configuration Debug ONLY_ACTIVE_ARCH=NO clean build | xcpretty -c;
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -sdk "$SDK" -configuration Release ONLY_ACTIVE_ARCH=NO clean build | xcpretty -c;
fi
- if [ $RUN_TESTS == "YES" ]; then
xcodebuild -project UberSignals.xcodeproj -scheme "$SCHEME" -destination "$DESTINATION"
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION"
-configuration Debug ONLY_ACTIVE_ARCH=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean build test | xcpretty -c;
fi
- if [ $POD_LINT == "YES" ]; then
fi
- if [ $POD_LINT == "YES" ]; then
pod lib lint --quick;
fi

after_success: slather

notifications:
email: false
email: false
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@
![License](https://img.shields.io/cocoapods/l/Signals.svg?style=flat&color=gray)
![Platform](https://img.shields.io/cocoapods/p/UberSignals.svg?style=flat)

Signals is an eventing framework that enables you to implement the Observable pattern without using error prone and clumsy NSNotifications or delegates.
Signals is an eventing library that enables you to implement the Observable pattern without using error prone and clumsy NSNotifications or delegates.


## Features

- [x] Type-safety
- [x] Attach-and-forget observation
- [x] Specify operation queue to observe events on
- [X] Configurable observation behaviour
- [x] Separate callback queues
- [x] Comprehensive Unit Test Coverage

## Installation
Expand Down
4 changes: 3 additions & 1 deletion UberSignals.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'UberSignals'
s.version = '2.2.1'
s.version = '2.3.0'
s.license = { :type => 'MIT' }
s.summary = 'Signals is an eventing framework that enables you to implement the Observable pattern without using NSNotifications.'
s.homepage = 'https://github.com/uber/signals-ios'
Expand All @@ -11,6 +11,8 @@ Pod::Spec.new do |s|

s.ios.deployment_target = '7.0'
s.osx.deployment_target = '10.7'
s.watchos.deployment_target = '2.0'
s.tvos.deployment_target = '9.0'

s.source_files = "#{s.name}/**/*.{h,m}"
s.private_header_files = "#{s.name}/**/*+Internal.h"
Expand Down
Loading

0 comments on commit 1be0550

Please sign in to comment.