Added support for Swift Package Manager.

This commit is contained in:
Wolf McNally 2019-01-06 19:03:46 -08:00
parent e982f1777b
commit c615963d3d
12 changed files with 496 additions and 2 deletions

3
.gitignore vendored
View File

@ -22,5 +22,8 @@ DerivedData
# Bundler
.bundle
# Swift Package Manager
.build
Carthage/Build
Pods/

16
Package.swift Normal file
View File

@ -0,0 +1,16 @@
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "WolfOSBridge",
products: [
.library(
name: "WolfOSBridge",
targets: ["WolfOSBridge"]),
],
targets: [
.target(
name: "WolfOSBridge",
dependencies: [])
]
)

View File

@ -29,6 +29,7 @@ public typealias OSView = NSView
public typealias OSImageView = NSImageView
public typealias OSEdgeInsets = NSEdgeInsets
public let OSEdgeInsetsZero = NSEdgeInsetsZero
@available(macOS 10.11, *)
public let OSViewNoIntrinsicMetric = NSView.noIntrinsicMetric
public typealias OSColor = NSColor

View File

@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'WolfOSBridge'
s.version = '1.1.0'
s.version = '1.1.1'
s.summary = 'Conveniences for writing code that runs under both iOS and macOS.'
s.description = <<-DESC
@ -14,7 +14,7 @@ Pod::Spec.new do |s|
s.swift_version = '4.2'
s.source_files = 'WolfOSBridge/Classes/**/*'
s.source_files = 'Sources/WolfOSBridge/**/*'
s.ios.deployment_target = '9.3'
s.macos.deployment_target = '10.13'

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -0,0 +1,355 @@
// !$*UTF8*$!
{
archiveVersion = "1";
objectVersion = "46";
objects = {
"OBJ_1" = {
isa = "PBXProject";
attributes = {
LastUpgradeCheck = "9999";
};
buildConfigurationList = "OBJ_2";
compatibilityVersion = "Xcode 3.2";
developmentRegion = "English";
hasScannedForEncodings = "0";
knownRegions = (
"en"
);
mainGroup = "OBJ_5";
productRefGroup = "OBJ_12";
projectDirPath = ".";
targets = (
"WolfOSBridge::WolfOSBridge",
"WolfOSBridge::SwiftPMPackageDescription"
);
};
"OBJ_10" = {
isa = "PBXGroup";
children = (
);
name = "Tests";
path = "";
sourceTree = "SOURCE_ROOT";
};
"OBJ_11" = {
isa = "PBXFileReference";
path = "Example";
sourceTree = "SOURCE_ROOT";
};
"OBJ_12" = {
isa = "PBXGroup";
children = (
"WolfOSBridge::WolfOSBridge::Product"
);
name = "Products";
path = "";
sourceTree = "BUILT_PRODUCTS_DIR";
};
"OBJ_15" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_16",
"OBJ_17"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_16" = {
isa = "XCBuildConfiguration";
buildSettings = {
ENABLE_TESTABILITY = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfOSBridge.xcodeproj/WolfOSBridge_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
PRODUCT_BUNDLE_IDENTIFIER = "WolfOSBridge";
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = "YES";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "WolfOSBridge";
};
name = "Debug";
};
"OBJ_17" = {
isa = "XCBuildConfiguration";
buildSettings = {
ENABLE_TESTABILITY = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfOSBridge.xcodeproj/WolfOSBridge_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
PRODUCT_BUNDLE_IDENTIFIER = "WolfOSBridge";
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = "YES";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "WolfOSBridge";
};
name = "Release";
};
"OBJ_18" = {
isa = "PBXSourcesBuildPhase";
files = (
"OBJ_19"
);
};
"OBJ_19" = {
isa = "PBXBuildFile";
fileRef = "OBJ_9";
};
"OBJ_2" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_3",
"OBJ_4"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_20" = {
isa = "PBXFrameworksBuildPhase";
files = (
);
};
"OBJ_22" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_23",
"OBJ_24"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_23" = {
isa = "XCBuildConfiguration";
buildSettings = {
LD = "/usr/bin/true";
OTHER_SWIFT_FLAGS = (
"-swift-version",
"4.2",
"-I",
"$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
"-target",
"x86_64-apple-macosx10.10",
"-sdk",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
);
SWIFT_VERSION = "4.2";
};
name = "Debug";
};
"OBJ_24" = {
isa = "XCBuildConfiguration";
buildSettings = {
LD = "/usr/bin/true";
OTHER_SWIFT_FLAGS = (
"-swift-version",
"4.2",
"-I",
"$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
"-target",
"x86_64-apple-macosx10.10",
"-sdk",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
);
SWIFT_VERSION = "4.2";
};
name = "Release";
};
"OBJ_25" = {
isa = "PBXSourcesBuildPhase";
files = (
"OBJ_26"
);
};
"OBJ_26" = {
isa = "PBXBuildFile";
fileRef = "OBJ_6";
};
"OBJ_3" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_OBJC_ARC = "YES";
COMBINE_HIDPI_IMAGES = "YES";
COPY_PHASE_STRIP = "NO";
DEBUG_INFORMATION_FORMAT = "dwarf";
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = "YES";
GCC_OPTIMIZATION_LEVEL = "0";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)"
);
MACOSX_DEPLOYMENT_TARGET = "10.10";
ONLY_ACTIVE_ARCH = "YES";
OTHER_SWIFT_FLAGS = (
"-DXcode"
);
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = "macosx";
SUPPORTED_PLATFORMS = (
"macosx",
"iphoneos",
"iphonesimulator",
"appletvos",
"appletvsimulator",
"watchos",
"watchsimulator"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"SWIFT_PACKAGE",
"DEBUG"
);
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
USE_HEADERMAP = "NO";
};
name = "Debug";
};
"OBJ_4" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_OBJC_ARC = "YES";
COMBINE_HIDPI_IMAGES = "YES";
COPY_PHASE_STRIP = "YES";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_OPTIMIZATION_LEVEL = "s";
MACOSX_DEPLOYMENT_TARGET = "10.10";
OTHER_SWIFT_FLAGS = (
"-DXcode"
);
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = "macosx";
SUPPORTED_PLATFORMS = (
"macosx",
"iphoneos",
"iphonesimulator",
"appletvos",
"appletvsimulator",
"watchos",
"watchsimulator"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"SWIFT_PACKAGE"
);
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
USE_HEADERMAP = "NO";
};
name = "Release";
};
"OBJ_5" = {
isa = "PBXGroup";
children = (
"OBJ_6",
"OBJ_7",
"OBJ_10",
"OBJ_11",
"OBJ_12"
);
path = "";
sourceTree = "<group>";
};
"OBJ_6" = {
isa = "PBXFileReference";
explicitFileType = "sourcecode.swift";
path = "Package.swift";
sourceTree = "<group>";
};
"OBJ_7" = {
isa = "PBXGroup";
children = (
"OBJ_8"
);
name = "Sources";
path = "";
sourceTree = "SOURCE_ROOT";
};
"OBJ_8" = {
isa = "PBXGroup";
children = (
"OBJ_9"
);
name = "WolfOSBridge";
path = "Sources/WolfOSBridge";
sourceTree = "SOURCE_ROOT";
};
"OBJ_9" = {
isa = "PBXFileReference";
path = "OSView.swift";
sourceTree = "<group>";
};
"WolfOSBridge::SwiftPMPackageDescription" = {
isa = "PBXNativeTarget";
buildConfigurationList = "OBJ_22";
buildPhases = (
"OBJ_25"
);
dependencies = (
);
name = "WolfOSBridgePackageDescription";
productName = "WolfOSBridgePackageDescription";
productType = "com.apple.product-type.framework";
};
"WolfOSBridge::WolfOSBridge" = {
isa = "PBXNativeTarget";
buildConfigurationList = "OBJ_15";
buildPhases = (
"OBJ_18",
"OBJ_20"
);
dependencies = (
);
name = "WolfOSBridge";
productName = "WolfOSBridge";
productReference = "WolfOSBridge::WolfOSBridge::Product";
productType = "com.apple.product-type.framework";
};
"WolfOSBridge::WolfOSBridge::Product" = {
isa = "PBXFileReference";
path = "WolfOSBridge.framework";
sourceTree = "BUILT_PRODUCTS_DIR";
};
};
rootObject = "OBJ_1";
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>
</plist>

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "9999"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "WolfOSBridge::WolfOSBridge"
BuildableName = "WolfOSBridge.framework"
BlueprintName = "WolfOSBridge"
ReferencedContainer = "container:WolfOSBridge.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "WolfOSBridge::WolfOSBridge"
BuildableName = "WolfOSBridge.framework"
BlueprintName = "WolfOSBridge"
ReferencedContainer = "container:WolfOSBridge.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>