Skip to content

Commit 2588c44

Browse files
committed
Xcode8 compat changes
* Add modulemap for MacOSX 10.11 * Update modulemap * Use iPhone SE simulator to fix test failures (travis-ci/travis-ci#6422)
1 parent 0aaf650 commit 2588c44

File tree

9 files changed

+55
-24
lines changed

9 files changed

+55
-24
lines changed

.travis.yml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
11
language: objective-c
2+
rvm: 2.2
23
matrix:
3-
44
include:
55
- os: osx
66
osx_image: xcode8
7-
env: BUILD_SCHEME="SQLite iOS"
7+
env:
8+
- BUILD_SCHEME="SQLite iOS"
9+
- IOS_SIMULATOR="iPhone SE"
810
- os: osx
911
osx_image: xcode8
1012
env: BUILD_SCHEME="SQLite Mac"
1113
- os: osx
1214
osx_image: xcode8
13-
env: VALIDATOR_SUBSPEC="none"
15+
env:
16+
- VALIDATOR_SUBSPEC="none"
17+
- IOS_SIMULATOR="iPhone SE"
1418
- os: osx
1519
osx_image: xcode8
16-
env: VALIDATOR_SUBSPEC="standard"
20+
env:
21+
- VALIDATOR_SUBSPEC="standard"
22+
- IOS_SIMULATOR="iPhone SE"
1723
- os: osx
1824
osx_image: xcode8
19-
env: VALIDATOR_SUBSPEC="standalone"
25+
env:
26+
- VALIDATOR_SUBSPEC="standalone"
27+
- IOS_SIMULATOR="iPhone SE"
2028
- env: BUILD_SCHEME="SQLite iOS"
2129
- env: BUILD_SCHEME="SQLite Mac"
2230
- env: VALIDATOR_SUBSPEC="none"
@@ -26,4 +34,7 @@ before_install:
2634
- gem install xcpretty --no-document
2735
script:
2836
- ./run-tests.sh
37+
after_failure:
38+
- find $HOME/Library/Developer/Xcode/DerivedData/ -name '*.log' -print0 | xargs -0 cat
39+
- cat /var/log/system.log
2940
osx_image: xcode7.3
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module CSQLite [system] {
2+
header "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sqlite3.h"
3+
export *
4+
}

CocoaPods/macosx/module.modulemap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module CSQLite [system] {
2-
header "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sqlite3.h"
2+
header "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sqlite3.h"
33
export *
44
}

CocoaPodsTests/integration_test.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,22 @@ def test_validate_project
1313

1414
def validator
1515
@validator ||= TestRunningValidator.new(podspec, []).tap do |validator|
16-
subspec = ENV["VALIDATOR_SUBSPEC"]
1716
validator.test_files = Dir["#{project_test_dir}/*.swift"]
1817
validator.config.verbose = true
1918
validator.no_clean = true
2019
validator.use_frameworks = true
2120
validator.fail_fast = true
2221
validator.local = true
2322
validator.allow_warnings = true
24-
if subspec == "none"
23+
subspec = ENV['VALIDATOR_SUBSPEC']
24+
if subspec == 'none'
2525
validator.no_subspecs = true
2626
else
2727
validator.only_subspec = subspec
2828
end
29+
if ENV['IOS_SIMULATOR']
30+
validator.ios_simulator = ENV['IOS_SIMULATOR']
31+
end
2932
end
3033
end
3134

CocoaPodsTests/test_running_validator.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ class TestRunningValidator < Pod::Validator
77
TEST_TARGET = 'Tests'
88

99
attr_accessor :test_files
10-
attr_accessor :iphone_simulator
10+
attr_accessor :ios_simulator
1111
attr_accessor :tvos_simulator
1212

1313
def initialize(spec_or_path, source_urls)
1414
super(spec_or_path, source_urls)
15-
self.iphone_simulator = :oldest
15+
self.ios_simulator = :oldest
1616
self.tvos_simulator = :oldest
1717
end
1818

@@ -61,7 +61,7 @@ def create_test_target(project)
6161
test_target.add_file_references(test_files.map { |file| group.new_file(file) })
6262
project.save
6363
create_test_scheme(project, test_target)
64-
project
64+
test_target
6565
end
6666

6767
def create_test_scheme(project, test_target)
@@ -90,7 +90,7 @@ def run_tests
9090
case consumer.platform_name
9191
when :ios
9292
command += %w(CODE_SIGN_IDENTITY=- -sdk iphonesimulator)
93-
command += Fourflusher::SimControl.new.destination(iphone_simulator, 'iOS', deployment_target)
93+
command += Fourflusher::SimControl.new.destination(ios_simulator, 'iOS', deployment_target)
9494
when :osx
9595
command += %w(LD_RUNPATH_SEARCH_PATHS=@loader_path/../Frameworks)
9696
when :tvos
@@ -100,7 +100,8 @@ def run_tests
100100
return # skip watchos
101101
end
102102

103-
output, status = Dir.chdir(validation_dir) { _xcodebuild(command) }
103+
output, status = _xcodebuild(command)
104+
104105
unless status.success?
105106
message = 'Returned an unsuccessful exit code.'
106107
if config.verbose?
@@ -110,5 +111,6 @@ def run_tests
110111
end
111112
error('xcodebuild', message)
112113
end
114+
output
113115
end
114116
end

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
BUILD_TOOL = xcodebuild
22
BUILD_SCHEME = SQLite Mac
3+
IOS_SIMULATOR = iPhone 6
34
ifeq ($(BUILD_SCHEME),SQLite iOS)
4-
BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)" -destination "platform=iOS Simulator,name=iPhone 6"
5+
BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)" -destination "platform=iOS Simulator,name=$(IOS_SIMULATOR)"
56
else
67
BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)"
78
endif

