Skip to content

Commit 6290264

Browse files
authored
Release 0.4.0 (#6)
## [0.4.0] - 2020-07-13 ### Changed - Converted build system to use a single target to produce a universal framework, rather than separate targets for each platform that share a product name. This is to prevent issues with `xcodebuild` resolving the build scheme to an incorrect platform when building dependent packages with 'Find Implicit Dependencies' enabled. This is due to a bug in `xcodebuild`, for more information see [http://www.openradar.me/20490378](http://www.openradar.me/20490378) and [http://www.openradar.me/22008701](http://www.openradar.me/22008701).
1 parent 8b45368 commit 6290264

File tree

8 files changed

+115
-880
lines changed

8 files changed

+115
-880
lines changed

.circleci/config.yml

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
version: 2.1
22
jobs:
3+
# TODO (gwhelanld): Consider adding linux CI job for swiftpm linux build/test
34
build:
45
shell: /bin/bash --login -eo pipefail
56

@@ -15,21 +16,47 @@ jobs:
1516
mkdir -p 'test-results'
1617
mkdir -p 'artifacts'
1718
19+
# TODO (gwhelanld): Consider adding additional build tests for different device architectures
20+
21+
- run:
22+
name: Build & Test on macOS Simulator
23+
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk macosx -destination 'platform=macOS' | tee 'artifacts/raw-logs-macosx.txt' | xcpretty -r junit -o 'test-results/platform-macosx/junit.xml'
24+
when: always
25+
26+
- run:
27+
name: Build Tests for iOS device
28+
command: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk iphoneos CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iphoneos.txt' | xcpretty
29+
when: always
30+
31+
- run:
32+
name: Build & Test on iOS Simulator
33+
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iphonesimulator.txt' | xcpretty -r junit -o 'test-results/platform-iphonesimulator/junit.xml'
34+
when: always
35+
36+
- run:
37+
name: Build Tests for tvOS device
38+
command: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk appletvos CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-appletvos.txt' | xcpretty
39+
when: always
40+
1841
- run:
19-
name: Test macOS
20-
command: xcodebuild test -scheme 'LDSwiftEventSource macOS' -destination 'platform=macOS' | tee 'artifacts/raw-logs-macOS.txt' | xcpretty -r junit -o 'test-results/platform-macOS/junit.xml'
42+
name: Build & Test on tvOS Simulator
43+
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV' | tee 'artifacts/raw-logs-appletvsimulator.txt' | xcpretty -r junit -o 'test-results/platform-appletvsimulator/junit.xml'
44+
when: always
2145

2246
- run:
23-
name: Test iOS
24-
command: xcodebuild test -scheme 'LDSwiftEventSource iOS' -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iOS.txt' | xcpretty -r junit -o 'test-results/platform-iOS/junit.xml'
47+
name: Build for watchOS simulator # No XCTest testing on watchOS
48+
command: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchsimulator | tee 'artifacts/raw-logs-watchsimulator.txt' | xcpretty
49+
when: always
2550

2651
- run:
27-
name: Test tvOS
28-
command: xcodebuild test -scheme 'LDSwiftEventSource tvOS' -destination 'platform=tvOS Simulator,name=Apple TV' | tee 'artifacts/raw-logs-tvOS.txt' | xcpretty -r junit -o 'test-results/platform-tvOS/junit.xml'
52+
name: Build for watchOS device # No XCTest testing on watchOS
53+
command: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchos | tee 'artifacts/raw-logs-watchos.txt' | xcpretty
54+
when: always
2955

3056
- run:
31-
name: Build watchOS # No unit testing on watchOS
32-
command: xcodebuild build -scheme 'LDSwiftEventSource watchOS' | tee 'artifacts/raw-logs-watchOS.txt' | xcpretty
57+
name: Build & Test with swiftpm
58+
command: swift test -v 2>&1 | tee 'artifacts/raw-logs-swiftpm.txt' | xcpretty -r junit -o 'test-results/swiftpm/junit.xml'
59+
when: always
3360

3461
- store_test_results:
3562
path: test-results

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to the LaunchDarkly Swift EventSource library will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
44

5+
## [0.4.0] - 2020-07-13
6+
### Changed
7+
- Converted build system to use a single target to produce a universal framework, rather than separate targets for each platform that share a product name. This is to prevent issues with `xcodebuild` resolving the build scheme to an incorrect platform when building dependent packages with 'Find Implicit Dependencies' enabled. This is due to a bug in `xcodebuild`, for more information see [http://www.openradar.me/20490378](http://www.openradar.me/20490378) and [http://www.openradar.me/22008701](http://www.openradar.me/22008701).
8+
59
## [0.3.0] - 2020-06-02
610
### Added
711
- Added `stop()` method to shutdown the EventSource connection.

LDSwiftEventSource.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "LDSwiftEventSource"
3-
s.version = "0.3.0"
3+
s.version = "0.4.0"
44
s.summary = "Swift EventSource library"
55
s.homepage = "https://github.com/launchdarkly/swift-eventsource"
66
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE.txt" }

0 commit comments

Comments
 (0)