Skip to content

Fully Migrated to Swift 3 #501

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .swift-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.3
3.0
49 changes: 19 additions & 30 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,28 @@
language: objective-c
rvm: 2.2
osx_image: xcode8
matrix:
include:
- env:
- BUILD_SCHEME="SQLite iOS"
- IOS_SIMULATOR="iPhone SE"
- env: BUILD_SCHEME="SQLite Mac"
- env:
- VALIDATOR_SUBSPEC="none"
- IOS_SIMULATOR="iPhone SE"
- env:
- VALIDATOR_SUBSPEC="standard"
- IOS_SIMULATOR="iPhone SE"
- env:
- VALIDATOR_SUBSPEC="standalone"
- IOS_SIMULATOR="iPhone SE"
- os: osx
osx_image: xcode7.3
env: BUILD_SCHEME="SQLite iOS"
- os: osx
osx_image: xcode7.3
env: BUILD_SCHEME="SQLite Mac"
- os: osx
osx_image: xcode7.3
env: VALIDATOR_SUBSPEC="none"
- os: osx
osx_image: xcode7.3
env: VALIDATOR_SUBSPEC="standard"
- os: osx
osx_image: xcode7.3
env: VALIDATOR_SUBSPEC="standalone"
env:
global:
- LC_CTYPE=en_US.UTF-8
- LANG=en_US.UTF-8
- IOS_FRAMEWORK_SCHEME="SQLite iOS"
- OSX_FRAMEWORK_SCHEME="SQLite Mac"
- TVOS_FRAMEWORK_SCHEME="SQLite tvOS"
- WATCHOS_FRAMEWORK_SCHEME="SQLite watchOS"
- IOS_SDK="iphonesimulator10.0"
- OSX_SDK="macosx10.12"
- TVOS_SDK="appletvsimulator10.0"
- WATCHOS_SDK="watchsimulator3.0"
matrix:
- DESTINATION="OS=10.0,name=iPhone 7 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" POD_LINT="YES"
# - DESTINATION="OS=3.0,name=Apple Watch - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" SDK="$WATCHOS_SDK" RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=10.0,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" SDK="$TVOS_SDK" RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="arch=x86_64" SCHEME="$OSX_FRAMEWORK_SCHEME" SDK="$OSX_SDK" RUN_TESTS="YES" POD_LINT="NO"
before_install:
- gem install xcpretty --no-document
script:
- xcodebuild -version
- xcodebuild -showsdks
- ./run-tests.sh
after_failure:
- find $HOME/Library/Developer/Xcode/DerivedData/ -name '*.log' -print0 | xargs -0 cat
Expand Down
19 changes: 9 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
BUILD_TOOL = xcodebuild
BUILD_SCHEME = SQLite Mac
IOS_SIMULATOR = iPhone 6
ifeq ($(BUILD_SCHEME),SQLite iOS)
BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)" -destination "platform=iOS Simulator,name=$(IOS_SIMULATOR)"
else
BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)"
endif

BUILD_ARGUMENTS = -scheme "$(BUILD_SCHEME)" -sdk "$(BUILD_SDK)" -destination "$(BUILD_DESTINATION)" -configuration Debug ONLY_ACTIVE_ARCH=NO

XCPRETTY := $(shell command -v xcpretty)
SWIFTCOV := $(shell command -v swiftcov)
Expand All @@ -14,13 +9,17 @@ GCOVR := $(shell command -v gcovr)
default: test

build:
$(BUILD_TOOL) $(BUILD_ARGUMENTS)
ifdef XCPRETTY
@set -o pipefail && $(BUILD_TOOL) $(BUILD_ARGUMENTS) build | $(XCPRETTY) -c
else
$(BUILD_TOOL) $(BUILD_ARGUMENTS) build
endif

test:
ifdef XCPRETTY
@set -o pipefail && $(BUILD_TOOL) $(BUILD_ARGUMENTS) test | $(XCPRETTY) -c
@set -o pipefail && $(BUILD_TOOL) $(BUILD_ARGUMENTS) ENABLE_TESTABILITY=YES test | $(XCPRETTY) -c
else
$(BUILD_TOOL) $(BUILD_ARGUMENTS) test
$(BUILD_TOOL) $(BUILD_ARGUMENTS) ENABLE_TESTABILITY=YES test
endif