SQLite.swift.podspec

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,17 @@ Pod::Spec.new do |s|
3333
ss.library = 'sqlite3'
3434
ss.preserve_paths = 'CocoaPods/**/*'
3535
ss.pod_target_xcconfig = {
36-
'SWIFT_INCLUDE_PATHS[sdk=macosx*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/macosx',
37-
'SWIFT_INCLUDE_PATHS[sdk=iphoneos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphoneos',
38-
'SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphonesimulator',
39-
'SWIFT_INCLUDE_PATHS[sdk=appletvos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/appletvos',
40-
'SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/appletvsimulator',
41-
'SWIFT_INCLUDE_PATHS[sdk=watchos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/watchos',
42-
'SWIFT_INCLUDE_PATHS[sdk=watchsimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/watchsimulator'
36+
'SWIFT_INCLUDE_PATHS[sdk=macosx*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/macosx',
37+
'SWIFT_INCLUDE_PATHS[sdk=macosx10.11]' => '$(SRCROOT)/SQLite.swift/CocoaPods/macosx-10.11',
38+
'SWIFT_INCLUDE_PATHS[sdk=macosx10.12]' => '$(SRCROOT)/SQLite.swift/CocoaPods/macosx-10.12',
39+
'SWIFT_INCLUDE_PATHS[sdk=iphoneos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphoneos',
40+
'SWIFT_INCLUDE_PATHS[sdk=iphoneos10.0]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphoneos-10.0',
41+
'SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphonesimulator',
42+
'SWIFT_INCLUDE_PATHS[sdk=iphonesimulator10.0]' => '$(SRCROOT)/SQLite.swift/CocoaPods/iphonesimulator-10.0',
43+
'SWIFT_INCLUDE_PATHS[sdk=appletvos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/appletvos',
44+
'SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/appletvsimulator',
45+
'SWIFT_INCLUDE_PATHS[sdk=watchos*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/watchos',
46+
'SWIFT_INCLUDE_PATHS[sdk=watchsimulator*]' => '$(SRCROOT)/SQLite.swift/CocoaPods/watchsimulator'
4347
}
4448
end
4549

