Merge branch 'master' into fix-generation-order

This commit is contained in:
Yonas Kolb 2019-04-07 13:19:42 +10:00 committed by GitHub
commit ceee0d6115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 115 additions and 467 deletions

View File

@ -1,8 +1,8 @@
version: 2
jobs:
macOS_swift_4.2:
macOS_swift_5.0:
macos:
xcode: "10.0.0"
xcode: "10.2.0"
steps:
- checkout
- run:
@ -27,4 +27,4 @@ workflows:
version: 2
workflow:
jobs:
- macOS_swift_4.2
- macOS_swift_5.0

View File

@ -3,12 +3,26 @@
## Next Version
#### Added
- Added support for `app-extension.intents-service` target type [#536](https://github.com/yonaskolb/XcodeGen/pull/536) @yonaskolb
#### Changed
- Updated to xcodeproj 6.7.0 including its performance improvements [#536](https://github.com/yonaskolb/XcodeGen/pull/536) @yonaskolb
- Updated default generated settings for Xcode 10.2 [#555](https://github.com/yonaskolb/XcodeGen/pull/555) @yonaskolb
#### Fixed
- Fixed `optional` file sources not being added to the project [#557](https://github.com/yonaskolb/XcodeGen/pull/557) @yonaskolb
- Fixed order of file generation. Plists are now generated before the project is generated so that the project includes the generated plists [#544](https://github.com/yonaskolb/XcodeGen/issues/544) @tomquist
## 2.4.0
#### Fixed:
- Fixed installation when building in Swift 5 [#549](https://github.com/yonaskolb/XcodeGen/pull/549) @yonaskolb
#### Changed
- Updated to Swift 5 and dropped Swift 4.2 [#549](https://github.com/yonaskolb/XcodeGen/pull/549) @yonaskolb
[Commits](https://github.com/yonaskolb/XcodeGen/compare/2.3.0...2.4.0)
## 2.3.0
#### Added
@ -24,7 +38,7 @@
#### Fixed
- Sources outside a project spec's directory will be correctly referenced as relative paths in the project file. [#524](https://github.com/yonaskolb/XcodeGen/pull/524)
- Fixed error when `optional` path is missing [#527](https://github.com/yonaskolb/XcodeGen/pull/527) @yonaskolb
- Fixed error when `optional` directory source is missing [#527](https://github.com/yonaskolb/XcodeGen/pull/527) @yonaskolb
- Fixed excludes within included spec [#535](https://github.com/yonaskolb/XcodeGen/pull/535) @yonaskolb
- Fixed paths in target templates within included files not being relative [#537](https://github.com/yonaskolb/XcodeGen/pull/537) @yonaskolb
- Fix multi-platform target templates [#541](https://github.com/yonaskolb/XcodeGen/pull/541) @yonaskolb

View File

@ -227,9 +227,10 @@ This will provide default build settings for a certain product type. It can be a
- `application.messages`
- `application.watchapp`
- `application.watchapp2`
- `app-extension`
- `app-extension.messages`
- `app-extension.messages-sticker-pack`
- `app-extension`
- `app-extension.intents-service`
- `bundle`
- `bundle.unit-test`
- `bundle.ui-testing`
@ -242,6 +243,7 @@ This will provide default build settings for a certain product type. It can be a
- `tv-app-extension`
- `watchkit-extension`
- `watchkit2-extension`
- `xcode-extension`
- `xpc-service`
- ``""`` (used for legacy targets)

View File

@ -1,6 +1,6 @@
TOOL_NAME = XcodeGen
export EXECUTABLE_NAME = xcodegen
VERSION = 2.3.0
VERSION = 2.4.0
PREFIX = /usr/local
INSTALL_PATH = $(PREFIX)/bin/$(EXECUTABLE_NAME)
@ -19,7 +19,7 @@ install: build
cp -R $(CURRENT_PATH)/SettingPresets $(SHARE_PATH)/SettingPresets
build:
swift build --disable-sandbox -c release -Xswiftc -static-stdlib
swift build --disable-sandbox -c release
uninstall:
rm -f $(INSTALL_PATH)
@ -28,8 +28,8 @@ uninstall:
format_code:
swiftformat .
release: format_code
sed -i '' 's|\(let version = try Version("\)\(.*\)\(")\)|\1$(VERSION)\3|' Sources/XcodeGen/main.swift
release:
sed -i '' 's|\(let version = Version("\)\(.*\)\(")\)|\1$(VERSION)\3|' Sources/XcodeGen/main.swift
git add .
git commit -m "Update to $(VERSION)"

View File

@ -69,8 +69,8 @@
"repositoryURL": "https://github.com/tuist/xcodeproj.git",
"state": {
"branch": null,
"revision": "8e15cc74149ee946b7ae125685177915b4ff7317",
"version": "6.4.0"
"revision": "065f348754b6155b8037dc43876a8f2ee354b95d",
"version": "6.7.0"
}
},
{

View File

@ -1,4 +1,4 @@
// swift-tools-version:4.2
// swift-tools-version:5.0
import PackageDescription
@ -15,7 +15,7 @@ let package = Package(
.package(url: "https://github.com/yonaskolb/JSONUtilities.git", from: "4.1.0"),
.package(url: "https://github.com/kylef/Spectre.git", from: "0.9.0"),
.package(url: "https://github.com/onevcat/Rainbow.git", from: "3.0.0"),
.package(url: "https://github.com/tuist/xcodeproj.git", .exact("6.4.0")),
.package(url: "https://github.com/tuist/xcodeproj.git", .exact("6.7.0")),
.package(url: "https://github.com/jakeheis/SwiftCLI.git", from: "5.2.0"),
],
targets: [

View File

@ -69,7 +69,7 @@ A project would be created with 2 connected targets, with all the required confi
## Installing
Make sure Xcode 9.3 is installed first.
Make sure Xcode 10.2 is installed first.
### [Mint](https://github.com/yonaskolb/mint)
```sh
@ -105,7 +105,7 @@ swift run xcodegen
Add the following to your Package.swift file's dependencies:
```swift
.package(url: "https://github.com/yonaskolb/XcodeGen.git", from: "1.0.0"),
.package(url: "https://github.com/yonaskolb/XcodeGen.git", from: "2.3.0"),
```
And then import wherever needed: `import XcodeGenKit`

View File

@ -6,4 +6,4 @@ ENABLE_NS_ASSERTIONS: NO
VALIDATE_PRODUCT: YES
# Swift Settings
SWIFT_OPTIMIZATION_LEVEL: -Owholemodule
SWIFT_COMPILATION_MODE: wholemodule

View File

@ -1 +0,0 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: YES

View File

@ -1 +0,0 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: YES

View File

@ -42,4 +42,4 @@ GCC_WARN_UNUSED_VARIABLE: YES
# Swift Settings
PRODUCT_NAME: $(TARGET_NAME)
SWIFT_VERSION: '4.2'
SWIFT_VERSION: '5.0'

View File

@ -16,6 +16,7 @@ extension Target {
.bundle,
.commandLineTool,
.instrumentsPackage,
.intentsServiceExtension,
.messagesApplication,
.messagesExtension,
.ocUnitTestBundle,

View File

@ -377,7 +377,7 @@ extension XCScheme.EnvironmentVariable: JSONObjectConvertible {
value = try jsonDictionary.json(atKeyPath: "value")
}
let variable: String = try jsonDictionary.json(atKeyPath: "variable")
let enabled: Bool = (try? jsonDictionary.json(atKeyPath: "isEnabled")) ?? true
let enabled: Bool = jsonDictionary.json(atKeyPath: "isEnabled") ?? true
self.init(variable: variable, value: value, enabled: enabled)
}

View File

@ -2,6 +2,6 @@ import Foundation
import ProjectSpec
import XcodeGenCLI
let version = try Version("2.3.0")
let version = Version("2.4.0")
let cli = XcodeGenCLI(version: version)
cli.execute()

View File

@ -20,8 +20,8 @@ import Foundation
extension String {
public var md5: String {
if let data = data(using: .utf8, allowLossyConversion: true) {
let message = data.withUnsafeBytes { bytes -> [UInt8] in
return Array(UnsafeBufferPointer(start: bytes, count: data.count))
let message = data.withUnsafeBytes { (bytes: UnsafeRawBufferPointer) -> [UInt8] in
return Array(bytes)
}
let MD5Calculator = MD5(message)

View File

@ -148,7 +148,7 @@ class SourceGenerator {
// order by taking the last item in the sortedPaths array
let currentVersionPath = findCurrentCoreDataModelVersionPath(using: versionedModels) ?? sortedPaths.last
let currentVersion: PBXFileReference? = {
guard let indexOf = sortedPaths.index(where: { $0 == currentVersionPath }) else { return nil }
guard let indexOf = sortedPaths.firstIndex(where: { $0 == currentVersionPath }) else { return nil }
return modelFileReferences[indexOf]
}()
let versionGroup = addObject(XCVersionGroup(
@ -463,11 +463,6 @@ class SourceGenerator {
/// creates source files
private func getSourceFiles(targetType: PBXProductType, targetSource: TargetSource, path: Path) throws -> [SourceFile] {
if targetSource.optional && !Path(targetSource.path).exists {
// Is optional so if it doesn't exist just return an empty array
return []
}
// generate excluded paths
targetSourceExcludePaths = getSourceExcludes(targetSource: targetSource)
@ -521,6 +516,10 @@ class SourceGenerator {
sourceFiles.append(sourceFile)
case .group:
if targetSource.optional && !Path(targetSource.path).exists {
// This group is missing, so if's optional just return an empty array
return []
}
let (groupSourceFiles, groups) = try getGroupSources(targetType: targetType, targetSource: targetSource, path: path, isBaseGroup: true)
let group = groups.first!
if let name = targetSource.name {
@ -561,7 +560,7 @@ class SourceGenerator {
let versionPath = versionedModels.first(where: { $0.lastComponent == ".xccurrentversion" }),
let data = try? versionPath.read(),
let plist = try? PropertyListSerialization.propertyList(from: data, options: [], format: nil) as? [String: Any],
let versionString = plist?["_XCCurrentVersionName"] as? String else {
let versionString = plist["_XCCurrentVersionName"] as? String else {
return nil
}
return versionedModels.first(where: { $0.lastComponent == versionString })

View File

@ -4,7 +4,7 @@ import ProjectSpec
extension Project {
var xcodeVersion: String {
return XCodeVersion.parse(options.xcodeVersion ?? "10.0")
return XCodeVersion.parse(options.xcodeVersion ?? "10.2")
}
var schemeVersion: String {
@ -16,7 +16,7 @@ extension Project {
}
var objectVersion: UInt {
return 50
return 51
}
public func validateMinimumXcodeGenVersion(_ xcodeGenVersion: Version) throws {

View File

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
@ -312,7 +312,7 @@
0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1000;
LastUpgradeCheck = 1020;
};
buildConfigurationList = D91E14E36EC0B415578456F264E0161E /* Build configuration list for PBXProject "Project" */;
compatibilityVersion = "Xcode 9.3";
@ -409,8 +409,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.2;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
@ -582,7 +582,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
};
name = Debug;
};

View File

@ -2,26 +2,26 @@
"Mac" : [
{
"name" : "Result",
"hash" : "798b63be483da72a39b8b82eef99e204df84ae52776cd4eb3bc3a887a51d3556"
"hash" : "f14569d60b4947d7467d06912c9969bac4caa5c2b62e19dec21bfd37ae146a9f"
}
],
"watchOS" : [
{
"name" : "Result",
"hash" : "ca05c8fa750b3737a39d134ae5a2bf675c1d6d8962bfd99fd7b4c3fcadeff364"
"hash" : "80ed6de84fe4e9a468a10ca021db53f5a91edfa70874fdab0b5c1e61487604ea"
}
],
"tvOS" : [
{
"name" : "Result",
"hash" : "a8c876ce896eb86255745cd700e54034c231a929916bcd71669f87ee15448d54"
"hash" : "28ba58a2f0caf9db17d544ea3f01908b3f100bca5777a10c8238386be054b9ce"
}
],
"commitish" : "4.1.0",
"iOS" : [
{
"name" : "Result",
"hash" : "17b7a454596e240de059d0018168a70eb3d8b7ff5979057c4a062d4288053bf2"
"hash" : "328ec56ff90373242dc848bda9f214eeb58c456ea5e4703855b3f7f207861a24"
}
]
}

View File

@ -0,0 +1 @@

View File

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objectVersion = 51;
objects = {
/* Begin PBXAggregateTarget section */
@ -30,7 +30,6 @@
0D281787B630CE62E91F9F7219EFF40D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8A016580A3B8F72B820BFBF93749CD7 /* Assets.xcassets */; };
0F7F220834A3E2B344322B64DB5140DF /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */; };
13C624ABA05AC67129468002144005A9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0704B6CAFBB53E0EBB08F6B385901D43 /* ViewController.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; };
1985E98D7107DFCBB2F2AC7DC6A155B5 /* SomeFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1E105E72C258FF9843B21D8A3F520CFB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE1F06D99242F4223D081F0DF78367F3 /* LaunchScreen.storyboard */; };
205719BEDEFFC911468631925C617988 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
21B9D91DC3573A47C3298339795D0D2A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B419F22EB75EDD4AB9B92F32F7D39755 /* Assets.xcassets */; };
@ -108,7 +107,6 @@
E32A04EF64C8989C8349A476E3DC1F19 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
E48B36322124BDE8EE3AF22EB3B2B47C /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
E7555C1BCBCF88204907587DBD341663 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
EA0D7CDB58D81E7D92E731535E41FB5E /* SomeFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */; };
EEDCCB9427FA46F272DFC190FCCBE77A /* StaticLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC91042453E18DF74BA1C0F957D87DC /* StaticLibrary.swift */; };
EF285B90A968453FA1CB0CDE8C0AD440 /* iMessageApp.app in Resources */ = {isa = PBXBuildFile; fileRef = 9A87A926D563773658FB87FEEE4DD132 /* iMessageApp.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
@ -392,7 +390,6 @@
files = (
3799FF03E75F5D3C925CBB18B8BB7BF6 /* Framework2.framework in Embed Frameworks */,
7856158603A68D4FF152F8E96305B3E7 /* Framework.framework in Embed Frameworks */,
1985E98D7107DFCBB2F2AC7DC6A155B5 /* SomeFramework.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@ -448,7 +445,6 @@
6BBE762F36D94AB6FFBFE834A99277EA /* SomeFile */ = {isa = PBXFileReference; path = SomeFile; sourceTree = "<group>"; };
70A8E15C81E454DC950C59F092CC1049 /* SomeXPCService.xpc */ = {isa = PBXFileReference; path = SomeXPCService.xpc; sourceTree = "<group>"; };
72A14C887EF7E9C8CBE914ACC4DDF4D4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SomeFramework.framework; path = Vendor/SomeFramework.framework; sourceTree = "<group>"; };
77C0C341F1865224E059608627CC2D82 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7ACBAD7D485AA4E2542B9E0F9908D5B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7B5068D64404C61A67A184584E13804D /* MyBundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = MyBundle.bundle; sourceTree = "<group>"; };
@ -515,7 +511,6 @@
DE50B077EE4BFABAF128321B2A13886F /* Framework.framework in Frameworks */,
29A79F030DD325754FD2C82C4A6E0AE6 /* Result.framework in Frameworks */,
53B2D7C4FD56D5D1D8AF16B23110235D /* StaticLibrary_ObjC.a in Frameworks */,
EA0D7CDB58D81E7D92E731535E41FB5E /* SomeFramework.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -893,7 +888,6 @@
12809A79ACE69F501A5FE815B43985BD /* Carthage */,
FDB2B6A77D39CD5602F2125F01DEF025 /* Contacts.framework */,
0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */,
73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -1436,7 +1430,7 @@
0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1000;
LastUpgradeCheck = 1020;
TargetAttributes = {
020A320BB3736FCDE6CC4E703EE69AC0 = {
ProvisioningStyle = Automatic;
@ -2144,7 +2138,6 @@
00FD318C7418F3351FC0074451FC8AF5 /* Test Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -2237,13 +2230,11 @@
06E4383A2687EAD5877836CD308F610F /* Staging Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -2483,7 +2474,6 @@
196FEEE6C4B0DDE53AD16BD6E5645F0E /* Test Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -2515,7 +2505,6 @@
20803EC42C26E4EA13474E5A694068D1 /* Production Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -2532,7 +2521,6 @@
234640A811EF6EB9CC9081CA803A4C19 /* Staging Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -2727,7 +2715,6 @@
3FFEE1ED324166B88F5F9A451E59A29C /* Test Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -2811,7 +2798,6 @@
4621C6C8A78FBB1CF4078178688742F9 /* Production Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -3008,13 +2994,11 @@
545342CFDF7810F2EBFFFC5EEE5B87A6 /* Production Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -3372,13 +3356,11 @@
7931F229200F89B8CDC8A5E3B755C52E /* Test Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -3407,7 +3389,6 @@
7B2A1BE6CA654E9903A4C6802DBCE440 /* Staging Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -3613,7 +3594,6 @@
94295771D06A8E3DC6DCC8ADE73874F7 /* Staging Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -3627,7 +3607,6 @@
943D402E936EC5BD391F9FD0C7D926EA /* Production Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -3684,7 +3663,6 @@
97009625463EC8B19F53007A9D102A56 /* Staging Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -3730,7 +3708,6 @@
983ACA9F991B0B18D9760B122B42614C /* Test Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -3947,7 +3924,6 @@
AABC1E325EADF86C5137D659051CC749 /* Production Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -3975,13 +3951,11 @@
AE37A01B34B4B956E784082C03DEB579 /* Production Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -4038,13 +4012,11 @@
B008685BA25BB8FD771F0AE3B59FA06C /* Staging Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -4143,7 +4115,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};
name = "Production Debug";
@ -4204,7 +4176,6 @@
BA5AD3137CD90C50E5E1BDA06645F11E /* Production Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -4297,8 +4268,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.2;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};
@ -4307,7 +4278,6 @@
C4397CDA0D458BAD55C911B0A4DC7868 /* Staging Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -4366,8 +4336,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.2;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};
@ -4440,7 +4410,6 @@
CB4F81A519CA89CAF5703DAB428CCE0A /* Test Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -4454,7 +4423,6 @@
CBE9D80AD0719511A13A889E867077CC /* Staging Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@ -4543,13 +4511,11 @@
DC80DC0AF0B4F2B51DAB0A5276F79F05 /* Test Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
"\"Vendor\"",
);
INFOPLIST_FILE = App_iOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -4566,7 +4532,6 @@
DDECE7D81A63C1C46A08F1F47ACCE4DF /* Production Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App_iOS/App.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -4657,7 +4622,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};
name = "Staging Debug";
@ -4839,7 +4804,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};
name = "Test Debug";
@ -4903,7 +4868,6 @@
F3AC6A112F81D0958A316D820549143D /* Test Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
@ -5039,8 +5003,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.2;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
WATCHOS_DEPLOYMENT_TARGET = 4.0;
};

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1000"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -0,0 +1 @@

View File

@ -1,186 +0,0 @@
// Generated by Apple Swift version 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <objc/NSObject.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR __attribute__((enum_extensibility(open)))
# else
# define SWIFT_ENUM_ATTR
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if __has_feature(modules)
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SomeFramework",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop

View File

@ -1,4 +0,0 @@
framework module SomeFramework {
header "SomeFramework-Swift.h"
requires objc
}

View File

@ -1,165 +0,0 @@
<?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>files</key>
<dict>
<key>Headers/SomeFramework-Swift.h</key>
<data>
GsWLq+pM7+WTHb5Lytl5yzwE6Lg=
</data>
<key>Info.plist</key>
<data>
pHXZVe8uQSXZphapqiSal27/+cY=
</data>
<key>Modules/SomeFramework.swiftmodule/x86_64.swiftdoc</key>
<data>
K6JkWBnfjFpkw5UPJ9OZalStS6w=
</data>
<key>Modules/SomeFramework.swiftmodule/x86_64.swiftmodule</key>
<data>
45szTu0MSm7Jh5wqFDqeTRcIVpk=
</data>
<key>Modules/module.modulemap</key>
<data>
5TTCyrUix6BrqYO5bplMEDiYK98=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/SomeFramework-Swift.h</key>
<dict>
<key>hash2</key>
<data>
i0YcIx4NscoXVWFIAurGgi+DMENrppl1DamK1PLy3/w=
</data>
</dict>
<key>Modules/SomeFramework.swiftmodule/x86_64.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
rw34Qgu/XEVt2QL4jvsrMJrfrqrMma2PBLFwd8lmXc4=
</data>
</dict>
<key>Modules/SomeFramework.swiftmodule/x86_64.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
SR7Q1t/6wNc4fmUX/866/vWPDXJLDPp0zN396/PLlbQ=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash2</key>
<data>
cbLtUnOM5bPVzNdrge9LxFAcg5zHw3i7lx3sjHEV8t0=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View File

@ -4,10 +4,10 @@ set -e
carthage bootstrap --cache-builds
echo "
⚙️ Building iOS app"
xcodebuild -quiet -project Project.xcodeproj -scheme "App_iOS Test" -configuration "Test Debug" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
xcodebuild -quiet -project Project.xcodeproj -scheme "App_iOS Test" -configuration "Test Debug" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO"
echo "✅ Successfully built iOS app"
echo "
⚙️ Building macOS app"
xcodebuild -quiet -project Project.xcodeproj -scheme "App_macOS" -configuration "Test Debug" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
xcodebuild -quiet -project Project.xcodeproj -scheme "App_macOS" -configuration "Test Debug" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO"
echo "✅ Successfully built macOS app"

View File

@ -90,7 +90,6 @@ targets:
weak: true
- target: App_watchOS
- target: iMessageApp
- framework: Vendor/SomeFramework.framework
- sdk: Contacts.framework
scheme:
testTargets:

View File

@ -598,7 +598,7 @@ class ProjectGeneratorTests: XCTestCase {
if let expectedResourceFiles = expectedResourceFiles[target.name] {
try expect(resourcesPhases.count) == (expectedResourceFiles.isEmpty ? 0 : 1)
if !expectedResourceFiles.isEmpty {
let resourceFiles = resourcesPhases[0].files
let resourceFiles = (resourcesPhases[0].files ?? [])
.compactMap { $0.file }
.map { $0.nameOrPath }
try expect(Set(resourceFiles)) == expectedResourceFiles
@ -611,7 +611,7 @@ class ProjectGeneratorTests: XCTestCase {
let expectedLinkedFiles = expectedLinkedFiles[target.name]!
try expect(frameworkPhases.count) == (expectedLinkedFiles.isEmpty ? 0 : 1)
if !expectedLinkedFiles.isEmpty {
let linkFrameworks = frameworkPhases[0].files
let linkFrameworks = (frameworkPhases[0].files ?? [])
.compactMap { $0.file?.nameOrPath }
try expect(Set(linkFrameworks)) == expectedLinkedFiles
}
@ -620,7 +620,7 @@ class ProjectGeneratorTests: XCTestCase {
if let expectedEmbeddedFrameworks = expectedEmbeddedFrameworks[target.name] {
try expect(copyFilesPhases.count) == (expectedEmbeddedFrameworks.isEmpty ? 0 : 1)
if !expectedEmbeddedFrameworks.isEmpty {
let copyFiles = copyFilesPhases[0].files
let copyFiles = (copyFilesPhases[0].files ?? [])
.compactMap { $0.file?.nameOrPath }
try expect(Set(copyFiles)) == expectedEmbeddedFrameworks
}
@ -871,7 +871,7 @@ class ProjectGeneratorTests: XCTestCase {
}
let frameworkPhases = nativeTarget.buildPhases.compactMap { $0 as? PBXFrameworksBuildPhase }
let frameworkBuildFiles = frameworkPhases[0].files
let frameworkBuildFiles = frameworkPhases[0].files ?? []
let buildFileSettings = frameworkBuildFiles.map { $0.settings }
try expect(frameworkBuildFiles.count) == 2

View File

@ -76,7 +76,7 @@ class ProjectSpecTests: XCTestCase {
)
$0.it("fails with invalid XcodeGen version") {
let minimumVersion = try Version("1.11.1")
let minimumVersion = Version("1.11.1")
var project = baseProject
project.options = SpecOptions(minimumXcodeGenVersion: minimumVersion)
@ -86,9 +86,9 @@ class ProjectSpecTests: XCTestCase {
}
}
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: try Version("1.11.0"))
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: try Version("1.10.99"))
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: try Version("0.99"))
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: Version("1.11.0"))
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: Version("1.10.99"))
try expectMinimumXcodeGenVersionError(project, minimumVersion: minimumVersion, xcodeGenVersion: Version("0.99"))
}
$0.it("fails with invalid project") {

View File

@ -95,8 +95,8 @@ class SourceGeneratorTests: XCTestCase {
.first(where: { $0.file == fileReference }) else {
throw failure("Cant find build file")
}
try expect(buildPhase?.files.count) == 1
try expect(buildPhase?.files.contains(buildFile)) == true
try expect(buildPhase?.files?.count) == 1
try expect(buildPhase?.files?.contains(buildFile)) == true
}
$0.it("generates core data models") {
@ -518,7 +518,7 @@ class SourceGeneratorTests: XCTestCase {
let sourcesBuildPhase = pbxProj.buildPhases.first(where: { $0.buildPhase == BuildPhase.sources })!
try expect(sourcesBuildPhase.files.count) == 1
try expect(sourcesBuildPhase.files?.count) == 1
}
$0.it("add only carthage dependencies with same platform") {
@ -589,6 +589,30 @@ class SourceGeneratorTests: XCTestCase {
"group2",
]
}
$0.it("adds missing optional files and folders") {
let target = Target(name: "Test", type: .application, platform: .iOS, sources: [
TargetSource(path: "File1.swift", optional: true),
TargetSource(path: "File2.swift", type: .file, optional: true),
TargetSource(path: "Group", type: .folder, optional: true),
])
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
let pbxProj = try project.generatePbxProj()
try pbxProj.expectFile(paths: ["File1.swift"])
try pbxProj.expectFile(paths: ["File2.swift"])
}
$0.it("allows missing optional groups") {
let target = Target(name: "Test", type: .application, platform: .iOS, sources: [
TargetSource(path: "Group1", optional: true),
TargetSource(path: "Group2", type: .group, optional: true),
TargetSource(path: "Group3", type: .group, optional: true),
])
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
_ = try project.generatePbxProj()
}
}
}
}
@ -609,7 +633,7 @@ extension PBXProj {
let buildFile = buildFiles
.first(where: { $0.file === fileReference })
let actualBuildPhase = buildFile
.flatMap { buildFile in buildPhases.first { $0.files.contains(buildFile) } }?.buildPhase
.flatMap { buildFile in buildPhases.first { $0.files?.contains(buildFile) ?? false } }?.buildPhase
var error: String?
if let buildPhase = buildPhase.buildPhase {