coverage:
Expand Down
24 changes: 14 additions & 10 deletions SQLite.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -970,7 +970,7 @@
SKIP_INSTALL = YES;
"SWIFT_INCLUDE_PATHS[sdk=appletvos*]" = "$(SRCROOT)/CocoaPods/appletvos";
"SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]" = "$(SRCROOT)/CocoaPods/appletvsimulator";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
TVOS_DEPLOYMENT_TARGET = 9.1;
};
name = Debug;
Expand All @@ -992,7 +992,7 @@
SKIP_INSTALL = YES;
"SWIFT_INCLUDE_PATHS[sdk=appletvos*]" = "$(SRCROOT)/CocoaPods/appletvos";
"SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]" = "$(SRCROOT)/CocoaPods/appletvsimulator";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
TVOS_DEPLOYMENT_TARGET = 9.1;
};
name = Release;
Expand All @@ -1005,6 +1005,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
SWIFT_VERSION = 3.0;
TVOS_DEPLOYMENT_TARGET = 9.1;
};
name = Debug;
Expand All @@ -1017,6 +1018,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
SWIFT_VERSION = 3.0;
TVOS_DEPLOYMENT_TARGET = 9.1;
};
name = Release;
Expand All @@ -1038,6 +1040,7 @@
PRODUCT_NAME = SQLite;
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.2;
};
Expand All @@ -1060,6 +1063,7 @@
PRODUCT_NAME = SQLite;
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.2;
};
Expand Down Expand Up @@ -1185,7 +1189,7 @@
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]" = "$(SRCROOT)/CocoaPods/iphonesimulator";
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator10.0]" = "$(SRCROOT)/CocoaPods/iphonesimulator-10.0";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Debug;
};
Expand All @@ -1210,7 +1214,7 @@
"SWIFT_INCLUDE_PATHS[sdk=iphoneos10.0]" = "$(SRCROOT)/CocoaPods/iphoneos-10.0";
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]" = "$(SRCROOT)/CocoaPods/iphonesimulator";
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator10.0]" = "$(SRCROOT)/CocoaPods/iphonesimulator-10.0";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Release;
};
Expand All @@ -1221,7 +1225,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Debug;
};
Expand All @@ -1232,7 +1236,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Release;
};
Expand All @@ -1259,7 +1263,7 @@
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" = "$(SRCROOT)/CocoaPods/macosx";
"SWIFT_INCLUDE_PATHS[sdk=macosx10.11]" = "$(SRCROOT)/CocoaPods/macosx-10.11";
"SWIFT_INCLUDE_PATHS[sdk=macosx10.12]" = "$(SRCROOT)/CocoaPods/macosx-10.12";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Debug;
};
Expand All @@ -1286,7 +1290,7 @@
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" = "$(SRCROOT)/CocoaPods/macosx";
"SWIFT_INCLUDE_PATHS[sdk=macosx10.11]" = "$(SRCROOT)/CocoaPods/macosx-10.11";
"SWIFT_INCLUDE_PATHS[sdk=macosx10.12]" = "$(SRCROOT)/CocoaPods/macosx-10.12";
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Release;
};
Expand All @@ -1301,7 +1305,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Debug;
};
Expand All @@ -1316,7 +1320,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.stephencelis.SQLiteTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SWIFT_VERSION = 2.3;
SWIFT_VERSION = 3.0;
};
name = Release;
};
Expand Down
10 changes: 5 additions & 5 deletions SQLite/Core/Blob.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public struct Blob {
self.bytes = bytes
}

public init(bytes: UnsafePointer<Void>, length: Int) {
self.init(bytes: [UInt8](UnsafeBufferPointer(
start: UnsafePointer(bytes), count: length
)))
public init(bytes: UnsafeRawPointer, length: Int) {
// TODO correct count
let i8bufptr = UnsafeBufferPointer(start: bytes.assumingMemoryBound(to: UInt8.self), count: length)
self.init(bytes: [UInt8](i8bufptr))
}

public func toHex() -> String {
return bytes.map {
($0 < 16 ? "0" : "") + String($0, radix: 16, uppercase: false)
}.joinWithSeparator("")
}.joined(separator: "")
}

}
Expand Down
Loading