diff --git a/Sources/XCRemoteCache/Commands/Prepare/Integrate/BuildSettingsIntegrateAppender.swift b/Sources/XCRemoteCache/Commands/Prepare/Integrate/BuildSettingsIntegrateAppender.swift index 9f19a98..7be44d2 100644 --- a/Sources/XCRemoteCache/Commands/Prepare/Integrate/BuildSettingsIntegrateAppender.swift +++ b/Sources/XCRemoteCache/Commands/Prepare/Integrate/BuildSettingsIntegrateAppender.swift @@ -35,14 +35,14 @@ class XcodeProjBuildSettingsIntegrateAppender: BuildSettingsIntegrateAppender { private let repoRoot: URL private let fakeSrcRoot: URL private let sdksExclude: [String] - + init(mode: Mode, repoRoot: URL, fakeSrcRoot: URL, sdksExclude: [String]) { self.mode = mode self.repoRoot = repoRoot self.fakeSrcRoot = fakeSrcRoot self.sdksExclude = sdksExclude } - + func appendToBuildSettings(buildSettings: BuildSettings, wrappers: XCRCBinariesPaths) -> BuildSettings { var result = buildSettings setBuildSetting(buildSettings: &result, key: "SWIFT_EXEC", value: wrappers.swiftc.path ) @@ -55,19 +55,19 @@ class XcodeProjBuildSettingsIntegrateAppender: BuildSettingsIntegrateAppender { setBuildSetting(buildSettings: &result, key: "LIPO", value: wrappers.lipo.path ) setBuildSetting(buildSettings: &result, key: "LDPLUSPLUS", value: wrappers.ldplusplus.path ) } - + let existingSwiftFlags = result["OTHER_SWIFT_FLAGS"] as? String let existingCFlags = result["OTHER_CFLAGS"] as? String var swiftFlags = XcodeSettingsSwiftFlags(settingValue: existingSwiftFlags) var clangFlags = XcodeSettingsCFlags(settingValue: existingCFlags) - + // Overriding debug prefix map for Swift and ObjC to have consistent absolute path for all debug symbols swiftFlags.assignFlag(key: "debug-prefix-map", value: "\(repoRoot.path)=$(XCRC_FAKE_SRCROOT)") clangFlags.assignFlag(key: "debug-prefix-map", value: "\(repoRoot.path)=$(XCRC_FAKE_SRCROOT)") - + setBuildSetting(buildSettings: &result, key: "OTHER_SWIFT_FLAGS", value: swiftFlags.settingValue ) setBuildSetting(buildSettings: &result, key: "OTHER_CFLAGS", value: clangFlags.settingValue ) - + setBuildSetting(buildSettings: &result, key: "XCRC_FAKE_SRCROOT", value: "\(fakeSrcRoot.path)" ) setBuildSetting(buildSettings: &result, key: "XCRC_PLATFORM_PREFERRED_ARCH", value: """ diff --git a/Tests/XCRemoteCacheTests/Commands/Prepare/Integrate/XcodeProjBuildSettingsIntegrateAppenderTests.swift b/Tests/XCRemoteCacheTests/Commands/Prepare/Integrate/XcodeProjBuildSettingsIntegrateAppenderTests.swift index 9ae0539..1b3ce52 100644 --- a/Tests/XCRemoteCacheTests/Commands/Prepare/Integrate/XcodeProjBuildSettingsIntegrateAppenderTests.swift +++ b/Tests/XCRemoteCacheTests/Commands/Prepare/Integrate/XcodeProjBuildSettingsIntegrateAppenderTests.swift @@ -45,7 +45,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testProducerSettingFakeSrcRoot() throws { let mode: Mode = .producer let fakeRootURL: URL = "/xxxxxxxxxxP" - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: fakeRootURL, sdksExclude: []) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: fakeRootURL, + sdksExclude: [] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let resultURL = try XCTUnwrap(result["XCRC_FAKE_SRCROOT"] as? String) @@ -55,7 +60,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testConsumerSettingFakeSrcRoot() throws { let mode: Mode = .consumer let fakeRootURL: URL = "/xxxxxxxxxxC" - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: fakeRootURL, sdksExclude: []) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: fakeRootURL, + sdksExclude: [] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let resultURL: String = try XCTUnwrap(result["XCRC_FAKE_SRCROOT"] as? String) @@ -65,7 +75,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testConsumerSettingLdPlusPlus() throws { let mode: Mode = .consumer let fakeRootURL: URL = "/xxxxxxxxxxC" - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: fakeRootURL, sdksExclude: []) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: fakeRootURL, + sdksExclude: [] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let ldPlusPlus: String = try XCTUnwrap(result["LDPLUSPLUS"] as? String) @@ -74,7 +89,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testSinglesdksExcludeIsAppended() throws { let mode: Mode = .consumer - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: "/", sdksExclude: ["watchOS*"]) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: "/", + sdksExclude: ["watchOS*"] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let ldPlusPlusWatchOS: String = try XCTUnwrap(result["LDPLUSPLUS[sdk=watchOS*]"] as? String) @@ -83,7 +103,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testMultiplesdksExcludeAreAppended() throws { let mode: Mode = .consumer - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: "/", sdksExclude: ["watchOS*", "watchsimulator*"]) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: "/", + sdksExclude: ["watchOS*", "watchsimulator*"] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let ldPlusPlusWatchOS: String = try XCTUnwrap(result["LDPLUSPLUS[sdk=watchOS*]"] as? String) let ldPlusPlusWatchSimulator: String = try XCTUnwrap(result["LDPLUSPLUS[sdk=watchsimulator*]"] as? String) @@ -94,7 +119,12 @@ class XcodeProjBuildSettingsIntegrateAppenderTests: XCTestCase { func testAddsDisabledFlagForExcludedSDKs() throws { let mode: Mode = .consumer - let appender = XcodeProjBuildSettingsIntegrateAppender(mode: mode, repoRoot: rootURL, fakeSrcRoot: "/", sdksExclude: ["watchOS*", "watchsimulator*"]) + let appender = XcodeProjBuildSettingsIntegrateAppender( + mode: mode, + repoRoot: rootURL, + fakeSrcRoot: "/", + sdksExclude: ["watchOS*", "watchsimulator*"] + ) let result = appender.appendToBuildSettings(buildSettings: buildSettings, wrappers: binaries) let disabledWatchOS: String = try XCTUnwrap(result["XCRC_DISABLED[sdk=watchOS*]"] as? String) let disabledWatchSimulator: String = try XCTUnwrap(result["XCRC_DISABLED[sdk=watchsimulator*]"] as? String)