SQLite.xcodeproj/project.pbxproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@
182182
EE247AF21C3F06E900AE3E12 /* Statement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Statement.swift; sourceTree = "<group>"; };
183183
EE247AF31C3F06E900AE3E12 /* Value.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Value.swift; sourceTree = "<group>"; };
184184
EE247AF51C3F06E900AE3E12 /* FTS4.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FTS4.swift; sourceTree = "<group>"; };
185-
EE247AF61C3F06E900AE3E12 /* RTree.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "RTree.swift"; sourceTree = "<group>"; };
185+
EE247AF61C3F06E900AE3E12 /* RTree.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RTree.swift; sourceTree = "<group>"; };
186186
EE247AF71C3F06E900AE3E12 /* Foundation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Foundation.swift; sourceTree = "<group>"; };
187187
EE247AF81C3F06E900AE3E12 /* Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Helpers.swift; sourceTree = "<group>"; };
188188
EE247AFA1C3F06E900AE3E12 /* AggregateFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AggregateFunctions.swift; sourceTree = "<group>"; };
@@ -205,7 +205,7 @@
205205
EE247B211C3F137700AE3E12 /* FTS4Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FTS4Tests.swift; sourceTree = "<group>"; };
206206
EE247B2A1C3F141E00AE3E12 /* OperatorsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperatorsTests.swift; sourceTree = "<group>"; };
207207
EE247B2B1C3F141E00AE3E12 /* QueryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueryTests.swift; sourceTree = "<group>"; };
208-
EE247B2C1C3F141E00AE3E12 /* RTreeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "RTreeTests.swift"; sourceTree = "<group>"; };
208+
EE247B2C1C3F141E00AE3E12 /* RTreeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RTreeTests.swift; sourceTree = "<group>"; };
209209
EE247B2D1C3F141E00AE3E12 /* SchemaTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchemaTests.swift; sourceTree = "<group>"; };
210210
EE247B321C3F142E00AE3E12 /* StatementTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatementTests.swift; sourceTree = "<group>"; };
211211
EE247B331C3F142E00AE3E12 /* ValueTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueTests.swift; sourceTree = "<group>"; };
@@ -1248,6 +1248,7 @@
12481248
SKIP_INSTALL = YES;
12491249
SWIFT_INCLUDE_PATHS = "";
12501250
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" = "$(SRCROOT)/CocoaPods/macosx";
1251+
"SWIFT_INCLUDE_PATHS[sdk=macosx10.11]" = "$(SRCROOT)/CocoaPods/macosx-10.11";
12511252
"SWIFT_INCLUDE_PATHS[sdk=macosx10.12]" = "$(SRCROOT)/CocoaPods/macosx-10.12";
12521253
SWIFT_VERSION = 2.3;
12531254
};
@@ -1274,6 +1275,7 @@
12741275
SKIP_INSTALL = YES;
12751276
SWIFT_INCLUDE_PATHS = "";
12761277
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" = "$(SRCROOT)/CocoaPods/macosx";
1278+
"SWIFT_INCLUDE_PATHS[sdk=macosx10.11]" = "$(SRCROOT)/CocoaPods/macosx-10.11";
12771279
"SWIFT_INCLUDE_PATHS[sdk=macosx10.12]" = "$(SRCROOT)/CocoaPods/macosx-10.12";
12781280
SWIFT_VERSION = 2.3;
12791281
};

run-tests.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
#!/bin/bash
22
set -ev
33
if [ -n "$BUILD_SCHEME" ]; then
4-
make test BUILD_SCHEME="$BUILD_SCHEME"
4+
if [ -n "$IOS_SIMULATOR" ]; then
5+
make test BUILD_SCHEME="$BUILD_SCHEME" IOS_SIMULATOR="$IOS_SIMULATOR"
6+
else
7+
make test BUILD_SCHEME="$BUILD_SCHEME"
8+
fi
59
elif [ -n "$VALIDATOR_SUBSPEC" ]; then
610
cd CocoaPodsTests && make test
711
fi

0 commit comments

Comments
 (0)