From 00a73c99bac2d96c0e168fb6397089dc39e8eb9a Mon Sep 17 00:00:00 2001 From: Christopher Sauer Date: Thu, 9 Sep 2021 21:17:10 -0700 Subject: [PATCH 01/48] Fix broken external BuildLabel filename parsing (#257) External BuildLabels were keeping their // halfway through their path, leading to projects xcode would refuse to load. As an example: @google_toolbox_for_mac//Foundation:BUILD was going to external//Foundation/BUILD, not external/Foundation/BUILD. This lead the pbjproj to assign the file the path //Foundation/BUILD, which Xcode refuses to load, along with groups named '/' and the omission of other associated source files. --- src/TulsiGenerator/BuildLabel.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TulsiGenerator/BuildLabel.swift b/src/TulsiGenerator/BuildLabel.swift index 62467bc6..c680005e 100644 --- a/src/TulsiGenerator/BuildLabel.swift +++ b/src/TulsiGenerator/BuildLabel.swift @@ -52,7 +52,9 @@ public class BuildLabel: Comparable, Equatable, Hashable, CustomStringConvertibl // Fix for external and local_repository, which may be referenced by Bazel via // @repository//subpath while we internally refer to them via external/repository/subpath. if package.starts(with: "@") { - package = "external/" + package.suffix(from: package.index(package.startIndex, offsetBy: 1)) + package = "external/" + + package.suffix(from: package.index(package.startIndex, offsetBy: 1)) // Munch @ prefix + .replacingOccurrences(of: "//", with: "/") // Fixup //. Xcode can't handle paths like that. } return "\(package)/\(target)" }() From 63bab0db48ebe196204cf2220b114419e77d6340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thi=20Do=C3=A3n?= Date: Wed, 29 Sep 2021 18:57:05 +0900 Subject: [PATCH 02/48] Add support for ios_sim_arm64 CPU type --- src/TulsiGenerator/DeploymentTarget.swift | 6 ++++-- src/TulsiGenerator/Scripts/bazel_build.py | 24 +++++++++++++---------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/TulsiGenerator/DeploymentTarget.swift b/src/TulsiGenerator/DeploymentTarget.swift index fe550449..83e72d73 100644 --- a/src/TulsiGenerator/DeploymentTarget.swift +++ b/src/TulsiGenerator/DeploymentTarget.swift @@ -23,8 +23,9 @@ public enum CPU: String { case arm64 case arm64e case arm64_32 + case sim_arm64 - public static let allCases: [CPU] = [.i386, .x86_64, .armv7, .armv7k, .arm64, .arm64e, .arm64_32] + public static let allCases: [CPU] = [.i386, .x86_64, .armv7, .armv7k, .arm64, .arm64e, .arm64_32, .sim_arm64] var isARM: Bool { switch self { @@ -35,6 +36,7 @@ public enum CPU: String { case .arm64: return true case .arm64e: return true case .arm64_32: return true + case .sim_arm64: return true } } @@ -113,7 +115,7 @@ public enum PlatformType: String { var validCPUs: Set { switch self { - case .ios: return [.i386, .x86_64, .armv7, .arm64, .arm64e] + case .ios: return [.i386, .x86_64, .armv7, .arm64, .arm64e, .sim_arm64] case .macos: return [.x86_64, .arm64, .arm64e] case .tvos: return [.x86_64, .arm64] case .watchos: return [.i386, .x86_64, .armv7k, .arm64_32] diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index d6da9d98..7fb66df2 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -456,16 +456,6 @@ def __init__(self, build_settings): self.update_symbol_cache = UpdateSymbolCache() - # Target architecture. Must be defined for correct setting of - # the --cpu flag. Note that Xcode will set multiple values in - # ARCHS when building for a Generic Device. - archs = os.environ.get('ARCHS') - if not archs: - _PrintXcodeError('Tulsi requires env variable ARCHS to be ' - 'set. Please file a bug against Tulsi.') - sys.exit(1) - self.arch = archs.split()[-1] - # Path into which generated artifacts should be copied. self.built_products_dir = os.environ['BUILT_PRODUCTS_DIR'] # Path where Xcode expects generated sources to be placed. @@ -521,6 +511,20 @@ def __init__(self, build_settings): else: self.codesigning_allowed = os.environ.get('CODE_SIGNING_ALLOWED') == 'YES' + # Target architecture. Must be defined for correct setting of + # the --cpu flag. Note that Xcode will set multiple values in + # ARCHS when building for a Generic Device. + archs = os.environ.get('ARCHS') + if not archs: + _PrintXcodeError('Tulsi requires env variable ARCHS to be ' + 'set. Please file a bug against Tulsi.') + sys.exit(1) + arch = archs.split()[-1] + if self.is_simulator and arch == "arm64": + self.arch = "sim_" + arch + else: + self.arch = arch + if self.codesigning_allowed: platform_prefix = 'iOS' if self.platform_name.startswith('macos'): From c7609aa3914123f1b5f1a6b5caff551617a325c9 Mon Sep 17 00:00:00 2001 From: Christopher Sauer Date: Wed, 13 Oct 2021 19:24:02 -0700 Subject: [PATCH 03/48] Point External Paths into Stable External Directory instead of Unstable Execroot (#255) * Fix breaking of external workspaces after builds Previously, paths to files in external workspaces went through execroot. Execroot is reconfigured on every rebuild to contain only the external workspaces (and top-level packages) required by that build. Therefore, executing a build that used a subset of the project's external workspaces broke the file references and include paths for the other external workspaces. Bad times. This commit points to external workspaces through the stable external subdirectory of output_base instead of the unstable external subdir of execroot. This requires a new tulsi symlink for output base; Xcode doesn't properly resolve ../ paths through symlinks for file references. Plus, we should probably try to move away from linking through a temporary build sandbox anyway; it'll just keep leading to subtle bugs. This should close https://github.com/bazelbuild/tulsi/issues/164 This patches https://github.com/bazelbuild/tulsi/pull/227 and https://github.com/bazelbuild/tulsi/pull/229. This commit also contains a fix for an (I think unreported) bug I noticed while editing ProjectPatcher. In trying to fix paths for files not on disk, it was unintentionally setting their paths to (an incorrect) path that was group relative, but meant to be project relative. It also created inconsistent state in the PBGroup hierarchy. Since this fixes the paths for generated Info.plists in most projects, it leads to many of the file ref path changes in the tests. The code now does what the author clearly intended, and I've added some defence against future issues into PBXObjects. * Make execroot symlink's names reflect what it is tulsi-workspace -> tulsi-execution-root TULSI_BWRS -> TULSI_EXECUTION_ROOT * Re-add legacy names for execroot build setting and symlink for backwards compatibility Fixes https://github.com/bazelbuild/tulsi/issues/164. --- src/TulsiGenerator/BazelBuildSettings.swift | 4 + .../BazelPBXReferencePatcher.swift | 59 ---- .../BazelSettingsProvider.swift | 3 + .../BazelWorkspaceInfoExtractor.swift | 7 +- .../BazelWorkspaceInfoExtractorProtocol.swift | 3 + .../BazelWorkspacePathInfoFetcher.swift | 16 ++ .../BazelXcodeProjectPatcher.swift | 58 ++-- src/TulsiGenerator/PBXObjects.swift | 31 ++- src/TulsiGenerator/PBXTargetGenerator.swift | 73 +++-- src/TulsiGenerator/Scripts/bazel_build.py | 43 ++- .../Scripts/bazel_build_settings.py.template | 3 +- .../TulsiProjectInfoExtractor.swift | 4 + .../XcodeProjectGenerator.swift | 88 +++--- .../en.lproj/Localizable.strings | 7 +- .../EndToEndIntegrationTestCase.swift | 4 +- .../AppClipProject.xcodeproj/project.pbxproj | 64 +++-- .../project.pbxproj | 252 +++++++++--------- .../MacOSProject.xcodeproj/project.pbxproj | 112 ++++---- .../project.pbxproj | 148 +++++----- .../project.pbxproj | 40 +-- .../SimpleCCProject.xcodeproj/project.pbxproj | 60 +++-- .../SimpleProject.xcodeproj/project.pbxproj | 132 ++++----- .../project.pbxproj | 48 ++-- .../SwiftProject.xcodeproj/project.pbxproj | 120 +++++---- .../project.pbxproj | 104 ++++---- .../project.pbxproj | 56 ++-- .../project.pbxproj | 88 +++--- .../WatchProject.xcodeproj/project.pbxproj | 84 +++--- .../BazelSettingsProviderTests.swift | 2 + .../BuildSettingsTests.swift | 3 + .../MockWorkspaceInfoExtractor.swift | 4 + .../PBXTargetGeneratorTests.swift | 24 +- .../XcodeProjectGeneratorTests.swift | 15 +- 33 files changed, 957 insertions(+), 802 deletions(-) delete mode 100644 src/TulsiGenerator/BazelPBXReferencePatcher.swift diff --git a/src/TulsiGenerator/BazelBuildSettings.swift b/src/TulsiGenerator/BazelBuildSettings.swift index 87f54b5e..fe3bf2cd 100644 --- a/src/TulsiGenerator/BazelBuildSettings.swift +++ b/src/TulsiGenerator/BazelBuildSettings.swift @@ -197,6 +197,7 @@ class BazelBuildSettings: Pythonable { public let bazel: String public let bazelExecRoot: String + public let bazelOutputBase: String public let defaultPlatformConfigIdentifier: String public let platformConfigurationFlags: [String: [String]] @@ -224,6 +225,7 @@ class BazelBuildSettings: Pythonable { public init(bazel: String, bazelExecRoot: String, + bazelOutputBase: String, defaultPlatformConfigIdentifier: String, platformConfigurationFlags: [String: [String]]?, swiftTargets: Set, @@ -237,6 +239,7 @@ class BazelBuildSettings: Pythonable { projTargetFlagSets: [String: BazelFlagsSet]) { self.bazel = bazel self.bazelExecRoot = bazelExecRoot + self.bazelOutputBase = bazelOutputBase self.defaultPlatformConfigIdentifier = defaultPlatformConfigIdentifier self.platformConfigurationFlags = platformConfigurationFlags ?? BazelBuildSettings.platformConfigurationFlagsMap self.swiftTargets = swiftTargets @@ -256,6 +259,7 @@ class BazelBuildSettings: Pythonable { BazelBuildSettings( \(nestedIndentation)\(bazel.toPython(nestedIndentation)), \(nestedIndentation)\(bazelExecRoot.toPython(nestedIndentation)), +\(nestedIndentation)\(bazelOutputBase.toPython(nestedIndentation)), \(nestedIndentation)\(defaultPlatformConfigIdentifier.toPython(nestedIndentation)), \(nestedIndentation)\(platformConfigurationFlags.toPython(nestedIndentation)), \(nestedIndentation)\(swiftTargets.toPython(nestedIndentation)), diff --git a/src/TulsiGenerator/BazelPBXReferencePatcher.swift b/src/TulsiGenerator/BazelPBXReferencePatcher.swift deleted file mode 100644 index cc9f7644..00000000 --- a/src/TulsiGenerator/BazelPBXReferencePatcher.swift +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2017 The Tulsi Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import Foundation - -// Provides methods to patch up Bazel specific PBX objects and references before project generation. -// This patches @external container Bazel files to be relative to the exec root. -final class BazelPBXReferencePatcher { - - private let fileManager: FileManager - - init(fileManager: FileManager) { - self.fileManager = fileManager - } - - // Resolves the given Bazel exec-root relative path to a filesystem path. - // This is intended to be used to resolve "@external_repo" style labels to paths usable by Xcode - // and any other paths that must be relative to the Bazel exec root. - private func resolvePathFromBazelExecRoot(_ xcodeProject: PBXProject, _ path: String) -> String { - return "\(xcodeProject.name).xcodeproj/.tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)/\(path)" - } - - // Returns true if the file reference patching was handled. - func patchNonPresentFileReference(file: PBXFileReference, - url: URL, - workspaceRootURL: URL) -> Bool { - return false - } - - // Examines the given xcodeProject, patching any groups that were generated under Bazel's magical - // "external" container to absolute filesystem references. - func patchExternalRepositoryReferences(_ xcodeProject: PBXProject) { - let mainGroup = xcodeProject.mainGroup - guard let externalGroup = mainGroup.childGroupsByName["external"] else { return } - - // The external directory may contain files such as a WORKSPACE file, but we only patch folders - let childGroups = externalGroup.children.filter { $0 is PBXGroup } as! [PBXGroup] - - for child in childGroups { - let resolvedPath = resolvePathFromBazelExecRoot(xcodeProject, "external/\(child.name)") - let newChild = mainGroup.getOrCreateChildGroupByName("@\(child.name)", - path: resolvedPath, - sourceTree: .SourceRoot) - newChild.migrateChildrenOfGroup(child) - } - mainGroup.removeChild(externalGroup) - } -} diff --git a/src/TulsiGenerator/BazelSettingsProvider.swift b/src/TulsiGenerator/BazelSettingsProvider.swift index 5ab3fedc..9e866869 100644 --- a/src/TulsiGenerator/BazelSettingsProvider.swift +++ b/src/TulsiGenerator/BazelSettingsProvider.swift @@ -120,6 +120,7 @@ protocol BazelSettingsProviderProtocol { /// Bazel build settings, used during Xcode/user Bazel builds. func buildSettings(bazel: String, bazelExecRoot: String, + bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set) -> BazelBuildSettings @@ -240,6 +241,7 @@ class BazelSettingsProvider: BazelSettingsProviderProtocol { func buildSettings(bazel: String, bazelExecRoot: String, + bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set) -> BazelBuildSettings { @@ -280,6 +282,7 @@ class BazelSettingsProvider: BazelSettingsProviderProtocol { return BazelBuildSettings(bazel: bazel, bazelExecRoot: bazelExecRoot, + bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: defaultConfig.identifier, platformConfigurationFlags: nil, swiftTargets: swiftTargets, diff --git a/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift b/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift index ac152439..c804fe05 100644 --- a/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift +++ b/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift @@ -31,11 +31,16 @@ final class BazelWorkspaceInfoExtractor: BazelWorkspaceInfoExtractorProtocol { return workspacePathInfoFetcher.getBazelBinPath() } - /// Returns the absolute path to the execution root of this Bazel workspace. This may block. + /// Returns the absolute path to the execution root for this Bazel workspace. This may block. var bazelExecutionRoot: String { return workspacePathInfoFetcher.getExecutionRoot() } + /// Returns the absolute path to the output base for this Bazel workspace. This may block. + var bazelOutputBase: String { + return workspacePathInfoFetcher.getOutputBase() + } + /// Bazel settings provider for all invocations. let bazelSettingsProvider: BazelSettingsProviderProtocol diff --git a/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift b/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift index 3f6eca6b..3804255d 100644 --- a/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift +++ b/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift @@ -55,6 +55,9 @@ protocol BazelWorkspaceInfoExtractorProtocol { /// Absolute path to the Bazel execution root. var bazelExecutionRoot: String {get} + /// Absolute path to the Bazel output base. + var bazelOutputBase: String {get} + /// The location of the Bazel workspace to be examined. var workspaceRootURL: URL {get} diff --git a/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift b/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift index ae51efea..796f625a 100644 --- a/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift +++ b/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift @@ -18,6 +18,8 @@ import Foundation class BazelWorkspacePathInfoFetcher { /// The Bazel execution_root as defined by the target workspace. private var executionRoot: String? = nil + /// The Bazel output_base as defined by the target workspace. + private var outputBase: String? = nil /// The bazel bin symlink name as defined by the target workspace. private var bazelBinSymlinkName: String? = nil @@ -55,6 +57,18 @@ class BazelWorkspacePathInfoFetcher { return executionRoot } + /// Returns the output_base for this fetcher's workspace, blocking until it is available. + func getOutputBase() -> String { + if !fetchCompleted { waitForCompletion() } + + guard let outputBase = outputBase else { + localizedMessageLogger.error("OutputBaseNotFound", + comment: "Output base should have been extracted from the workspace.") + return "" + } + return outputBase + } + /// Returns the bazel bin path for this workspace, blocking until the fetch is completed. func getBazelBinPath() -> String { if !fetchCompleted { waitForCompletion() } @@ -147,6 +161,8 @@ class BazelWorkspacePathInfoFetcher { if key == "execution_root" { executionRoot = value + } else if key == "output_base" { + outputBase = value } } } diff --git a/src/TulsiGenerator/BazelXcodeProjectPatcher.swift b/src/TulsiGenerator/BazelXcodeProjectPatcher.swift index 34b730a0..860d9d55 100644 --- a/src/TulsiGenerator/BazelXcodeProjectPatcher.swift +++ b/src/TulsiGenerator/BazelXcodeProjectPatcher.swift @@ -23,31 +23,24 @@ final class BazelXcodeProjectPatcher { // FileManager used to check for presence of PBXFileReferences when patching. let fileManager: FileManager - // Secondary patcher for the PBXFileReferences and primary patcher for the @external references. - let fileReferencePatcher: BazelPBXReferencePatcher - init(fileManager: FileManager) { self.fileManager = fileManager - self.fileReferencePatcher = BazelPBXReferencePatcher(fileManager: fileManager) - } - - // Resolves the given Bazel exec-root relative path to a filesystem path. - // This is intended to be used to resolve "@external_repo" style labels to paths usable by Xcode - // as well as any other paths that must be relative to the Bazel exec root. - private func resolvePathFromBazelExecRoot(_ path: String) -> String { - return "\(PBXTargetGenerator.TulsiWorkspacePath)/\(path)" } // Rewrites the path for file references that it believes to be relative to Bazel's exec root. // This should be called before patching external references. - private func patchFileReference(file: PBXFileReference, url: URL, workspaceRootURL: URL) { + private func patchFileReference(xcodeProject: PBXProject, file: PBXFileReference, url: URL, workspaceRootURL: URL) { // We only want to modify the path if the current path doesn't point to a valid file. guard !fileManager.fileExists(atPath: url.path) else { return } // Don't patch anything that isn't group relative. guard file.sourceTree == .Group else { return } - // Remove .xcassets that are not present. Unfortunately, Xcode's handling of .xcassets has + // Guaranteed to have parent bc that's how we accessed it. + // Parent guaranteed to be PBXGroup because it's a PBXFileReference + let parent = file.parent as! PBXGroup + + // Just remove .xcassets that are not present. Unfortunately, Xcode's handling of .xcassets has // quite a number of issues with Tulsi and readonly files. // // .xcassets references in a project that are not present on disk will present a warning after @@ -58,20 +51,15 @@ final class BazelXcodeProjectPatcher { // "You don’t have permission to save the file “Contents.json” in the folder ." // This is present in Xcode 8.3.3 and Xcode 9b2. guard !url.path.hasSuffix(".xcassets") else { - if let parent = file.parent as? PBXGroup { - parent.removeChild(file) - } + parent.removeChild(file) return } - // Default to be relative to the bazel exec root if the FileReferencePatcher doesn't handle the - // patch. This is for both source files as well as generated files (which always need to be - // relative to the bazel exec root). - if !fileReferencePatcher.patchNonPresentFileReference(file: file, - url: url, - workspaceRootURL: workspaceRootURL) { - file.path = resolvePathFromBazelExecRoot(file.path!) - } + // Default to be relative to the bazel exec root + // This is for both source files as well as generated files (which always need to be relative + // to the bazel exec root). + let newPath = "\(xcodeProject.name).xcodeproj/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)/\(file.path!)" + parent.updatePathForChildFile(file, toPath: newPath, sourceTree: .SourceRoot) } // Handles patching PBXFileReferences that are not present on disk. This should be called before @@ -88,7 +76,8 @@ final class BazelXcodeProjectPatcher { queue.append(contentsOf: group.children) } else if let file = ref as? PBXFileReference, let fileURL = URL(string: file.path!, relativeTo: workspaceRootURL) { - self.patchFileReference(file: file, url: fileURL, workspaceRootURL: workspaceRootURL) + self.patchFileReference(xcodeProject: xcodeProject, file: file, url: fileURL, + workspaceRootURL: workspaceRootURL) } } } @@ -96,6 +85,23 @@ final class BazelXcodeProjectPatcher { // Handles patching any groups that were generated under Bazel's magical "external" container to // proper filesystem references. This should be called after patchBazelRelativeReferences. func patchExternalRepositoryReferences(_ xcodeProject: PBXProject) { - fileReferencePatcher.patchExternalRepositoryReferences(xcodeProject) + let mainGroup = xcodeProject.mainGroup + guard let externalGroup = mainGroup.childGroupsByName["external"] else { return } + + // The external directory may contain files such as a WORKSPACE file, but we only patch folders + let childGroups = externalGroup.children.filter { $0 is PBXGroup } as! [PBXGroup] + + for child in childGroups { + // Resolve external workspaces via their more stable location in output base + // /external remains between builds and contains all external workspaces + // /external is instead torn down on each build, breaking the paths to any + // external workspaces not used in the particular target being built + let resolvedPath = "\(xcodeProject.name).xcodeproj/\(PBXTargetGenerator.TulsiOutputBaseSymlinkPath)/external/\(child.name)" + let newChild = mainGroup.getOrCreateChildGroupByName("@\(child.name)", + path: resolvedPath, + sourceTree: .SourceRoot) + newChild.migrateChildrenOfGroup(child) + } + mainGroup.removeChild(externalGroup) } } diff --git a/src/TulsiGenerator/PBXObjects.swift b/src/TulsiGenerator/PBXObjects.swift index 417b5063..1a79b5b7 100644 --- a/src/TulsiGenerator/PBXObjects.swift +++ b/src/TulsiGenerator/PBXObjects.swift @@ -114,8 +114,9 @@ final class XCBuildConfiguration: PBXObjectProtocol { class PBXReference: PBXObjectProtocol { var globalID: String = "" let name: String - var path: String? - let sourceTree: SourceTree + // be careful setting these; they're cached in PBXGroup + fileprivate(set) var path: String? + fileprivate(set) var sourceTree: SourceTree var isa: String { assertionFailure("PBXReference must be subclassed") @@ -387,20 +388,24 @@ class PBXGroup: PBXReference, Hashable { child.updatePathForChild(grandchild, currentPath: childPath) } } else if let child = child as? PBXFileReference { - // Remove old source path reference. All PBXFileReferences should have valid paths as - // non-main/external groups no longer have any paths, meaning a PBXFileReference without a - // path shouldn't exist as it doesn't point to anything. - var sourceTreePath = SourceTreePath(sourceTree: child.sourceTree, path: child.path!) - fileReferencesBySourceTreePath.removeValue(forKey: sourceTreePath) - - // Add in new source path reference. - sourceTreePath = SourceTreePath(sourceTree: child.sourceTree, path: childPath) - fileReferencesBySourceTreePath[sourceTreePath] = child - - child.path = childPath + updatePathForChildFile(child, toPath: childPath) } } + func updatePathForChildFile( + _ child: PBXFileReference, + toPath: String, + sourceTree: SourceTree? = nil) { // Source tree defaults to staying the same + // Updates internal index to match + fileReferencesBySourceTreePath.removeValue( + forKey: SourceTreePath(sourceTree: child.sourceTree, path: child.path!)) + let newSourceTreePath = + SourceTreePath(sourceTree: sourceTree ?? child.sourceTree, path: toPath) + child.path = newSourceTreePath.path + child.sourceTree = newSourceTreePath.sourceTree + fileReferencesBySourceTreePath[newSourceTreePath] = child + } + /// Takes ownership of the children of the given group. Note that this leaves the "other" group in /// an invalid state and it should be discarded (for example, via removeChild). func migrateChildrenOfGroup(_ other: PBXGroup) { diff --git a/src/TulsiGenerator/PBXTargetGenerator.swift b/src/TulsiGenerator/PBXTargetGenerator.swift index 012ffe1b..394be804 100644 --- a/src/TulsiGenerator/PBXTargetGenerator.swift +++ b/src/TulsiGenerator/PBXTargetGenerator.swift @@ -70,8 +70,7 @@ protocol PBXTargetGeneratorProtocol: AnyObject { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool, - redactWorkspaceSymlink: Bool) + suppressCompilerDefines: Bool) /// Generates file references for the given file paths in the associated project without adding /// them to an indexer target. The paths must be relative to the workspace root. If pathFilters is @@ -173,12 +172,24 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { /// Xcode variable name used to refer to the workspace root. static let WorkspaceRootVarName = "TULSI_WR" - /// Symlink to the Bazel workspace - static let TulsiWorkspacePath = "tulsi-workspace" + /// Symlink to the Bazel execution root inside .tulsi in the xcodeproj + static let TulsiExecutionRootSymlinkPath = ".tulsi/tulsi-execution-root" + // Old versions of Tulsi mis-referred to the execution root as the workspace. + // We preserve the old symlink name for backwards compatibility. + static let TulsiExecutionRootSymlinkLegacyPath = ".tulsi/tulsi-workspace" - /// Xcode variable name used to refer to the symlink generated by Bazel that contains all - /// workspace content. - static let BazelWorkspaceSymlinkVarName = "TULSI_BWRS" + + /// Xcode variable name used to refer to the symlink to the Bazel execution root. + static let BazelExecutionRootSymlinkVarName = "TULSI_EXECUTION_ROOT" + // Old versions of Tulsi mis-referred to the execution root as the workspace. + // We preserve the old build variable name for backwards compatibility. + static let BazelExecutionRootSymlinkLegacyVarName = "TULSI_BWRS" + + /// Symlink to the Bazel output base inside .tulsi in the xcodeproj + static let TulsiOutputBaseSymlinkPath = ".tulsi/tulsi-output-base" + + /// Xcode variable name used to refer to the Bazel output base. + static let BazelOutputBaseSymlinkVarName = "TULSI_OUTPUT_BASE" /// Path to the Bazel executable. let bazelPath: String @@ -207,7 +218,6 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let localizedMessageLogger: LocalizedMessageLogger let workspaceRootURL: URL let suppressCompilerDefines: Bool - let redactWorkspaceSymlink: Bool var bazelCleanScriptTarget: PBXLegacyTarget? = nil @@ -426,7 +436,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { case .generatedFile: return "$(\(WorkspaceRootVarName))/\(info.fullPath)" case .sourceFile: - return "$(\(BazelWorkspaceSymlinkVarName))/\(info.fullPath)" + return "$(\(BazelExecutionRootSymlinkVarName))/\(info.fullPath)" } } @@ -451,8 +461,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool = false, - redactWorkspaceSymlink: Bool = false) { + suppressCompilerDefines: Bool = false) { self.bazelPath = bazelPath self.bazelBinPath = bazelBinPath self.project = project @@ -463,7 +472,6 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { self.localizedMessageLogger = localizedMessageLogger self.workspaceRootURL = workspaceRootURL self.suppressCompilerDefines = suppressCompilerDefines - self.redactWorkspaceSymlink = redactWorkspaceSymlink } func generateFileReferencesForFilePaths(_ paths: [String], pathFilters: Set?) { @@ -563,7 +571,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // itself. ruleEntry.frameworkImports.forEach() { let fullPath = $0.fullPath as NSString - let rootedPath = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(fullPath.deletingLastPathComponent)" + let rootedPath = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(fullPath.deletingLastPathComponent)" frameworkSearchPaths.add(rootedPath) } let sourceFileInfos = ruleEntry.sourceFiles.filter(includeFileInProject) @@ -789,16 +797,17 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // A variable pointing to the true root is provided for scripts that may need it. buildSettings["\(PBXTargetGenerator.WorkspaceRootVarName)"] = sourceDirectory - // Bazel generates a symlink to a directory that collects all of the data needed for this - // workspace. While this is often identical to the workspace, it sometimes collects other paths - // and is the better option for most Xcode project path references. - // This directory is symlinked to `tulsi-workspace` during builds. - // The symlink is located inside of the project package as opposed to relative to the workspace + // Create variables wrapping symlinks created during builds. + // The symlinks are located inside of the project package as opposed to relative to the workspace // so that it is using the same local file system as the project to maximize performance. // In some cases where the workspace was on a remote volume, jumping through the symlink on the // remote volume that pointed back to local disk was causing performance issues. - buildSettings["\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName)"] = - "$(PROJECT_FILE_PATH)/.tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)" + buildSettings[PBXTargetGenerator.BazelExecutionRootSymlinkVarName] = + "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)" + buildSettings[PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName] = + "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)" + buildSettings[PBXTargetGenerator.BazelOutputBaseSymlinkVarName] = + "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiOutputBaseSymlinkPath)" buildSettings["TULSI_VERSION"] = tulsiVersion @@ -807,10 +816,10 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // handling UTF-8 output from Bazel BEP in bazel_build.py. buildSettings["PYTHONIOENCODING"] = "utf8" - let searchPaths = ["$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))", + let searchPaths = ["$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))", "$(\(PBXTargetGenerator.WorkspaceRootVarName))/\(bazelBinPath)", "$(\(PBXTargetGenerator.WorkspaceRootVarName))/\(bazelGenfilesPath)", - "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(PBXTargetGenerator.tulsiIncludesPath)" + "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(PBXTargetGenerator.tulsiIncludesPath)" ] // Ideally this would use USER_HEADER_SEARCH_PATHS but some code generation tools (e.g., // protocol buffers) make use of system-style includes. @@ -1336,10 +1345,16 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let rootedPaths: [String] = includePaths.map() { (path, recursive) in // Any paths of the tulsi-includes form will only be in the bazel workspace symlink since // they refer to generated files from a build. - // Otherwise we assume the file exists in the workspace. + // Otherwise we assume the file exists in its workspace. let prefixVar: String - if path.hasPrefix(PBXTargetGenerator.externalPrefix) || path.hasPrefix(PBXTargetGenerator.tulsiIncludesPath) { - prefixVar = PBXTargetGenerator.BazelWorkspaceSymlinkVarName + if path.hasPrefix(PBXTargetGenerator.tulsiIncludesPath) { + prefixVar = PBXTargetGenerator.BazelExecutionRootSymlinkVarName + } else if path.hasPrefix(PBXTargetGenerator.externalPrefix) { + // We refer to files in external workspaces via their more stable location in output base + // /external remains between builds and contains all external workspaces + // /external is instead torn down on each build, breaking the paths to + // any external workspaces not used in the particular target being built + prefixVar = PBXTargetGenerator.BazelOutputBaseSymlinkVarName } else { prefixVar = PBXTargetGenerator.WorkspaceRootVarName } @@ -1359,7 +1374,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { for module in ruleEntry.swiftTransitiveModules { let fullPath = module.fullPath as NSString let includePath = fullPath.deletingLastPathComponent - swiftIncludes.add("$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(includePath)") + swiftIncludes.add("$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(includePath)") } } @@ -1370,7 +1385,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // non-modular contexts, leading to duplicate definitions in the same file. // See llvm.org/bugs/show_bug.cgi?id=19501 swiftFlags.addObjects(from: ruleEntry.objCModuleMaps.map() { - "-Xcc -fmodule-map-file=$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\($0.fullPath)" + "-Xcc -fmodule-map-file=$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\($0.fullPath)" }) if let swiftDefines = ruleEntry.swiftDefines { @@ -1393,7 +1408,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let index = opt.index(opt.startIndex, offsetBy: 2) var path = String(opt[index...]) if !path.hasPrefix("/") { - path = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(path)" + path = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(path)" } swiftIncludePaths.add(path) } else { @@ -1412,7 +1427,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let index = opt.index(opt.startIndex, offsetBy: 2) var path = String(opt[index...]) if !path.hasPrefix("/") { - path = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(path)" + path = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(path)" } localIncludes.add(path) } else { diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index 7fb66df2..ce2d08fa 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -558,6 +558,7 @@ def Run(self, args): self.bazel_bin_path = os.path.abspath(parser.bazel_bin_path) self.bazel_executable = parser.bazel_executable self.bazel_exec_root = self.build_settings.bazelExecRoot + self.bazel_output_base = self.build_settings.bazelOutputBase # Update feature flags. features = parser.GetEnabledFeatures() @@ -588,17 +589,35 @@ def Run(self, args): post_bazel_timer = Timer('Total Tulsi Post-Bazel time', 'total_post_bazel') post_bazel_timer.Start() + + # This needs to run after `bazel build`, since it depends on the Bazel + # output directories + if not os.path.exists(self.bazel_exec_root): _Fatal('No Bazel execution root was found at %r. Debugging experience ' 'will be compromised. Please report a Tulsi bug.' % self.bazel_exec_root) return 404 + if not os.path.exists(self.bazel_output_base): + _Fatal('No Bazel output base was found at %r. Editing experience ' + 'will be compromised for external workspaces. Please report a' + ' Tulsi bug.' + % self.bazel_output_base) + return 404 - # This needs to run after `bazel build`, since it depends on the Bazel - # workspace directory - exit_code = self._LinkTulsiWorkspace() + exit_code = self._LinkTulsiToBazel('tulsi-execution-root', self.bazel_exec_root) if exit_code: return exit_code + # Old versions of Tulsi mis-referred to the execution root as the workspace. + # We preserve the old symlink name for backwards compatibility. + exit_code = self._LinkTulsiToBazel('tulsi-workspace', self.bazel_exec_root) + if exit_code: + return exit_code + exit_code = self._LinkTulsiToBazel( + 'tulsi-output-base', self.bazel_output_base) + if exit_code: + return exit_code + exit_code, outputs_data = self._ExtractAspectOutputsData(outputs) if exit_code: @@ -1757,17 +1776,17 @@ def _ExtractTargetSourceMap(self, normalize=True): sm_execroot = self._NormalizePath(sm_execroot) return (sm_execroot, sm_destpath) - def _LinkTulsiWorkspace(self): - """Links the Bazel Workspace to the Tulsi Workspace (`tulsi-workspace`).""" - tulsi_workspace = os.path.join(self.project_file_path, + def _LinkTulsiToBazel(self, symlink_name, destination): + """Links symlink_name (in project/.tulsi) to the specified destination.""" + symlink_path = os.path.join(self.project_file_path, '.tulsi', - 'tulsi-workspace') - if os.path.islink(tulsi_workspace): - os.unlink(tulsi_workspace) - os.symlink(self.bazel_exec_root, tulsi_workspace) - if not os.path.exists(tulsi_workspace): + symlink_name) + if os.path.islink(symlink_path): + os.unlink(symlink_path) + os.symlink(destination, symlink_path) + if not os.path.exists(symlink_path): _PrintXcodeError( - 'Linking Tulsi Workspace to %s failed.' % tulsi_workspace) + 'Linking %s to %s failed.' % (symlink_path, destination)) return -1 @staticmethod diff --git a/src/TulsiGenerator/Scripts/bazel_build_settings.py.template b/src/TulsiGenerator/Scripts/bazel_build_settings.py.template index e485cad8..cefad37c 100644 --- a/src/TulsiGenerator/Scripts/bazel_build_settings.py.template +++ b/src/TulsiGenerator/Scripts/bazel_build_settings.py.template @@ -67,7 +67,7 @@ class BazelFlagsSet(object): class BazelBuildSettings(object): """Represents a Tulsi project's Bazel settings.""" - def __init__(self, bazel, bazelExecRoot, + def __init__(self, bazel, bazelExecRoot, bazelOutputBase, defaultPlatformConfigId, platformConfigFlags, swiftTargets, cacheAffecting, cacheSafe, @@ -76,6 +76,7 @@ class BazelBuildSettings(object): projDefault, projTargetMap): self.bazel = bazel self.bazelExecRoot = bazelExecRoot + self.bazelOutputBase = bazelOutputBase self.defaultPlatformConfigId = defaultPlatformConfigId self.platformConfigFlags = platformConfigFlags self.swiftTargets = swiftTargets diff --git a/src/TulsiGenerator/TulsiProjectInfoExtractor.swift b/src/TulsiGenerator/TulsiProjectInfoExtractor.swift index 4dc27195..0a9daece 100644 --- a/src/TulsiGenerator/TulsiProjectInfoExtractor.swift +++ b/src/TulsiGenerator/TulsiProjectInfoExtractor.swift @@ -33,6 +33,10 @@ public final class TulsiProjectInfoExtractor { return workspaceInfoExtractor.bazelExecutionRoot } + public var bazelOutputBase: String { + return workspaceInfoExtractor.bazelOutputBase + } + public var workspaceRootURL: URL { return workspaceInfoExtractor.workspaceRootURL } diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index ee38a2ad..95dca21a 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -108,7 +108,7 @@ final class XcodeProjectGenerator { /// Exposed for testing. Instead of writing the real workspace name into the generated project, /// write a stub value that will be the same regardless of the execution environment. - var redactWorkspaceSymlink = false + var redactSymlinksToBazelOutput = false /// Exposed for testing. Do not attempt to update/install files related to DBGShellCommands. var suppressUpdatingShellCommands = false @@ -433,8 +433,7 @@ final class XcodeProjectGenerator { options: config.options, localizedMessageLogger: localizedMessageLogger, workspaceRootURL: workspaceRootURL, - suppressCompilerDefines: suppressCompilerDefines, - redactWorkspaceSymlink: redactWorkspaceSymlink) + suppressCompilerDefines: suppressCompilerDefines) if let additionalFilePaths = config.additionalFilePaths { generator.generateFileReferencesForFilePaths(additionalFilePaths) @@ -671,55 +670,62 @@ final class XcodeProjectGenerator { } } - // Links tulsi-workspace to the current Bazel execution root. This may be overwritten during - // builds, but is useful to include in project generation for users who have local_repository - // references. + // Create symlinks into to the current Bazel output directories. This may be overwritten during + // builds, but is useful to include in project generation for users who have external workspaces + // or prior builds. private func linkTulsiWorkspace(_ projectURL: URL) { - // Don't create the tulsi-workspace symlink for tests. - guard !self.redactWorkspaceSymlink else { return } - - let path = projectURL.appendingPathComponent(".tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)", - isDirectory: false).path - let bazelExecRoot = self.workspaceInfoExtractor.bazelExecutionRoot; - - // See if tulsi-includes is already present. - if let attributes = try? fileManager.attributesOfItem(atPath: path) { - // If tulsi-includes is already a symlink, we only need to change it if it points to the wrong - // Bazel exec root. - if attributes[FileAttributeKey.type] as? FileAttributeType == FileAttributeType.typeSymbolicLink { + // Don't create symlinks for tests. + guard !self.redactSymlinksToBazelOutput else { return } + + func createLink(from: String, to: String) { + let from = projectURL.appendingPathComponent(from, isDirectory: false).path + + // See if symlink is already present. + if let attributes = try? self.fileManager.attributesOfItem(atPath: from) { + // If there is already a symlink, we only need to change it if it points to the wrong place + if attributes[FileAttributeKey.type] as? FileAttributeType == FileAttributeType.typeSymbolicLink { + do { + let oldDestination = try self.fileManager.destinationOfSymbolicLink(atPath: from) + guard oldDestination != to else { return } + } catch { + self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", + comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", + context: self.config.projectName, + values: from, to, "Unable to read old symlink. Was it modified?") + return + } + } + + // The symlink exists but points to the wrong path or is a different file type. Remove it. do { - let oldBazelExecRoot = try self.fileManager.destinationOfSymbolicLink(atPath: path) - guard oldBazelExecRoot != bazelExecRoot else { return } + try self.fileManager.removeItem(atPath: from) } catch { - self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", - comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", - context: config.projectName, - values: path, "Unable to read old symlink. Was it modified?") + self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", + comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", + context: self.config.projectName, + values: from, to, "Unable to remove the old symlink. Trying removing it and try again.") return } } - // The symlink exists but points to the wrong path or is a different file type. Remove it. + // Create symlink do { - try fileManager.removeItem(atPath: path) + try self.fileManager.createSymbolicLink(atPath: from, withDestinationPath: to) } catch { - self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", - comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", - context: config.projectName, - values: path, "Unable to remove the old tulsi-workspace symlink. Trying removing it and try again.") - return + self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", + comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", + context: self.config.projectName, + values: from, to, "Creating symlink failed. Is it already present?") } - } - // Symlink tulsi-workspace -> Bazel exec root. - do { - try self.fileManager.createSymbolicLink(atPath: path, withDestinationPath: bazelExecRoot) - } catch { - self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", - comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", - context: config.projectName, - values: path, "Creating symlink failed. Is it already present?") } + + createLink(from: PBXTargetGenerator.TulsiExecutionRootSymlinkPath, + to: self.workspaceInfoExtractor.bazelExecutionRoot) + createLink(from: PBXTargetGenerator.TulsiExecutionRootSymlinkLegacyPath, + to: self.workspaceInfoExtractor.bazelExecutionRoot) + createLink(from: PBXTargetGenerator.TulsiOutputBaseSymlinkPath, + to: self.workspaceInfoExtractor.bazelOutputBase) } // Writes Xcode schemes for non-indexer targets if they don't already exist. @@ -1057,9 +1063,11 @@ final class XcodeProjectGenerator { let bazelSettingsProvider = workspaceInfoExtractor.bazelSettingsProvider let bazelExecRoot = workspaceInfoExtractor.bazelExecutionRoot + let bazelOutputBase = workspaceInfoExtractor.bazelOutputBase let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options) let bazelBuildSettings = bazelSettingsProvider.buildSettings(bazel: config.bazelURL.path, bazelExecRoot: bazelExecRoot, + bazelOutputBase: bazelOutputBase, options: config.options, features: features, buildRuleEntries: buildRuleEntries) diff --git a/src/TulsiGenerator/en.lproj/Localizable.strings b/src/TulsiGenerator/en.lproj/Localizable.strings index e4e3d385..3c921d76 100644 --- a/src/TulsiGenerator/en.lproj/Localizable.strings +++ b/src/TulsiGenerator/en.lproj/Localizable.strings @@ -92,6 +92,9 @@ /* Warning to show when a RuleEntry does not have a DeploymentTarget to be used by the indexer. */ "NoDeploymentTarget" = "Target %1$@ has no DeploymentTarget set. Defaulting to iOS 9. This is an unexpected problem and should be reported as a Tulsi bug."; +/* Message to show when the output base was not able to be extracted from the workspace. */ +"OutputBaseNotFound" = "Was not able to extract the output base from the workspace. This is a Tulsi or Bazel bug, please report."; + /* Warning shown when none of the tests of a test suite %1$@ were able to be resolved. */ "TestSuiteHasNoValidTests" = "Failed to resolve any tests for test_suite '%1$@', no scheme will be generated."; @@ -116,5 +119,5 @@ /* Warning when updating the user's DBGShellCommands script in ~/Library/Application Support/Tulsi failed. */ "UpdatingDBGShellCommandsFailed" = "Failed to update the DBGShellCommands script used to locate dSYM bundles: received error '%1$@'."; -/* Warning shown when failing to update the tulsi-workspace symlink to the Bazel execution root. tulsi-workspace path is in %1$@, additional error context in %2$@. */ -"UpdatingTulsiWorkspaceSymlinkFailed" = "Failed to update the %1$@ symlink to the Bazel execution root. Additional context: %2$@"; +/* Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@. */ +"UpdatingTulsiSymlinksFailed" = "Failed to update the %1$@ symlink to %2$@. Additional context: %3$@"; diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift index 07ad6b48..b74def57 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift @@ -250,8 +250,8 @@ class EndToEndIntegrationTestCase : BazelIntegrationTestCase { projectGenerator.xcodeProjectGenerator.suppressUpdatingShellCommands = true // The username is forced to a known value. projectGenerator.xcodeProjectGenerator.usernameFetcher = { "_TEST_USER_" } - // The workspace symlink is forced to a known value. - projectGenerator.xcodeProjectGenerator.redactWorkspaceSymlink = true + // Omit bazel output symlinks so they don't have unknown values. + projectGenerator.xcodeProjectGenerator.redactSymlinksToBazelOutput = true let errorInfo: String do { let generatedProjURL = try projectGenerator.generateXcodeProjectInFolder(outputFolderURL) diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj index ef1ddd2c..951e88e1 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D6723BA4D00000000 /* app_clip_main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6723BA4D00000000 /* app_clip_main.m */; }; - 952C886D86E05A5900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C86E05A5900000000 /* main.m */; }; + 952C886D7393D0CD00000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C7393D0CD00000000 /* main.m */; }; + 952C886DEB04763700000000 /* app_clip_main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEB04763700000000 /* app_clip_main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -21,18 +21,18 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C2B779BB400000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/entitlements.entitlements"; sourceTree = ""; }; - 25889F7C5C00BD0100000000 /* app_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = app_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_entitlements.entitlements"; sourceTree = ""; }; - 25889F7C6723BA4D00000000 /* app_clip_main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = app_clip_main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/app_clip_main.m"; sourceTree = ""; }; - 25889F7C86E05A5900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/main.m"; sourceTree = ""; }; - 25889F7C9FB1623400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_infoplists/Info.plist"; sourceTree = ""; }; - 25889F7CA2352B8B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/Info.plist"; sourceTree = ""; }; + 25889F7C1363A74800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/AppClip/app_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C24FE384000000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C3260698400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C59A749AC00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/AppClip-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C7393D0CD00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Library/srcs/main.m"; sourceTree = SOURCE_ROOT; }; 25889F7CB0FF2C3200000000 /* lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; path = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CB698E75D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Application-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CBDADE3B900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/AppClip-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CD2AED8C700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_app_clip/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7CD76187FF00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7CDC90E6EA00000000 /* app_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = app_entitlements.entitlements; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/AppClip/app_entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7CE4E4122000000000 /* AppClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = AppClip.app; path = AppClip.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CEB04763700000000 /* app_clip_main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = app_clip_main.m; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Library/srcs/app_clip_main.m"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -70,8 +70,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7CA2352B8B00000000 /* Info.plist */, - 25889F7C2B779BB400000000 /* entitlements.entitlements */, + 25889F7C24FE384000000000 /* Info.plist */, + 25889F7CD76187FF00000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -95,7 +95,7 @@ 45D056293C08BF0000000000 /* AppClip */ = { isa = PBXGroup; children = ( - 25889F7C5C00BD0100000000 /* app_entitlements.entitlements */, + 25889F7CDC90E6EA00000000 /* app_entitlements.entitlements */, 45D0562972177E7200000000 /* app_infoplists */, ); name = AppClip; @@ -112,7 +112,7 @@ 45D0562972177E7200000000 /* app_infoplists */ = { isa = PBXGroup; children = ( - 25889F7C9FB1623400000000 /* Info.plist */, + 25889F7C1363A74800000000 /* Info.plist */, ); name = app_infoplists; sourceTree = ""; @@ -128,7 +128,7 @@ 45D05629B14F6EEC00000000 /* AppClip-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CBDADE3B900000000 /* Info.plist */, + 25889F7C59A749AC00000000 /* Info.plist */, ); name = "AppClip-intermediates"; sourceTree = ""; @@ -146,7 +146,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CB698E75D00000000 /* Info.plist */, + 25889F7C3260698400000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -162,8 +162,8 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C6723BA4D00000000 /* app_clip_main.m */, - 25889F7C86E05A5900000000 /* main.m */, + 25889F7CEB04763700000000 /* app_clip_main.m */, + 25889F7C7393D0CD00000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -300,8 +300,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D86E05A5900000000 /* main.m in srcs */, - 952C886D6723BA4D00000000 /* app_clip_main.m in srcs */, + 952C886D7393D0CD00000000 /* main.m in srcs */, + 952C886DEB04763700000000 /* app_clip_main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -349,8 +349,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -433,12 +435,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -484,7 +488,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 14.0; PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0; SDKROOT = iphoneos; @@ -517,12 +521,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -568,7 +574,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 14.0; PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0; SDKROOT = iphoneos; @@ -610,8 +616,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj index cc5071af..73f55b37 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj @@ -7,26 +7,26 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D160C3D9400000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C160C3D9400000000 /* src1.m */; }; - 952C886D160C3D9400000001 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C160C3D9400000000 /* src1.m */; }; + 952C886D0FBAD8E100000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C0FBAD8E100000000 /* src2.m */; }; + 952C886D0FBAD8E100000001 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C0FBAD8E100000000 /* src2.m */; }; + 952C886D12CB1AF700000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C12CB1AF700000000 /* src3.m */; }; + 952C886D12CB1AF700000001 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C12CB1AF700000000 /* src3.m */; }; 952C886D1AB7D12500000000 /* NonARCFile.mm in non_arc_srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C1ACE4D0400000000 /* NonARCFile.mm */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 952C886D2F57AD1500000000 /* today_extension_library.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F57AD1500000000 /* today_extension_library.m */; }; - 952C886D3A8E944E00000000 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3A8E944E00000000 /* src5.mm */; }; - 952C886D3A8E944E00000001 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3A8E944E00000000 /* src5.mm */; }; - 952C886D52C027AF00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C52C027AF00000000 /* src4.m */; }; - 952C886D52C027AF00000001 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C52C027AF00000000 /* src4.m */; }; - 952C886D55B4D94500000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C55B4D94500000000 /* src3.m */; }; - 952C886D55B4D94500000001 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C55B4D94500000000 /* src3.m */; }; - 952C886D99D62A3000000000 /* sub_library_with_identical_defines.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */; }; - 952C886DB097D0E400000000 /* input.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB097D0E400000000 /* input.m */; }; + 952C886D24ED792C00000000 /* input.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C24ED792C00000000 /* input.m */; }; + 952C886D5C4E9D0100000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C5C4E9D0100000000 /* src.mm */; }; + 952C886D76B724A400000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C76B724A400000000 /* src.mm */; }; 952C886DB225790200000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB225790200000000 /* main.m */; }; - 952C886DB778F33400000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB778F33400000000 /* src2.m */; }; - 952C886DB778F33400000001 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB778F33400000000 /* src2.m */; }; 952C886DBB4A5A4F00000000 /* Test.xcdatamodeld in tulsi_e2e_complex */ = {isa = PBXBuildFile; fileRef = D0BE1A9DBB4A5A4F00000000 /* Test.xcdatamodeld */; }; - 952C886DE56C768000000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CE56C768000000000 /* src.mm */; }; - 952C886DE7146E0400000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CE7146E0400000000 /* src.mm */; }; - 952C886DEF9CAD8A00000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF9CAD8A00000000 /* src.mm */; }; - 952C886DF3273A4100000000 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF3273A4100000000 /* defaultTestSource.m */; }; + 952C886DD98FAB6100000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD98FAB6100000000 /* src1.m */; }; + 952C886DD98FAB6100000001 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD98FAB6100000000 /* src1.m */; }; + 952C886DDB8CD05600000000 /* sub_library_with_identical_defines.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */; }; + 952C886DDBE3DDF100000000 /* today_extension_library.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDBE3DDF100000000 /* today_extension_library.m */; }; + 952C886DEF7E9B8800000000 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF7E9B8800000000 /* src5.mm */; }; + 952C886DEF7E9B8800000001 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF7E9B8800000000 /* src5.mm */; }; + 952C886DF737E98D00000000 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF737E98D00000000 /* defaultTestSource.m */; }; + 952C886DF77C090200000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF77C090200000000 /* src4.m */; }; + 952C886DF77C090200000001 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF77C090200000000 /* src4.m */; }; + 952C886DFD2E8B0700000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFD2E8B0700000000 /* src.mm */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -83,52 +83,52 @@ /* Begin PBXFileReference section */ 25889F7C05F3C25400000000 /* lib_idx_SrcGenerator_5479CC97_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SrcGenerator_5479CC97_ios_min10.0.a; path = lib_idx_SrcGenerator_5479CC97_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C08F9F95700000000 /* DataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv2.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv2.xcdatamodel; sourceTree = ""; }; - 25889F7C15C7840200000000 /* NonLocalized.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = NonLocalized.strings; path = "tulsi-workspace/tulsi_e2e_complex/Application/NonLocalized.strings"; sourceTree = ""; }; - 25889F7C160C3D9400000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src1.m"; sourceTree = ""; }; - 25889F7C1ACE4D0400000000 /* NonARCFile.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = NonARCFile.mm; path = "tulsi-workspace/tulsi_e2e_complex/Application/non_arc_srcs/NonARCFile.mm"; sourceTree = ""; }; + 25889F7C0B6954F800000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/en.lproj/EN.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7C0CCB12AD00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C0FBAD8E100000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C12CB1AF700000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C157B466000000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C1ACE4D0400000000 /* NonARCFile.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = NonARCFile.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/non_arc_srcs/NonARCFile.mm"; sourceTree = SOURCE_ROOT; }; + 25889F7C1D4F48FD00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/One.storyboard"; sourceTree = SOURCE_ROOT; }; 25889F7C245DC24200000000 /* lib_idx_SubLibrary_241BBB47_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibrary_241BBB47_ios_min10.0.a; path = lib_idx_SubLibrary_241BBB47_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C2F57AD1500000000 /* today_extension_library.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = today_extension_library.m; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/srcs/today_extension_library.m"; sourceTree = ""; }; + 25889F7C24ED792C00000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = SOURCE_ROOT; }; 25889F7C3067008600000000 /* lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a; path = lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C34890F0000000000 /* file2.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = file2.file; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file2.file"; sourceTree = ""; }; 25889F7C38357D4800000000 /* TodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = TodayExtension.appex; path = TodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C3A8E944E00000000 /* src5.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src5.mm; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/src5.mm"; sourceTree = ""; }; - 25889F7C4090322100000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localized.strings"; sourceTree = ""; }; - 25889F7C49605F2900000000 /* test.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = test.framework; path = "tulsi-workspace/tulsi_e2e_complex/ObjCFramework/test.framework"; sourceTree = ""; }; - 25889F7C49F0A75600000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; - 25889F7C510E414800000000 /* es */ = {isa = PBXFileReference; lastKnownFileType = text; name = es; path = "tulsi-workspace/tulsi_e2e_complex/Application/es.lproj/Localized.strings"; sourceTree = ""; }; - 25889F7C52C027AF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = ""; }; + 25889F7C479F3E1600000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/en.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; 25889F7C54F2E63700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_complex/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C55B4D94500000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = ""; }; - 25889F7C5F03A4CF00000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; - 25889F7C631271AE00000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = ""; }; + 25889F7C5C4E9D0100000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibrary/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; 25889F7C635C5F3A00000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; path = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C69867AA300000000 /* DataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv1.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv1.xcdatamodel; sourceTree = ""; }; - 25889F7C6A6EAE2E00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/One.storyboard"; sourceTree = ""; }; - 25889F7C6B65092000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/TodayExtension-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C7695A0FA00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localizable.strings"; sourceTree = ""; }; - 25889F7C77D27D9400000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_complex/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C76B724A400000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithDefines/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; + 25889F7C7B251C0E00000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = SOURCE_ROOT; }; + 25889F7C7C46ABEF00000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = SOURCE_ROOT; }; + 25889F7C86E7B54A00000000 /* es */ = {isa = PBXFileReference; lastKnownFileType = text; name = es; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/es.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; 25889F7C8C5A68AC00000000 /* lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a; path = lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8DF0400F00000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/EN.strings"; sourceTree = ""; }; 25889F7C8FC56C5400000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = sub_library_with_identical_defines.m; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithIdenticalDefines/srcs/sub_library_with_identical_defines.m"; sourceTree = ""; }; - 25889F7CB097D0E400000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "tulsi-workspace/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = ""; }; - 25889F7CB225790200000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = ""; }; - 25889F7CB4F4337A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CB778F33400000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = ""; }; + 25889F7CA1F4761000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CABE80CF400000000 /* test.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = test.framework; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/ObjCFramework/test.framework"; sourceTree = SOURCE_ROOT; }; + 25889F7CAECA95D700000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/TodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CB225790200000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CBA200B3100000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7CBC55BF9A00000000 /* lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; path = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBD70A62600000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = ""; }; + 25889F7CC3CD2C3800000000 /* file2.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = file2.file; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/resources/file2.file"; sourceTree = SOURCE_ROOT; }; + 25889F7CCB64786900000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/xib.xib"; sourceTree = SOURCE_ROOT; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CD35B033400000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_complex/Library/xib.xib"; sourceTree = ""; }; - 25889F7CD4FFBE6F00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_complex/Application/Info.plist"; sourceTree = ""; }; + 25889F7CCFAAA5F400000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7CD66BB6CC00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CD685CDB600000000 /* lib_idx_Library_FAFE9183_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_FAFE9183_ios_min10.0.a; path = lib_idx_Library_FAFE9183_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CE036A93400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CD98FAB6100000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src1.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CDA9E056400000000 /* NonLocalized.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = NonLocalized.strings; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/NonLocalized.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = sub_library_with_identical_defines.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithIdenticalDefines/srcs/sub_library_with_identical_defines.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CDBE3DDF100000000 /* today_extension_library.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = today_extension_library.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/srcs/today_extension_library.m"; sourceTree = SOURCE_ROOT; }; 25889F7CE0B4DD9E00000000 /* Plist1.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Plist1.plist; path = tulsi_e2e_complex/TodayExtension/Plist1.plist; sourceTree = ""; }; - 25889F7CE56C768000000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/srcs/src.mm"; sourceTree = ""; }; - 25889F7CE7146E0400000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDefines/srcs/src.mm"; sourceTree = ""; }; - 25889F7CEDC9AFE300000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/Localized.strings"; sourceTree = ""; }; - 25889F7CEF9CAD8A00000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDifferentDefines/srcs/src.mm"; sourceTree = ""; }; - 25889F7CF3273A4100000000 /* defaultTestSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = defaultTestSource.m; path = "tulsi-workspace/tulsi_e2e_complex/XCTest/srcs/defaultTestSource.m"; sourceTree = ""; }; + 25889F7CE25C900400000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7CEC09666700000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7CEF7E9B8800000000 /* src5.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src5.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/srcs/src5.mm"; sourceTree = SOURCE_ROOT; }; 25889F7CF35FB52600000000 /* ComplexSingle.bzl */ = {isa = PBXFileReference; lastKnownFileType = com.google.bazel.skylark; name = ComplexSingle.bzl; path = tulsi_e2e_complex/ComplexSingle.bzl; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7CF737E98D00000000 /* defaultTestSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = defaultTestSource.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/XCTest/srcs/defaultTestSource.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CF77C090200000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CFD2E8B0700000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithDifferentDefines/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -156,12 +156,12 @@ isa = PBXGroup; children = ( 0EEA156A104B82BB00000000 /* EN.strings */, - 25889F7CD4FFBE6F00000000 /* Info.plist */, + 25889F7C0CCB12AD00000000 /* Info.plist */, 0EEA156AE3CD2D8100000000 /* Localizable.strings */, 0EEA156AC5ECCD1B00000000 /* Localized.strings */, - 25889F7C15C7840200000000 /* NonLocalized.strings */, + 25889F7CDA9E056400000000 /* NonLocalized.strings */, 0EEA156AC83AE7C200000000 /* One.storyboard */, - 25889F7C77D27D9400000000 /* entitlements.entitlements */, + 25889F7CBA200B3100000000 /* entitlements.entitlements */, 45D05629F82F4AD500000000 /* non_arc_srcs */, 45D05629CC62AD9600000000 /* srcs */, ); @@ -195,7 +195,7 @@ 45D0562943A1317500000000 /* TodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C6B65092000000000 /* Info.plist */, + 25889F7CAECA95D700000000 /* Info.plist */, ); name = "TodayExtension-intermediates"; sourceTree = ""; @@ -205,7 +205,7 @@ children = ( 45D056296592723000000000 /* hdrs */, 45D05629CC62AD9600000001 /* srcs */, - 25889F7CD35B033400000000 /* xib.xib */, + 25889F7CCB64786900000000 /* xib.xib */, ); name = Library; sourceTree = ""; @@ -213,7 +213,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7C49F0A75600000000 /* HdrsHeader.h */, + 25889F7CE25C900400000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -221,7 +221,7 @@ 45D0562966E9654200000000 /* ObjCFramework */ = { isa = PBXGroup; children = ( - 25889F7C49605F2900000000 /* test.framework */, + 25889F7CABE80CF400000000 /* test.framework */, ); name = ObjCFramework; sourceTree = ""; @@ -229,8 +229,8 @@ 45D056298928A9C900000000 /* resources */ = { isa = PBXGroup; children = ( - 25889F7C631271AE00000000 /* file1 */, - 25889F7C34890F0000000000 /* file2.file */, + 25889F7C7C46ABEF00000000 /* file1 */, + 25889F7CC3CD2C3800000000 /* file2.file */, ); name = resources; sourceTree = ""; @@ -269,7 +269,7 @@ 45D0562991BACA9000000000 /* pch */ = { isa = PBXGroup; children = ( - 25889F7CBD70A62600000000 /* AnotherPCHFile.pch */, + 25889F7C7B251C0E00000000 /* AnotherPCHFile.pch */, ); name = pch; sourceTree = ""; @@ -319,7 +319,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CB4F4337A00000000 /* Info.plist */, + 25889F7CA1F4761000000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -349,8 +349,8 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C5F03A4CF00000000 /* SrcsHeader.h */, - 25889F7C3A8E944E00000000 /* src5.mm */, + 25889F7C157B466000000000 /* SrcsHeader.h */, + 25889F7CEF7E9B8800000000 /* src5.mm */, ); name = srcs; sourceTree = ""; @@ -358,10 +358,10 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C160C3D9400000000 /* src1.m */, - 25889F7CB778F33400000000 /* src2.m */, - 25889F7C55B4D94500000000 /* src3.m */, - 25889F7C52C027AF00000000 /* src4.m */, + 25889F7CD98FAB6100000000 /* src1.m */, + 25889F7C0FBAD8E100000000 /* src2.m */, + 25889F7C12CB1AF700000000 /* src3.m */, + 25889F7CF77C090200000000 /* src4.m */, ); name = srcs; sourceTree = ""; @@ -369,7 +369,7 @@ 45D05629CC62AD9600000003 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CB097D0E400000000 /* input.m */, + 25889F7C24ED792C00000000 /* input.m */, ); name = srcs; sourceTree = ""; @@ -377,7 +377,7 @@ 45D05629CC62AD9600000004 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CE56C768000000000 /* src.mm */, + 25889F7C5C4E9D0100000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -385,7 +385,7 @@ 45D05629CC62AD9600000005 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CE7146E0400000000 /* src.mm */, + 25889F7C76B724A400000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -393,7 +393,7 @@ 45D05629CC62AD9600000006 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CEF9CAD8A00000000 /* src.mm */, + 25889F7CFD2E8B0700000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -401,7 +401,7 @@ 45D05629CC62AD9600000007 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */, + 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */, ); name = srcs; sourceTree = ""; @@ -409,7 +409,7 @@ 45D05629CC62AD9600000008 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C2F57AD1500000000 /* today_extension_library.m */, + 25889F7CDBE3DDF100000000 /* today_extension_library.m */, ); name = srcs; sourceTree = ""; @@ -417,7 +417,7 @@ 45D05629CC62AD9600000009 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CF3273A4100000000 /* defaultTestSource.m */, + 25889F7CF737E98D00000000 /* defaultTestSource.m */, ); name = srcs; sourceTree = ""; @@ -442,7 +442,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CE036A93400000000 /* Info.plist */, + 25889F7CD66BB6CC00000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -759,12 +759,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D3A8E944E00000000 /* src5.mm in srcs */, - 952C886D160C3D9400000000 /* src1.m in srcs */, - 952C886DB778F33400000000 /* src2.m in srcs */, - 952C886D55B4D94500000000 /* src3.m in srcs */, - 952C886D52C027AF00000000 /* src4.m in srcs */, - 952C886DF3273A4100000000 /* defaultTestSource.m in srcs */, + 952C886DEF7E9B8800000000 /* src5.mm in srcs */, + 952C886DD98FAB6100000000 /* src1.m in srcs */, + 952C886D0FBAD8E100000000 /* src2.m in srcs */, + 952C886D12CB1AF700000000 /* src3.m in srcs */, + 952C886DF77C090200000000 /* src4.m in srcs */, + 952C886DF737E98D00000000 /* defaultTestSource.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -781,7 +781,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DB097D0E400000000 /* input.m in srcs */, + 952C886D24ED792C00000000 /* input.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -789,11 +789,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D3A8E944E00000001 /* src5.mm in srcs */, - 952C886D160C3D9400000001 /* src1.m in srcs */, - 952C886DB778F33400000001 /* src2.m in srcs */, - 952C886D55B4D94500000001 /* src3.m in srcs */, - 952C886D52C027AF00000001 /* src4.m in srcs */, + 952C886DEF7E9B8800000001 /* src5.mm in srcs */, + 952C886DD98FAB6100000001 /* src1.m in srcs */, + 952C886D0FBAD8E100000001 /* src2.m in srcs */, + 952C886D12CB1AF700000001 /* src3.m in srcs */, + 952C886DF77C090200000001 /* src4.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -801,7 +801,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DE56C768000000000 /* src.mm in srcs */, + 952C886D5C4E9D0100000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -809,7 +809,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DEF9CAD8A00000000 /* src.mm in srcs */, + 952C886DFD2E8B0700000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -817,8 +817,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D99D62A3000000000 /* sub_library_with_identical_defines.m in srcs */, - 952C886DE7146E0400000000 /* src.mm in srcs */, + 952C886DDB8CD05600000000 /* sub_library_with_identical_defines.m in srcs */, + 952C886D76B724A400000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -826,7 +826,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D2F57AD1500000000 /* today_extension_library.m in srcs */, + 952C886DDBE3DDF100000000 /* today_extension_library.m in srcs */, 952C886DBB4A5A4F00000000 /* Test.xcdatamodeld in tulsi_e2e_complex */, ); runOnlyForDeploymentPostprocessing = 0; @@ -837,7 +837,7 @@ 0EEA156A104B82BB00000000 /* EN.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7C8DF0400F00000000 /* en */, + 25889F7C0B6954F800000000 /* en */, ); name = EN.strings; sourceTree = ""; @@ -845,9 +845,9 @@ 0EEA156AC5ECCD1B00000000 /* Localized.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7C4090322100000000 /* Base */, - 25889F7CEDC9AFE300000000 /* en */, - 25889F7C510E414800000000 /* es */, + 25889F7CCFAAA5F400000000 /* Base */, + 25889F7C479F3E1600000000 /* en */, + 25889F7C86E7B54A00000000 /* es */, ); name = Localized.strings; sourceTree = ""; @@ -855,7 +855,7 @@ 0EEA156AC83AE7C200000000 /* One.storyboard */ = { isa = PBXVariantGroup; children = ( - 25889F7C6A6EAE2E00000000 /* Base */, + 25889F7C1D4F48FD00000000 /* Base */, ); name = One.storyboard; sourceTree = ""; @@ -863,7 +863,7 @@ 0EEA156AE3CD2D8100000000 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7C7695A0FA00000000 /* Base */, + 25889F7CEC09666700000000 /* Base */, ); name = Localizable.strings; sourceTree = ""; @@ -993,8 +993,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1034,7 +1036,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests; @@ -1089,12 +1091,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1121,9 +1125,9 @@ 0207AA2838C3D90E00000004 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework"; + FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/ObjCFramework"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DA=BINARY_DEFINE -D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_ApplicationLibrary_3EA018EE_ios_min10.0; @@ -1148,7 +1152,7 @@ buildSettings = { GCC_PREFIX_HEADER = "$(TULSI_WR)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_Library_FAFE9183_ios_min10.0; @@ -1161,9 +1165,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_SubLibrary_241BBB47_ios_min10.0; SDKROOT = iphoneos; @@ -1175,7 +1179,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"SubLibraryWithDifferentDefines_PREQUOTED=Prequoted with spaces\" -D'SubLibraryWithDifferentDefines_SINGLEQUOTED=Single quoted with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -D\"SubLibraryWithDifferentDefines_STRING_WITH_SPACES=String with spaces\""; PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0; @@ -1188,7 +1192,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_EXECUTION_ROOT)/relative/SubLibraryWithDefines/local/includes "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines"; PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0; @@ -1201,7 +1205,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0; SDKROOT = iphoneos; @@ -1217,7 +1221,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests; @@ -1272,12 +1276,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1304,9 +1310,9 @@ 0207AA28616216BF00000004 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework"; + FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/ObjCFramework"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DA=BINARY_DEFINE -D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_ApplicationLibrary_3EA018EE_ios_min10.0; @@ -1331,7 +1337,7 @@ buildSettings = { GCC_PREFIX_HEADER = "$(TULSI_WR)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_Library_FAFE9183_ios_min10.0; @@ -1344,9 +1350,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_SubLibrary_241BBB47_ios_min10.0; SDKROOT = iphoneos; @@ -1358,7 +1364,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"SubLibraryWithDifferentDefines_PREQUOTED=Prequoted with spaces\" -D'SubLibraryWithDifferentDefines_SINGLEQUOTED=Single quoted with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -D\"SubLibraryWithDifferentDefines_STRING_WITH_SPACES=String with spaces\""; PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0; @@ -1371,7 +1377,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_EXECUTION_ROOT)/relative/SubLibraryWithDefines/local/includes "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines"; PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0; @@ -1384,7 +1390,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0; SDKROOT = iphoneos; @@ -1479,8 +1485,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj index d29ec203..946045ec 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D0B8893FD00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0B8893FD00000000 /* AppDelegate.m */; }; - 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C1D215DBF00000000 /* TodayViewController.m */; }; - 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7C88BF1D8A00000000 /* PluginViewController.m */; }; - 952C886DBE1ACDB100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; - 952C886DBE1ACDB100000001 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; + 952C886D0E49B72100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0E49B72100000000 /* main.m */; }; + 952C886D0E49B72100000001 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0E49B72100000000 /* main.m */; }; + 952C886D6C9F600700000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C6C9F600700000000 /* AppDelegate.m */; }; + 952C886DE7EA270300000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7CE7EA270300000000 /* TodayViewController.m */; }; + 952C886DECFD2C0500000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7CECFD2C0500000000 /* PluginViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -24,28 +24,28 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = ""; }; - 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = ""; }; - 25889F7C190C6AD900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C1D215DBF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = ""; }; - 25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = ""; }; - 25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = ""; }; + 25889F7C0E49B72100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C42506DD700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C431C3E6C00000000 /* MyCommandLineApp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; name = MyCommandLineApp; path = MyCommandLineApp; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = ""; }; - 25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = ""; }; - 25889F7C5C92D77000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyTodayExtension-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C479208EB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C5F26AC4C00000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C6C9F600700000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C743BF6A300000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = SOURCE_ROOT; }; 25889F7C79F3A68000000000 /* lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a; path = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = ""; }; - 25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = ""; }; - 25889F7C88BF1D8A00000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = ""; }; - 25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = ""; }; + 25889F7C8360E76200000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7C940DE80500000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CB0B3470C00000000 /* MyTodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = MyTodayExtension.appex; path = MyTodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = ""; }; - 25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = ""; }; - 25889F7CE3F9DCA500000000 /* MyCommandLineApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyCommandLineApp-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyCommandLineApp-Info.plist"; sourceTree = ""; }; + 25889F7CBF503EBC00000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CC86C099100000000 /* MyCommandLineApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyCommandLineApp-Info.plist"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyCommandLineApp-Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CD2E4F66800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyTodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CD8AC803100000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; + 25889F7CE7EA270300000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CEA3524E000000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = SOURCE_ROOT; }; 25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = ""; }; + 25889F7CECFD2C0500000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CEF34308500000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7CF98D6D2100000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -64,7 +64,7 @@ 45D0562932083AD600000000 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C8363577600000000 /* PluginViewController.xib */, + 25889F7CEA3524E000000000 /* PluginViewController.xib */, ); name = plugin; sourceTree = ""; @@ -72,8 +72,8 @@ 45D0562932083AD600000001 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C59FF2E4A00000000 /* PluginViewController.h */, - 25889F7C88BF1D8A00000000 /* PluginViewController.m */, + 25889F7C743BF6A300000000 /* PluginViewController.h */, + 25889F7CECFD2C0500000000 /* PluginViewController.m */, ); name = plugin; sourceTree = ""; @@ -97,7 +97,7 @@ 45D056293D848C8300000000 /* today */ = { isa = PBXGroup; children = ( - 25889F7C7CBFB06500000000 /* TodayViewController.xib */, + 25889F7C8360E76200000000 /* TodayViewController.xib */, ); name = today; sourceTree = ""; @@ -106,7 +106,7 @@ isa = PBXGroup; children = ( 45D056296506C89700000000 /* ExtSources */, - 25889F7CC867E1F300000000 /* TodayViewController.h */, + 25889F7C5F26AC4C00000000 /* TodayViewController.h */, ); name = today; sourceTree = ""; @@ -130,7 +130,7 @@ 45D056295E29771300000000 /* Resources */ = { isa = PBXGroup; children = ( - 25889F7CEF58351100000000 /* Main.storyboard */, + 25889F7CEF34308500000000 /* Main.storyboard */, 45D0562942EDABC600000000 /* extensions */, 45D0562932083AD600000000 /* plugin */, ); @@ -140,7 +140,7 @@ 45D056296506C89700000000 /* ExtSources */ = { isa = PBXGroup; children = ( - 25889F7C1D215DBF00000000 /* TodayViewController.m */, + 25889F7CE7EA270300000000 /* TodayViewController.m */, ); name = ExtSources; sourceTree = ""; @@ -148,7 +148,7 @@ 45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C190C6AD900000000 /* Info.plist */, + 25889F7C479208EB00000000 /* Info.plist */, ); name = "MyMacOSApp-intermediates"; sourceTree = ""; @@ -192,11 +192,11 @@ isa = PBXGroup; children = ( 25889F7CEAD580F400000000 /* BUILD */, - 25889F7C1DF2978800000000 /* Info.plist */, - 25889F7CE3F9DCA500000000 /* MyCommandLineApp-Info.plist */, - 25889F7C89A6486800000000 /* MyPlugin_Info.plist */, - 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */, - 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */, + 25889F7C42506DD700000000 /* Info.plist */, + 25889F7CC86C099100000000 /* MyCommandLineApp-Info.plist */, + 25889F7CBF503EBC00000000 /* MyPlugin_Info.plist */, + 25889F7C940DE80500000000 /* MyTodayExtension-Entitlements.entitlements */, + 25889F7CF98D6D2100000000 /* MyTodayExtension-Info.plist */, 45D056295E29771300000000 /* Resources */, 45D05629C9D3842C00000000 /* src */, ); @@ -206,10 +206,10 @@ 45D05629C9D3842C00000000 /* src */ = { isa = PBXGroup; children = ( - 25889F7C2659003900000000 /* AppDelegate.h */, - 25889F7C0B8893FD00000000 /* AppDelegate.m */, + 25889F7CD8AC803100000000 /* AppDelegate.h */, + 25889F7C6C9F600700000000 /* AppDelegate.m */, 45D0562942EDABC600000001 /* extensions */, - 25889F7CBE1ACDB100000000 /* main.m */, + 25889F7C0E49B72100000000 /* main.m */, 45D0562932083AD600000001 /* plugin */, ); name = src; @@ -218,7 +218,7 @@ 45D05629E9844B7000000000 /* MyTodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C5C92D77000000000 /* Info.plist */, + 25889F7CD2E4F66800000000 /* Info.plist */, ); name = "MyTodayExtension-intermediates"; sourceTree = ""; @@ -387,11 +387,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */, - 952C886DBE1ACDB100000000 /* main.m in src */, - 952C886D0B8893FD00000000 /* AppDelegate.m in src */, - 952C886DBE1ACDB100000001 /* main.m in src */, - 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */, + 952C886DE7EA270300000000 /* TodayViewController.m in ExtSources */, + 952C886D0E49B72100000000 /* main.m in src */, + 952C886D6C9F600700000000 /* AppDelegate.m in src */, + 952C886D0E49B72100000001 /* main.m in src */, + 952C886DECFD2C0500000000 /* PluginViewController.m in plugin */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -439,8 +439,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -547,12 +549,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -614,7 +618,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13; SDKROOT = macosx; @@ -647,12 +651,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -714,7 +720,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13; SDKROOT = macosx; @@ -756,8 +762,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj index 1a09a0ca..803da561 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D0B8893FD00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0B8893FD00000000 /* AppDelegate.m */; }; - 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C1D215DBF00000000 /* TodayViewController.m */; }; - 952C886D2FDF604B00000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2FDF604B00000000 /* UnitTests.m */; }; - 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7C88BF1D8A00000000 /* PluginViewController.m */; }; - 952C886D8BF96B6600000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C8BF96B6600000000 /* UITests.m */; }; - 952C886DBE1ACDB100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; - 952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */; }; + 952C886D2778E42D00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */; }; + 952C886D40CB22AF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C40CB22AF00000000 /* TodayViewController.m */; }; + 952C886D619F0F4900000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C619F0F4900000000 /* UnitTests.m */; }; + 952C886D9813D91900000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C9813D91900000000 /* UITests.m */; }; + 952C886D995E227100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C995E227100000000 /* main.m */; }; + 952C886DE4E7385800000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CE4E7385800000000 /* AppDelegate.m */; }; + 952C886DF50B2C3200000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7CF50B2C3200000000 /* PluginViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,32 +32,32 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = ""; }; + 25889F7C0360D5F400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C13A3ADB400000000 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UITests.xctest; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = ""; }; - 25889F7C1673EEDD00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UITests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C190C6AD900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C1D215DBF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = ""; }; - 25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = ""; }; - 25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = ""; }; - 25889F7C2FDF604B00000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = ""; }; - 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = ""; }; - 25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = ""; }; - 25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = ""; }; - 25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = ""; }; + 25889F7C1666DCCD00000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C2E39FB2F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C40CB22AF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C575BC40000000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C619F0F4900000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C6B12F9F000000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C730D233E00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UITests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C7A1BAC5500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C7E606C2400000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = SOURCE_ROOT; }; 25889F7C86B467CC00000000 /* UnitTestsNoHost.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTestsNoHost.xctest; path = UnitTestsNoHost.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C88BF1D8A00000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = ""; }; - 25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = ""; }; - 25889F7C8BF96B6600000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UITests.m"; sourceTree = ""; }; - 25889F7C9D2ADD1300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C97A5740300000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7C9813D91900000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UITests.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C995E227100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/main.m"; sourceTree = SOURCE_ROOT; }; 25889F7CA42D0C9A00000000 /* lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a; path = lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = ""; }; - 25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = ""; }; - 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = ""; }; + 25889F7CB27679C600000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7CB28170EE00000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7CD7FC372900000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CDC81DA3700000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7CE4E7385800000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; 25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = ""; }; - 25889F7CEF97F98300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CF50B2C3200000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CF87F1BEA00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CF8E2406C00000000 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTests.xctest; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -78,7 +78,7 @@ 45D056292621D11600000000 /* UnitTestsNoHost.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CEF97F98300000000 /* Info.plist */, + 25889F7C0360D5F400000000 /* Info.plist */, ); name = "UnitTestsNoHost.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -86,7 +86,7 @@ 45D0562932083AD600000000 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C8363577600000000 /* PluginViewController.xib */, + 25889F7CDC81DA3700000000 /* PluginViewController.xib */, ); name = plugin; sourceTree = ""; @@ -94,8 +94,8 @@ 45D0562932083AD600000001 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C59FF2E4A00000000 /* PluginViewController.h */, - 25889F7C88BF1D8A00000000 /* PluginViewController.m */, + 25889F7C7E606C2400000000 /* PluginViewController.h */, + 25889F7CF50B2C3200000000 /* PluginViewController.m */, ); name = plugin; sourceTree = ""; @@ -103,9 +103,9 @@ 45D0562932EEC24C00000000 /* test */ = { isa = PBXGroup; children = ( - 25889F7C8BF96B6600000000 /* UITests.m */, - 25889F7C2FDF604B00000000 /* UnitTests.m */, - 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */, + 25889F7C9813D91900000000 /* UITests.m */, + 25889F7C619F0F4900000000 /* UnitTests.m */, + 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */, ); name = test; sourceTree = ""; @@ -129,7 +129,7 @@ 45D056293D848C8300000000 /* today */ = { isa = PBXGroup; children = ( - 25889F7C7CBFB06500000000 /* TodayViewController.xib */, + 25889F7C97A5740300000000 /* TodayViewController.xib */, ); name = today; sourceTree = ""; @@ -138,7 +138,7 @@ isa = PBXGroup; children = ( 45D056296506C89700000000 /* ExtSources */, - 25889F7CC867E1F300000000 /* TodayViewController.h */, + 25889F7C1666DCCD00000000 /* TodayViewController.h */, ); name = today; sourceTree = ""; @@ -162,7 +162,7 @@ 45D056295E29771300000000 /* Resources */ = { isa = PBXGroup; children = ( - 25889F7CEF58351100000000 /* Main.storyboard */, + 25889F7CB27679C600000000 /* Main.storyboard */, 45D0562942EDABC600000000 /* extensions */, 45D0562932083AD600000000 /* plugin */, ); @@ -172,7 +172,7 @@ 45D056296506C89700000000 /* ExtSources */ = { isa = PBXGroup; children = ( - 25889F7C1D215DBF00000000 /* TodayViewController.m */, + 25889F7C40CB22AF00000000 /* TodayViewController.m */, ); name = ExtSources; sourceTree = ""; @@ -180,7 +180,7 @@ 45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C190C6AD900000000 /* Info.plist */, + 25889F7C2E39FB2F00000000 /* Info.plist */, ); name = "MyMacOSApp-intermediates"; sourceTree = ""; @@ -188,7 +188,7 @@ 45D056297BFE52A200000000 /* UnitTests.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C9D2ADD1300000000 /* Info.plist */, + 25889F7CF87F1BEA00000000 /* Info.plist */, ); name = "UnitTests.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -234,10 +234,10 @@ isa = PBXGroup; children = ( 25889F7CEAD580F400000000 /* BUILD */, - 25889F7C1DF2978800000000 /* Info.plist */, - 25889F7C89A6486800000000 /* MyPlugin_Info.plist */, - 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */, - 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */, + 25889F7C7A1BAC5500000000 /* Info.plist */, + 25889F7CD7FC372900000000 /* MyPlugin_Info.plist */, + 25889F7CB28170EE00000000 /* MyTodayExtension-Entitlements.entitlements */, + 25889F7C6B12F9F000000000 /* MyTodayExtension-Info.plist */, 45D056295E29771300000000 /* Resources */, 45D05629C9D3842C00000000 /* src */, 45D0562932EEC24C00000000 /* test */, @@ -248,10 +248,10 @@ 45D05629C9D3842C00000000 /* src */ = { isa = PBXGroup; children = ( - 25889F7C2659003900000000 /* AppDelegate.h */, - 25889F7C0B8893FD00000000 /* AppDelegate.m */, + 25889F7C575BC40000000000 /* AppDelegate.h */, + 25889F7CE4E7385800000000 /* AppDelegate.m */, 45D0562942EDABC600000001 /* extensions */, - 25889F7CBE1ACDB100000000 /* main.m */, + 25889F7C995E227100000000 /* main.m */, 45D0562932083AD600000001 /* plugin */, ); name = src; @@ -260,7 +260,7 @@ 45D05629CE8239BD00000000 /* UITests.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C1673EEDD00000000 /* Info.plist */, + 25889F7C730D233E00000000 /* Info.plist */, ); name = "UITests.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -519,7 +519,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D8BF96B6600000000 /* UITests.m in test */, + 952C886D9813D91900000000 /* UITests.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -527,7 +527,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D2FDF604B00000000 /* UnitTests.m in test */, + 952C886D619F0F4900000000 /* UnitTests.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -535,7 +535,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */, + 952C886D2778E42D00000000 /* UnitTestsNoHost.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -543,10 +543,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */, - 952C886D0B8893FD00000000 /* AppDelegate.m in src */, - 952C886DBE1ACDB100000000 /* main.m in src */, - 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */, + 952C886D40CB22AF00000000 /* TodayViewController.m in ExtSources */, + 952C886DE4E7385800000000 /* AppDelegate.m in src */, + 952C886D995E227100000000 /* main.m in src */, + 952C886DF50B2C3200000000 /* PluginViewController.m in plugin */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -678,8 +678,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -719,7 +721,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UITests"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -757,7 +759,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -795,12 +797,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -814,7 +818,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests; @@ -830,7 +834,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13; SDKROOT = macosx; @@ -845,7 +849,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UITests"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -883,7 +887,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -921,12 +925,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -940,7 +946,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests; @@ -956,7 +962,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13; SDKROOT = macosx; @@ -1078,8 +1084,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj index 93c778dc..eb6e7961 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj @@ -16,16 +16,16 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C0496A56C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationOne-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C06EE647600000000 /* ApplicationOne.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ApplicationOne.app; path = ApplicationOne.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C1CE2143200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/TodayExtension-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C203FAE5B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_multi_extension/Application/Info.plist"; sourceTree = ""; }; 25889F7C38357D4800000000 /* TodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = TodayExtension.appex; path = TodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C424D09F400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationTwo-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C4339915300000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_multi_extension/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C8B2096C600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationOne-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CA4AD39EB00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_multi_extension/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C58C095DD00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationTwo-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C681FEA0A00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_multi_extension/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7CAB0F56C800000000 /* Plist1.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Plist1.plist; path = tulsi_e2e_multi_extension/TodayExtension/Plist1.plist; sourceTree = ""; }; + 25889F7CDA2EB38600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/TodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CE7EE802200000000 /* ApplicationTwo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ApplicationTwo.app; path = ApplicationTwo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CF58F922E00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_multi_extension/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -63,7 +63,7 @@ 45D056293335383100000000 /* ApplicationOne-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8B2096C600000000 /* Info.plist */, + 25889F7C0496A56C00000000 /* Info.plist */, ); name = "ApplicationOne-intermediates"; sourceTree = ""; @@ -71,8 +71,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7C203FAE5B00000000 /* Info.plist */, - 25889F7CA4AD39EB00000000 /* entitlements.entitlements */, + 25889F7CF58F922E00000000 /* Info.plist */, + 25889F7C681FEA0A00000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -96,7 +96,7 @@ 45D0562943A1317500000000 /* TodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C1CE2143200000000 /* Info.plist */, + 25889F7CDA2EB38600000000 /* Info.plist */, ); name = "TodayExtension-intermediates"; sourceTree = ""; @@ -130,7 +130,7 @@ 45D05629F7B9738100000000 /* ApplicationTwo-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C424D09F400000000 /* Info.plist */, + 25889F7C58C095DD00000000 /* Info.plist */, ); name = "ApplicationTwo-intermediates"; sourceTree = ""; @@ -319,8 +319,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -427,12 +429,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -515,12 +519,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -612,8 +618,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj index b5a315b8..9557793a 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D40FA11C700000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C40FA11C700000000 /* src1.c */; }; - 952C886DAEA4670600000000 /* main.cc in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CAEA4670600000000 /* main.cc */; }; - 952C886DBA739E5700000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CBA739E5700000000 /* src2.c */; }; + 952C886D760C782200000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C760C782200000000 /* src2.c */; }; + 952C886DC335172B00000000 /* main.cc in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC335172B00000000 /* main.cc */; }; + 952C886DD87FF37800000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD87FF37800000000 /* src1.c */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -28,15 +28,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C40FA11C700000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = ""; }; 25889F7C465997B800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ccsimple/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C6024490600000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; + 25889F7C760C782200000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = SOURCE_ROOT; }; 25889F7C7C32F61200000000 /* ccBinary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ccBinary.app; path = ccBinary.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C9AAB485E00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; + 25889F7C83741A6500000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C95DAF1A800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; 25889F7CA44D367C00000000 /* lib_idx_ccBinary_C9583FBE_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; path = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CAEA4670600000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "tulsi-workspace/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = ""; }; 25889F7CB7F6ECEE00000000 /* lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; path = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBA739E5700000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = ""; }; + 25889F7CC335172B00000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = SOURCE_ROOT; }; + 25889F7CD87FF37800000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -61,7 +61,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7C9AAB485E00000000 /* HdrsHeader.h */, + 25889F7C95DAF1A800000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -96,7 +96,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CAEA4670600000000 /* main.cc */, + 25889F7CC335172B00000000 /* main.cc */, ); name = srcs; sourceTree = ""; @@ -104,9 +104,9 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C6024490600000000 /* SrcsHeader.h */, - 25889F7C40FA11C700000000 /* src1.c */, - 25889F7CBA739E5700000000 /* src2.c */, + 25889F7C83741A6500000000 /* SrcsHeader.h */, + 25889F7CD87FF37800000000 /* src1.c */, + 25889F7C760C782200000000 /* src2.c */, ); name = srcs; sourceTree = ""; @@ -239,7 +239,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DAEA4670600000000 /* main.cc in srcs */, + 952C886DC335172B00000000 /* main.cc in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -247,8 +247,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D40FA11C700000000 /* src1.c in srcs */, - 952C886DBA739E5700000000 /* src2.c in srcs */, + 952C886DD87FF37800000000 /* src1.c in srcs */, + 952C886D760C782200000000 /* src2.c in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -300,8 +300,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -357,12 +359,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -373,7 +377,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_OUTPUT_BASE)/external/bazel_tools $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/external/bazel_tools "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0; @@ -386,7 +390,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0; @@ -436,12 +440,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -452,7 +458,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_OUTPUT_BASE)/external/bazel_tools $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/external/bazel_tools "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0; @@ -465,7 +471,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0; @@ -524,8 +530,10 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj index aaba919b..b5a480a4 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D11A6302600000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C11A6302600000000 /* src1.m */; }; + 952C886D15A44EDA00000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C15A44EDA00000000 /* src1.m */; }; 952C886D3EFFE63100000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */ = {isa = PBXBuildFile; fileRef = D0BE1A9D3EFFE63100000000 /* SimpleTest.xcdatamodeld */; }; - 952C886D80E2A65800000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C80E2A65800000000 /* src2.m */; }; - 952C886D99A5382C00000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C99A5382C00000000 /* src1.mm */; }; - 952C886DB150C3F800000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB150C3F800000000 /* main.m */; }; - 952C886DB6E4997A00000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB6E4997A00000000 /* src3.m */; }; - 952C886DD6AD0DEF00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD6AD0DEF00000000 /* src4.m */; }; + 952C886D433D88E100000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C433D88E100000000 /* src3.m */; }; + 952C886D6709162600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6709162600000000 /* main.m */; }; + 952C886D6812AE2500000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6812AE2500000000 /* src1.mm */; }; + 952C886DC99B11C800000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC99B11C800000000 /* src4.m */; }; + 952C886DFBDC454200000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFBDC454200000000 /* src2.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -38,32 +38,32 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0C7E2AEB00000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = ""; }; - 25889F7C0DFE4FDE00000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_simple/Library/xibs/xib.xib"; sourceTree = ""; }; - 25889F7C11A6302600000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = ""; }; 25889F7C126E22AB00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_simple/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7C15A44EDA00000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = SOURCE_ROOT; }; 25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; path = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C301CC73800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; - 25889F7C32F6AA5C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C24A5994500000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/pch/PCHFile.pch"; sourceTree = SOURCE_ROOT; }; + 25889F7C34B26C1B00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7C39C9E93A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C433D88E100000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C448A695C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C477067CE00000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = ""; }; - 25889F7C6079DDB000000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = ""; }; - 25889F7C80E2A65800000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = ""; }; + 25889F7C5297EC6100000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C5C9F8A3B00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7C6709162600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C6812AE2500000000 /* src1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src1.mm; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/XCTest/srcs/src1.mm"; sourceTree = SOURCE_ROOT; }; + 25889F7C7844320400000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = SOURCE_ROOT; }; 25889F7C80E959BE00000000 /* lib_idx_Library_744889E2_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_744889E2_ios_min10.0.a; path = lib_idx_Library_744889E2_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C84A85CEE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/Application-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C8DD92E1800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C8FC56C5400000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C978361E600000000 /* SimpleDataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv1.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv1.xcdatamodel; sourceTree = ""; }; - 25889F7C99A5382C00000000 /* src1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src1.mm; path = "tulsi-workspace/tulsi_e2e_simple/XCTest/srcs/src1.mm"; sourceTree = ""; }; - 25889F7CAF25182F00000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "tulsi-workspace/tulsi_e2e_simple/Library/pch/PCHFile.pch"; sourceTree = ""; }; - 25889F7CB150C3F800000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = ""; }; - 25889F7CB6E4997A00000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = ""; }; - 25889F7CB7C2A0EE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C9994E5B500000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C9F36DAFC00000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/xibs/xib.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7CC99B11C800000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = SOURCE_ROOT; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CCF6C202B00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = ""; }; - 25889F7CD6AD0DEF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = ""; }; - 25889F7CEA45B29C00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = ""; }; 25889F7CEBE4382E00000000 /* TargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TargetApplication.app; path = TargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CEC8BA1B100000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; - 25889F7CFC41714700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple/Application/Info.plist"; sourceTree = ""; }; + 25889F7CF7949E6000000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7CF8F057AE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CFBDC454200000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -82,7 +82,7 @@ 45D056291D99E09D00000000 /* xibs */ = { isa = PBXGroup; children = ( - 25889F7C0DFE4FDE00000000 /* xib.xib */, + 25889F7C9F36DAFC00000000 /* xib.xib */, ); name = xibs; sourceTree = ""; @@ -90,9 +90,9 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7CFC41714700000000 /* Info.plist */, - 25889F7CEA45B29C00000000 /* Launch.storyboard */, - 25889F7C6079DDB000000000 /* entitlements.entitlements */, + 25889F7C39C9E93A00000000 /* Info.plist */, + 25889F7C5C9F8A3B00000000 /* Launch.storyboard */, + 25889F7C34B26C1B00000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -124,7 +124,7 @@ 45D056294C3C17AD00000000 /* TargetApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C32F6AA5C00000000 /* Info.plist */, + 25889F7C448A695C00000000 /* Info.plist */, ); name = "TargetApplication-intermediates"; sourceTree = ""; @@ -144,7 +144,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7C301CC73800000000 /* HdrsHeader.h */, + 25889F7C5297EC6100000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -152,7 +152,7 @@ 45D0562991BACA9000000000 /* pch */ = { isa = PBXGroup; children = ( - 25889F7CAF25182F00000000 /* PCHFile.pch */, + 25889F7C24A5994500000000 /* PCHFile.pch */, ); name = pch; sourceTree = ""; @@ -178,7 +178,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C84A85CEE00000000 /* Info.plist */, + 25889F7CF8F057AE00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -227,7 +227,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CB150C3F800000000 /* main.m */, + 25889F7C6709162600000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -235,11 +235,11 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CEC8BA1B100000000 /* SrcsHeader.h */, - 25889F7C11A6302600000000 /* src1.m */, - 25889F7C80E2A65800000000 /* src2.m */, - 25889F7CB6E4997A00000000 /* src3.m */, - 25889F7CD6AD0DEF00000000 /* src4.m */, + 25889F7CF7949E6000000000 /* SrcsHeader.h */, + 25889F7C15A44EDA00000000 /* src1.m */, + 25889F7CFBDC454200000000 /* src2.m */, + 25889F7C433D88E100000000 /* src3.m */, + 25889F7CC99B11C800000000 /* src4.m */, ); name = srcs; sourceTree = ""; @@ -247,7 +247,7 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C99A5382C00000000 /* src1.mm */, + 25889F7C6812AE2500000000 /* src1.mm */, ); name = srcs; sourceTree = ""; @@ -255,7 +255,7 @@ 45D05629D4BE17CD00000000 /* textual_hdrs */ = { isa = PBXGroup; children = ( - 25889F7C0C7E2AEB00000000 /* TextualHdrsHeader.h */, + 25889F7C9994E5B500000000 /* TextualHdrsHeader.h */, ); name = textual_hdrs; sourceTree = ""; @@ -263,7 +263,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CB7C2A0EE00000000 /* Info.plist */, + 25889F7C8DD92E1800000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -472,7 +472,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D99A5382C00000000 /* src1.mm in srcs */, + 952C886D6812AE2500000000 /* src1.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -481,7 +481,7 @@ buildActionMask = 0; files = ( 952C886D3EFFE63100000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */, - 952C886DB150C3F800000000 /* main.m in srcs */, + 952C886D6709162600000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -489,10 +489,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D11A6302600000000 /* src1.m in srcs */, - 952C886D80E2A65800000000 /* src2.m in srcs */, - 952C886DB6E4997A00000000 /* src3.m in srcs */, - 952C886DD6AD0DEF00000000 /* src4.m in srcs */, + 952C886D15A44EDA00000000 /* src1.m in srcs */, + 952C886DFBDC454200000000 /* src2.m in srcs */, + 952C886D433D88E100000000 /* src3.m in srcs */, + 952C886DC99B11C800000000 /* src4.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -502,7 +502,7 @@ 0EEA156AC83AE7C200000000 /* One.storyboard */ = { isa = PBXVariantGroup; children = ( - 25889F7CCF6C202B00000000 /* Base */, + 25889F7C7844320400000000 /* Base */, ); name = One.storyboard; sourceTree = ""; @@ -612,8 +612,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -653,7 +655,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests"; @@ -708,12 +710,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -741,7 +745,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ApplicationLibrary_5E9B8EB0_ios_min10.0; @@ -753,9 +757,9 @@ 0207AA2838C3D90E00000005 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_EXECUTION_ROOT)/relative/Library/include/path "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_Library_744889E2_ios_min10.0; @@ -772,7 +776,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests"; @@ -827,12 +831,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -860,7 +866,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ApplicationLibrary_5E9B8EB0_ios_min10.0; @@ -872,9 +878,9 @@ 0207AA28616216BF00000005 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_EXECUTION_ROOT)/relative/Library/include/path "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_Library_744889E2_ios_min10.0; @@ -970,8 +976,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj index e8d90795..f9423151 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 952C886DEDCF2DAE00000000 /* src.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEDCF2DAE00000000 /* src.m */; }; + 952C886D174E047500000000 /* src.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C174E047500000000 /* src.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -20,15 +20,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C37D91EBF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSExtension/Info.plist"; sourceTree = ""; }; + 25889F7C174E047500000000 /* src.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src.m; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSLibrary/srcs/src.m"; sourceTree = SOURCE_ROOT; }; 25889F7C48DB2D6200000000 /* tvOSExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = tvOSExtension.appex; path = tvOSExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C4A0F121D00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSApplication/Info.plist"; sourceTree = ""; }; 25889F7C5837CF4400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_tvos_project/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7C7F65FCF700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSApplication/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C846EA2E600000000 /* lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a; path = lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C9D3CA8C400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CBBF8F11400000000 /* tvOSApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = tvOSApplication.app; path = tvOSApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CD78F682300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSExtension-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CEDCF2DAE00000000 /* src.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src.m; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSLibrary/srcs/src.m"; sourceTree = ""; }; - 25889F7CFE74A21000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSApplication-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CBF403E7A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSExtension/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CDAF45CAB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -74,7 +74,7 @@ 45D056292F90A87300000000 /* tvOSExtension */ = { isa = PBXGroup; children = ( - 25889F7C37D91EBF00000000 /* Info.plist */, + 25889F7CBF403E7A00000000 /* Info.plist */, ); name = tvOSExtension; sourceTree = ""; @@ -98,7 +98,7 @@ 45D05629372B05BE00000000 /* tvOSApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CFE74A21000000000 /* Info.plist */, + 25889F7C9D3CA8C400000000 /* Info.plist */, ); name = "tvOSApplication-intermediates"; sourceTree = ""; @@ -106,7 +106,7 @@ 45D05629425A73C800000000 /* tvOSExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CD78F682300000000 /* Info.plist */, + 25889F7CDAF45CAB00000000 /* Info.plist */, ); name = "tvOSExtension-intermediates"; sourceTree = ""; @@ -122,7 +122,7 @@ 45D05629AC3D7ED000000000 /* tvOSApplication */ = { isa = PBXGroup; children = ( - 25889F7C4A0F121D00000000 /* Info.plist */, + 25889F7C7F65FCF700000000 /* Info.plist */, ); name = tvOSApplication; sourceTree = ""; @@ -148,7 +148,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CEDCF2DAE00000000 /* src.m */, + 25889F7C174E047500000000 /* src.m */, ); name = srcs; sourceTree = ""; @@ -285,7 +285,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DEDCF2DAE00000000 /* src.m in srcs */, + 952C886D174E047500000000 /* src.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -333,8 +333,10 @@ SDKROOT = appletvos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -416,12 +418,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = appletvos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -433,7 +437,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_tvOSLibrary_4AB12B40_tvos_min10.0; SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 10.0; @@ -500,12 +504,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = appletvos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -517,7 +523,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_tvOSLibrary_4AB12B40_tvos_min10.0; SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 10.0; @@ -593,8 +599,10 @@ SDKROOT = appletvos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj index d1be4aa9..74abb257 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D2F678D0900000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F678D0900000000 /* b.swift */; }; - 952C886D3887B3BE00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3887B3BE00000000 /* b.swift */; }; - 952C886D4C13D11700000000 /* c.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C4C13D11700000000 /* c.swift */; }; - 952C886D721A835100000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C721A835100000000 /* b.swift */; }; - 952C886D7EE3C1D900000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C7EE3C1D900000000 /* a.swift */; }; - 952C886D96574DF200000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C96574DF200000000 /* a.swift */; }; - 952C886D9937DBCA00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9937DBCA00000000 /* a.swift */; }; + 952C886D2F4161CE00000000 /* c.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F4161CE00000000 /* c.swift */; }; + 952C886D771DF59700000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C771DF59700000000 /* b.swift */; }; + 952C886D8291613A00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C8291613A00000000 /* a.swift */; }; + 952C886D8E0BD87B00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C8E0BD87B00000000 /* b.swift */; }; + 952C886DAB5E399B00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CAB5E399B00000000 /* a.swift */; }; + 952C886DC30E4A2200000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC30E4A2200000000 /* a.swift */; }; + 952C886DC680F8C400000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC680F8C400000000 /* b.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,21 +32,21 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C2F678D0900000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = ""; }; - 25889F7C3887B3BE00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = ""; }; - 25889F7C4C13D11700000000 /* c.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = c.swift; path = "tulsi-workspace/tulsi_e2e_swift/SubSwiftLibrary/srcs/c.swift"; sourceTree = ""; }; - 25889F7C71B5994C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_swift/Application-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C721A835100000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = ""; }; - 25889F7C7EE3C1D900000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = ""; }; + 25889F7C2F4161CE00000000 /* c.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = c.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SubSwiftLibrary/srcs/c.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7C771DF59700000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7C8291613A00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; 25889F7C85BADF0E00000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; path = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C889EFE9900000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_swift/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; 25889F7C8A02DDE400000000 /* _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework; path = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C92490AD400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_swift/Info.plist"; sourceTree = ""; }; - 25889F7C96574DF200000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = ""; }; - 25889F7C9937DBCA00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = ""; }; + 25889F7C8E0BD87B00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; 25889F7CAAC072EA00000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; path = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CAAD5E37A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_swift/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CAB5E399B00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7CC30E4A2200000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7CC680F8C400000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CD678C71C00000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; path = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CFD30C2C500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -129,7 +129,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C71B5994C00000000 /* Info.plist */, + 25889F7CAAD5E37A00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -148,7 +148,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C4C13D11700000000 /* c.swift */, + 25889F7C2F4161CE00000000 /* c.swift */, ); name = srcs; sourceTree = ""; @@ -156,8 +156,8 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C96574DF200000000 /* a.swift */, - 25889F7C3887B3BE00000000 /* b.swift */, + 25889F7CAB5E399B00000000 /* a.swift */, + 25889F7C771DF59700000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -165,8 +165,8 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C9937DBCA00000000 /* a.swift */, - 25889F7C721A835100000000 /* b.swift */, + 25889F7CC30E4A2200000000 /* a.swift */, + 25889F7C8E0BD87B00000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -174,8 +174,8 @@ 45D05629CC62AD9600000003 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C7EE3C1D900000000 /* a.swift */, - 25889F7C2F678D0900000000 /* b.swift */, + 25889F7C8291613A00000000 /* a.swift */, + 25889F7CC680F8C400000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -192,7 +192,7 @@ isa = PBXGroup; children = ( 25889F7C889EFE9900000000 /* BUILD */, - 25889F7C92490AD400000000 /* Info.plist */, + 25889F7CFD30C2C500000000 /* Info.plist */, 45D0562939DF9C9F00000000 /* SubSwiftLibrary */, 45D0562973F84CD700000000 /* SwiftLibrary */, 45D056294538659E00000000 /* SwiftLibraryV3 */, @@ -353,7 +353,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D4C13D11700000000 /* c.swift in srcs */, + 952C886D2F4161CE00000000 /* c.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -361,8 +361,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D9937DBCA00000000 /* a.swift in srcs */, - 952C886D721A835100000000 /* b.swift in srcs */, + 952C886DC30E4A2200000000 /* a.swift in srcs */, + 952C886D8E0BD87B00000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,8 +370,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D7EE3C1D900000000 /* a.swift in srcs */, - 952C886D2F678D0900000000 /* b.swift in srcs */, + 952C886D8291613A00000000 /* a.swift in srcs */, + 952C886DC680F8C400000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -379,8 +379,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D96574DF200000000 /* a.swift in srcs */, - 952C886D3887B3BE00000000 /* b.swift in srcs */, + 952C886DAB5E399B00000000 /* a.swift in srcs */, + 952C886D771DF59700000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -433,8 +433,10 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -491,13 +493,15 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -525,13 +529,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DSUB_LIBRARY_DEFINE"; OTHER_SWIFT_FLAGS = "$(inherited) -DSUB_LIBRARY_DEFINE"; PRODUCT_NAME = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -539,13 +543,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V3"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3"; PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -553,13 +557,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V4"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4"; PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -567,13 +571,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE -DSUB_LIBRARY_DEFINE"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -602,13 +606,15 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -636,13 +642,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DSUB_LIBRARY_DEFINE"; OTHER_SWIFT_FLAGS = "$(inherited) -DSUB_LIBRARY_DEFINE"; PRODUCT_NAME = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -650,13 +656,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V3"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3"; PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -664,13 +670,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V4"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4"; PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -678,13 +684,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE -DSUB_LIBRARY_DEFINE"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -723,8 +729,10 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj index 4d158b96..366f338d 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; - 952C886D5D1BD9FD00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C5D1BD9FD00000000 /* XCTest.m */; }; - 952C886D96D67B6F00000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C96D67B6F00000000 /* XCTest.m */; }; - 952C886D9F3B3D3900000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C9F3B3D3900000000 /* LogicTest.m */; }; - 952C886DA25B0A0200000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CA25B0A0200000000 /* XCTest.m */; }; + 952C886D4987C55700000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C4987C55700000000 /* XCTest.m */; }; + 952C886D661AD82A00000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C661AD82A00000000 /* XCTest.m */; }; + 952C886D83067C0F00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C83067C0F00000000 /* XCTest.m */; }; + 952C886DB43102EC00000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CB43102EC00000000 /* LogicTest.m */; }; + 952C886DC859951600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC859951600000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,24 +32,24 @@ /* Begin PBXFileReference section */ 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C2E28BE8E00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7C32811BB200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/One/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; + 25889F7C4987C55700000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/XCTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7C516E750000000000 /* Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Two-XCTest.xctest"; path = "Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C574E98E200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C5417796100000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C5801CD8000000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C5D1BD9FD00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = ""; }; - 25889F7C5D33246900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/LogicTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C5F8D5C0800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/One/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C96D67B6F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = ""; }; - 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; - 25889F7C9F3B3D3900000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = ""; }; + 25889F7C661AD82A00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/One/XCTest.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C6AECD35B00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C7D90560D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C83067C0F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Two/XCTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7CA014E18400000000 /* One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "One-XCTest.xctest"; path = "One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CA25B0A0200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = ""; }; 25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7CB2E3D3A200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/One/LogicTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CB43102EC00000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/One/LogicTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBA3A60B600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CC44C976600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CC859951600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CCFF620F800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CF16496E600000000 /* Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Three-XCTest.xctest"; path = "Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -70,7 +70,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C9BDE3CEF00000000 /* Info.plist */, + 25889F7C5417796100000000 /* Info.plist */, 45D05629D43882ED00000001 /* One */, 45D0562978986CA000000001 /* Three */, 45D056290913F81B00000001 /* Two */, @@ -90,7 +90,7 @@ isa = PBXGroup; children = ( 25889F7C2E28BE8E00000000 /* BUILD */, - 25889F7C5D1BD9FD00000000 /* XCTest.m */, + 25889F7C83067C0F00000000 /* XCTest.m */, ); name = Two; sourceTree = ""; @@ -98,7 +98,7 @@ 45D056290F1598EF00000000 /* LogicTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C5D33246900000000 /* Info.plist */, + 25889F7CB2E3D3A200000000 /* Info.plist */, ); name = "LogicTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -106,7 +106,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CDF260A6500000000 /* Info.plist */, + 25889F7C6AECD35B00000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -161,7 +161,7 @@ isa = PBXGroup; children = ( 25889F7CADBB0ACA00000000 /* BUILD */, - 25889F7C96D67B6F00000000 /* XCTest.m */, + 25889F7C4987C55700000000 /* XCTest.m */, ); name = Three; sourceTree = ""; @@ -195,7 +195,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C35F4A86400000000 /* main.m */, + 25889F7CC859951600000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -213,8 +213,8 @@ isa = PBXGroup; children = ( 25889F7C5F8D5C0800000000 /* BUILD */, - 25889F7C9F3B3D3900000000 /* LogicTest.m */, - 25889F7CA25B0A0200000000 /* XCTest.m */, + 25889F7CB43102EC00000000 /* LogicTest.m */, + 25889F7C661AD82A00000000 /* XCTest.m */, ); name = One; sourceTree = ""; @@ -222,7 +222,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CBA3A60B600000000 /* Info.plist */, + 25889F7C32811BB200000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -230,7 +230,7 @@ 45D05629F281D9F700000001 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C574E98E200000000 /* Info.plist */, + 25889F7CCFF620F800000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -238,7 +238,7 @@ 45D05629F281D9F700000002 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CC44C976600000000 /* Info.plist */, + 25889F7C7D90560D00000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -549,7 +549,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D96D67B6F00000000 /* XCTest.m in Three */, + 952C886D4987C55700000000 /* XCTest.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -557,7 +557,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DA25B0A0200000000 /* XCTest.m in One */, + 952C886D661AD82A00000000 /* XCTest.m in One */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -565,7 +565,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D5D1BD9FD00000000 /* XCTest.m in Two */, + 952C886D83067C0F00000000 /* XCTest.m in Two */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -573,7 +573,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D9F3B3D3900000000 /* LogicTest.m in One */, + 952C886DB43102EC00000000 /* LogicTest.m in One */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -581,7 +581,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D35F4A86400000000 /* main.m in srcs */, + 952C886DC859951600000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -742,8 +742,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -784,7 +786,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -822,7 +824,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -843,7 +845,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -881,12 +883,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -900,7 +904,7 @@ BAZEL_TARGET = "//TestSuite/One:LogicTest"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests; @@ -916,7 +920,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -932,7 +936,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -970,7 +974,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -991,7 +995,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -1029,12 +1033,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1048,7 +1054,7 @@ BAZEL_TARGET = "//TestSuite/One:LogicTest"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests; @@ -1064,7 +1070,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -1215,8 +1221,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj index 95c4c8f7..35f789be 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; - 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C6518C99300000000 /* TestSuiteXCTest.m */; }; + 952C886D12D28F0B00000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */; }; + 952C886D600243E000000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C600243E000000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,15 +27,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; - 25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = ""; }; + 25889F7C4B620CEF00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C600243E000000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C77164C0A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C8B08BD5A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8EF3881F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -53,7 +53,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C9BDE3CEF00000000 /* Info.plist */, + 25889F7C77164C0A00000000 /* Info.plist */, 45D0562906FE71CF00000002 /* TestSuite */, ); name = TestSuite; @@ -62,7 +62,7 @@ 45D0562906FE71CF00000002 /* TestSuite */ = { isa = PBXGroup; children = ( - 25889F7C6518C99300000000 /* TestSuiteXCTest.m */, + 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */, ); name = TestSuite; sourceTree = ""; @@ -70,7 +70,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CDF260A6500000000 /* Info.plist */, + 25889F7C4B620CEF00000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -131,7 +131,7 @@ 45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8EF3881F00000000 /* Info.plist */, + 25889F7C8B08BD5A00000000 /* Info.plist */, ); name = "TestSuiteXCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -147,7 +147,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C35F4A86400000000 /* main.m */, + 25889F7C600243E000000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -306,7 +306,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */, + 952C886D12D28F0B00000000 /* TestSuiteXCTest.m in TestSuite */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -314,7 +314,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D35F4A86400000000 /* main.m in srcs */, + 952C886D600243E000000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -419,8 +419,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -435,7 +437,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -490,12 +492,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -506,7 +510,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -522,7 +526,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -577,12 +581,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -593,7 +599,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -688,8 +694,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj index 7007ec73..8e67e49d 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; - 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C6518C99300000000 /* TestSuiteXCTest.m */; }; - 952C886D66D4941800000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C66D4941800000000 /* tagged_xctest_2.m */; }; - 952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */; }; + 952C886D01C2CD4800000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */; }; + 952C886D52849A8300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C52849A8300000000 /* TestSuiteXCTest.m */; }; + 952C886D7498207500000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C7498207500000000 /* tagged_xctest_2.m */; }; + 952C886D9C44F01B00000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9C44F01B00000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -29,29 +29,29 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/tagged_xctest_1.m"; sourceTree = SOURCE_ROOT; }; 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C3011578800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; - 25889F7C4273558500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = ""; }; - 25889F7C66D4941800000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_2.m"; sourceTree = ""; }; - 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_1.m"; sourceTree = ""; }; + 25889F7C52849A8300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C740EA12000000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C7498207500000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/tagged_xctest_2.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C8ABF500100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_1.xctest; path = tagged_xctest_1.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8EF3881F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C9402028700000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_2.xctest; path = tagged_xctest_2.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; + 25889F7C9C44F01B00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; 25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7CB79A166100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CE48AB56300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ 45D0562904015BAC00000000 /* tagged_xctest_1.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C4273558500000000 /* Info.plist */, + 25889F7CB79A166100000000 /* Info.plist */, ); name = "tagged_xctest_1.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -71,7 +71,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C9BDE3CEF00000000 /* Info.plist */, + 25889F7C740EA12000000000 /* Info.plist */, 45D0562906FE71CF00000002 /* TestSuite */, 45D0562978986CA000000001 /* Three */, ); @@ -81,7 +81,7 @@ 45D0562906FE71CF00000002 /* TestSuite */ = { isa = PBXGroup; children = ( - 25889F7C6518C99300000000 /* TestSuiteXCTest.m */, + 25889F7C52849A8300000000 /* TestSuiteXCTest.m */, ); name = TestSuite; sourceTree = ""; @@ -89,7 +89,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CDF260A6500000000 /* Info.plist */, + 25889F7C3011578800000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -144,8 +144,8 @@ isa = PBXGroup; children = ( 25889F7CADBB0ACA00000000 /* BUILD */, - 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */, - 25889F7C66D4941800000000 /* tagged_xctest_2.m */, + 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */, + 25889F7C7498207500000000 /* tagged_xctest_2.m */, ); name = Three; sourceTree = ""; @@ -161,7 +161,7 @@ 45D05629AC87744D00000000 /* tagged_xctest_2.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C9402028700000000 /* Info.plist */, + 25889F7C8ABF500100000000 /* Info.plist */, ); name = "tagged_xctest_2.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -179,7 +179,7 @@ 45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8EF3881F00000000 /* Info.plist */, + 25889F7CE48AB56300000000 /* Info.plist */, ); name = "TestSuiteXCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -195,7 +195,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C35F4A86400000000 /* main.m */, + 25889F7C9C44F01B00000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -458,7 +458,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D66D4941800000000 /* tagged_xctest_2.m in Three */, + 952C886D7498207500000000 /* tagged_xctest_2.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -466,7 +466,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */, + 952C886D01C2CD4800000000 /* tagged_xctest_1.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -474,7 +474,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */, + 952C886D52849A8300000000 /* TestSuiteXCTest.m in TestSuite */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -482,7 +482,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D35F4A86400000000 /* main.m in srcs */, + 952C886D9C44F01B00000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -643,8 +643,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -659,7 +661,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -697,7 +699,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -718,7 +720,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -756,12 +758,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -772,7 +776,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -788,7 +792,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -826,7 +830,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -847,7 +851,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -885,12 +889,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -901,7 +907,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -1052,8 +1058,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj index 7826affc..738519eb 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D295E8D8E00000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */; }; - 952C886D9FFA61B100000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9FFA61B100000000 /* main.m */; }; + 952C886DDFF9E56300000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDFF9E56300000000 /* main.m */; }; + 952C886DFDFAAD9800000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,24 +27,24 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C0445906000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C0627242400000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7C0C556C9200000000 /* lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a; path = lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C0E6614C000000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = ""; }; - 25889F7C11BBAF6C00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Application/Info.plist"; sourceTree = ""; }; - 25889F7C1CA7A4F200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchApplication-intermediates/Info.plist"; sourceTree = ""; }; - 25889F7C1CE4D8AB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchExtension-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C209FA0FE00000000 /* WatchExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = WatchExtension.appex; path = WatchExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "tulsi-workspace/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = ""; }; - 25889F7C35DA0F1D00000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = ""; }; + 25889F7C294B272800000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7C339161CD00000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7C369EB1A400000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = SOURCE_ROOT; }; 25889F7C4DAFC77200000000 /* WatchApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = WatchApplication.app; path = WatchApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C69FDDDAB00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = ""; }; - 25889F7C6CA77FEE00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C57FDF36800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C6EE78B0C00000000 /* lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a; path = lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C97FBB66F00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = ""; }; - 25889F7C9FFA61B100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = ""; }; - 25889F7CAC45F02F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Application-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C71E0CE2500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C77AC5BF100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CE643C43000000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = ""; }; + 25889F7CDFF9E56300000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CE4A35BDF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CEB058C2A00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_watch/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; + 25889F7CFBB58FAD00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -63,7 +63,7 @@ 45D056291F7B9D7400000000 /* ext_infoplists */ = { isa = PBXGroup; children = ( - 25889F7C69FDDDAB00000000 /* Info.plist */, + 25889F7CE4A35BDF00000000 /* Info.plist */, ); name = ext_infoplists; sourceTree = ""; @@ -71,8 +71,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7C11BBAF6C00000000 /* Info.plist */, - 25889F7C6CA77FEE00000000 /* entitlements.entitlements */, + 25889F7C57FDF36800000000 /* Info.plist */, + 25889F7C294B272800000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -96,7 +96,7 @@ 45D0562942A1278900000000 /* WatchExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C1CE4D8AB00000000 /* Info.plist */, + 25889F7C77AC5BF100000000 /* Info.plist */, ); name = "WatchExtension-intermediates"; sourceTree = ""; @@ -112,7 +112,7 @@ 45D05629503AFC9300000000 /* WatchApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C1CA7A4F200000000 /* Info.plist */, + 25889F7C0445906000000000 /* Info.plist */, ); name = "WatchApplication-intermediates"; sourceTree = ""; @@ -128,11 +128,11 @@ 45D056296F53D75600000000 /* Watch2Extension */ = { isa = PBXGroup; children = ( - 25889F7CE643C43000000000 /* Interface.storyboard */, + 25889F7C339161CD00000000 /* Interface.storyboard */, 45D0562972177E7200000000 /* app_infoplists */, - 25889F7C35DA0F1D00000000 /* ext_entitlements.entitlements */, + 25889F7C0627242400000000 /* ext_entitlements.entitlements */, 45D056291F7B9D7400000000 /* ext_infoplists */, - 25889F7C0E6614C000000000 /* ext_resources.file */, + 25889F7C369EB1A400000000 /* ext_resources.file */, ); name = Watch2Extension; sourceTree = ""; @@ -140,7 +140,7 @@ 45D0562972177E7200000000 /* app_infoplists */ = { isa = PBXGroup; children = ( - 25889F7C97FBB66F00000000 /* Info.plist */, + 25889F7CFBB58FAD00000000 /* Info.plist */, ); name = app_infoplists; sourceTree = ""; @@ -188,7 +188,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CAC45F02F00000000 /* Info.plist */, + 25889F7C71E0CE2500000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -205,7 +205,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C9FFA61B100000000 /* main.m */, + 25889F7CDFF9E56300000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -213,7 +213,7 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */, + 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */, ); name = srcs; sourceTree = ""; @@ -400,7 +400,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D9FFA61B100000000 /* main.m in srcs */, + 952C886DDFF9E56300000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -408,7 +408,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D295E8D8E00000000 /* watch2_extension_binary.m in srcs */, + 952C886DFDFAAD9800000000 /* watch2_extension_binary.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -460,8 +460,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -568,12 +570,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -635,7 +639,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_B45268BB_ios_min10.0; SDKROOT = iphoneos; @@ -647,7 +651,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0; SDKROOT = watchos; USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; @@ -680,12 +684,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -747,7 +753,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_B45268BB_ios_min10.0; SDKROOT = iphoneos; @@ -759,7 +765,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0; SDKROOT = watchos; USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; @@ -801,8 +807,10 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; + TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift index 9f7cf8e6..47d218ef 100644 --- a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift +++ b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift @@ -19,6 +19,7 @@ import XCTest class BazelSettingsProviderTests: XCTestCase { let bazel = "/path/to/bazel" let bazelExecRoot = "__MOCK_EXEC_ROOT__" + let bazelOutputBase = "__MOCK_OUTPUT_BASE__" let features = Set() let buildRuleEntries = Set() let bazelSettingsProvider = BazelSettingsProvider(universalFlags: BazelFlags()) @@ -28,6 +29,7 @@ class BazelSettingsProviderTests: XCTestCase { let settings = bazelSettingsProvider.buildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, + bazelOutputBase: bazelOutputBase, options: options, features: features, buildRuleEntries: buildRuleEntries) diff --git a/src/TulsiGeneratorTests/BuildSettingsTests.swift b/src/TulsiGeneratorTests/BuildSettingsTests.swift index 94e6af1c..f07319d4 100644 --- a/src/TulsiGeneratorTests/BuildSettingsTests.swift +++ b/src/TulsiGeneratorTests/BuildSettingsTests.swift @@ -130,6 +130,7 @@ BazelFlagsSet( func testBazelBuildSettingsPythonable() { let bazel = "/path/to/bazel" let bazelExecRoot = "__MOCK_EXEC_ROOT__" + let bazelOutputBase = "__MOCK_OUTPUT_BASE__" let defaultIdentifier = "fake_config" let platformConfigurationFlags = [ "fake_config": ["a", "b"], @@ -157,6 +158,7 @@ BazelFlagsSet( let settings = BazelBuildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, + bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: defaultIdentifier, platformConfigurationFlags: platformConfigurationFlags, swiftTargets: swiftTargets, @@ -174,6 +176,7 @@ BazelFlagsSet( BazelBuildSettings( '\(bazel)', '\(bazelExecRoot)', + '\(bazelOutputBase)', '\(defaultIdentifier)', \(platformConfigurationFlags.toPython(" ")), \(swiftTargets.toPython(" ")), diff --git a/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift b/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift index 40041f62..89ca01d1 100644 --- a/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift +++ b/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift @@ -33,6 +33,7 @@ class MockBazelSettingsProvider: BazelSettingsProviderProtocol { func buildSettings( bazel: String, bazelExecRoot: String, + bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set @@ -40,6 +41,7 @@ class MockBazelSettingsProvider: BazelSettingsProviderProtocol { return BazelBuildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, + bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: "", platformConfigurationFlags: nil, swiftTargets: [], @@ -68,6 +70,8 @@ class MockWorkspaceInfoExtractor: BazelWorkspaceInfoExtractorProtocol { var bazelBinPath = "bazel-bin" var bazelExecutionRoot = "/private/var/tmp/_bazel_localhost/1234567890abcdef1234567890abcdef/execroot/workspace_dir" + var bazelOutputBase + = "/private/var/tmp/_bazel_localhost/1234567890abcdef1234567890abcdef" var workspaceRootURL = URL(fileURLWithPath: "") func extractRuleInfoFromProject(_ project: TulsiProject) -> [RuleInfo] { diff --git a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift index 6aa40316..355c77ea 100644 --- a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift +++ b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift @@ -263,13 +263,15 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { "GCC_WARN_UNINITIALIZED_AUTOS": "YES", "GCC_WARN_UNUSED_FUNCTION": "YES", "GCC_WARN_UNUSED_VARIABLE": "YES", - "HEADER_SEARCH_PATHS": "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " - + "$(TULSI_BWRS)/\(PBXTargetGenerator.tulsiIncludesPath)", + "HEADER_SEARCH_PATHS": "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " + + "$(TULSI_EXECUTION_ROOT)/\(PBXTargetGenerator.tulsiIncludesPath)", "ONLY_ACTIVE_ARCH": "YES", "PYTHONIOENCODING": "utf8", "TULSI_VERSION": testTulsiVersion, - "TULSI_WR": "$(SRCROOT)", - "TULSI_BWRS": "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace", + PBXTargetGenerator.WorkspaceRootVarName: "$(SRCROOT)", + PBXTargetGenerator.BazelExecutionRootSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, + PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, + PBXTargetGenerator.BazelOutputBaseSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiOutputBaseSymlinkPath, ] XCTAssertNotNil(topLevelConfigs["Debug"]) @@ -319,14 +321,16 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { "GCC_WARN_UNINITIALIZED_AUTOS": "YES", "GCC_WARN_UNUSED_FUNCTION": "YES", "GCC_WARN_UNUSED_VARIABLE": "YES", - "HEADER_SEARCH_PATHS": "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " - + "$(TULSI_BWRS)/\(PBXTargetGenerator.tulsiIncludesPath)", + "HEADER_SEARCH_PATHS": "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " + + "$(TULSI_EXECUTION_ROOT)/\(PBXTargetGenerator.tulsiIncludesPath)", "SDKROOT": projectSDKROOT, "ONLY_ACTIVE_ARCH": "YES", "PYTHONIOENCODING": "utf8", "TULSI_VERSION": testTulsiVersion, - "TULSI_WR": "$(SRCROOT)", - "TULSI_BWRS": "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace", + PBXTargetGenerator.WorkspaceRootVarName: "$(SRCROOT)", + PBXTargetGenerator.BazelExecutionRootSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, + PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, + PBXTargetGenerator.BazelOutputBaseSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiOutputBaseSymlinkPath, ] XCTAssertNotNil(topLevelConfigs["Debug"]) @@ -2587,7 +2591,7 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { validateIndexerTarget( indexerTargetName, sourceFileNames: sourceFileNames, - bridgingHeader: "$(TULSI_BWRS)/\(bridgingHeaderFilePath)", + bridgingHeader: "$(TULSI_EXECUTION_ROOT)/\(bridgingHeaderFilePath)", inTargets: targets) } @@ -3492,7 +3496,7 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { expectedBuildSettings["USER_HEADER_SEARCH_PATHS"] = "$(TULSI_WR)" } if let pchFile = pchFile { - expectedBuildSettings["GCC_PREFIX_HEADER"] = "$(TULSI_BWRS)/\(pchFile.path!)" + expectedBuildSettings["GCC_PREFIX_HEADER"] = "$(TULSI_EXECUTION_ROOT)/\(pchFile.path!)" } if let bridgingHeader = bridgingHeader { expectedBuildSettings["SWIFT_OBJC_BRIDGING_HEADER"] = bridgingHeader diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift index 0241166a..9c1234aa 100644 --- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift +++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift @@ -388,8 +388,14 @@ class XcodeProjectGeneratorTests: XCTestCase { let projectURL = URL(fileURLWithPath: xcodeProjectPath, isDirectory: true) mockFileManager.allowedDirectoryCreates.insert(projectURL.path) - let tulsiworkspace = projectURL.appendingPathComponent("tulsi-workspace") - mockFileManager.allowedDirectoryCreates.insert(tulsiworkspace.path) + let tulsiExecRoot = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiExecutionRootSymlinkPath) + mockFileManager.allowedDirectoryCreates.insert(tulsiExecRoot.path) + + let tulsiLegacyExecRoot = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiExecutionRootSymlinkLegacyPath) + mockFileManager.allowedDirectoryCreates.insert(tulsiLegacyExecRoot.path) + + let tulsiOutputBase = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiOutputBaseSymlinkPath) + mockFileManager.allowedDirectoryCreates.insert(tulsiOutputBase.path) let bazelCacheReaderURL = mockFileManager.homeDirectoryForCurrentUser.appendingPathComponent( "Library/Application Support/Tulsi/Scripts", isDirectory: true) @@ -439,7 +445,7 @@ class XcodeProjectGeneratorTests: XCTestCase { tulsiVersion: testTulsiVersion, fileManager: mockFileManager, pbxTargetGeneratorType: MockPBXTargetGenerator.self) - generator.redactWorkspaceSymlink = true + generator.redactSymlinksToBazelOutput = true generator.suppressModifyingUserDefaults = true generator.suppressGeneratingBuildSettings = true generator.writeDataHandler = { (url, _) in @@ -580,8 +586,7 @@ final class MockPBXTargetGenerator: PBXTargetGeneratorProtocol { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool, - redactWorkspaceSymlink: Bool + suppressCompilerDefines: Bool ) { self.project = project } From 88bb140900b6737fdaaf4564135306a0403d394a Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 6 Apr 2021 19:20:39 +0000 Subject: [PATCH 04/48] Add `generates_header = True` to `swift_library` targets used by Tulsi's E2E tests. PiperOrigin-RevId: 367058875 (cherry picked from commit debe5ac16da589ed05ccc534afec5f211dd60a73) --- src/TulsiGeneratorIntegrationTests/Resources/Swift.BUILD | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/TulsiGeneratorIntegrationTests/Resources/Swift.BUILD b/src/TulsiGeneratorIntegrationTests/Resources/Swift.BUILD index 9b2e9e50..0601eafa 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/Swift.BUILD +++ b/src/TulsiGeneratorIntegrationTests/Resources/Swift.BUILD @@ -57,6 +57,7 @@ swift_library( defines = [ "LIBRARY_DEFINE_V3", ], + generates_header = True, ) swift_library( @@ -72,6 +73,7 @@ swift_library( defines = [ "LIBRARY_DEFINE_V4", ], + generates_header = True, ) swift_library( @@ -83,6 +85,7 @@ swift_library( defines = [ "LIBRARY_DEFINE", ], + generates_header = True, deps = [ ":SubSwiftLibrary", ], From 81c650c56d38af3028a905b9aed59c3a738c732a Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 4 May 2021 16:14:18 +0000 Subject: [PATCH 05/48] Add a setting to the Tulsi-generated lldbinit to explicitly enable implicit module maps. LLDB will transitively include an option that disables implicit module maps when importing a Swift module that depends on an Objective-C library that was built with explicit modules. Depending on the build graph, this can mean LLDB's clang module importer can fail to find the required module maps and provide no debug info. PiperOrigin-RevId: 371927956 (cherry picked from commit dbb0fc40b75d372217971802a7d71c934cba5c0e) --- src/TulsiGenerator/Scripts/bazel_build.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index ce2d08fa..fb39c65a 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -1531,6 +1531,13 @@ def _UpdateLLDBInit(self, clear_source_map=False): 'root used by %r.\n' % project_basename) out.write('platform settings -w "%s"\n' % workspace_root) + out.write('# This enables implicitly loading Clang modules which can be ' + 'disabled when a Swift module was built with explicit modules ' + 'enabled.\n') + out.write( + 'settings set -- target.swift-extra-clang-flags "-fimplicit-module-maps"\n' + ) + if clear_source_map: out.write('settings clear target.source-map\n') return 0 From bc7e6c989cc6deef03e3ccc7a9f137c71f771d8e Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Wed, 5 May 2021 16:52:50 +0000 Subject: [PATCH 06/48] Updates version number to 0.4.372144887.20210505. PiperOrigin-RevId: 372147605 (cherry picked from commit 5ef399c7b68130a4b94d0202cb04c1d387818157) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index 4d36928f..0e30b903 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "363276189" +TULSI_VERSION_FIXLEVEL = "372144887" -TULSI_VERSION_DATE = "20210318" +TULSI_VERSION_DATE = "20210505" TULSI_VERSION_COPYRIGHT = "2015-2018" From 50cef269142497bc0f9829fc0515bde6d2ce34fa Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 11 May 2021 18:45:41 +0000 Subject: [PATCH 07/48] Internal Change PiperOrigin-RevId: 373199701 (cherry picked from commit 9939243d7be21007c2d1792ce640ab7d26561cb3) --- .../Resources/ComplexSingle.BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TulsiGeneratorIntegrationTests/Resources/ComplexSingle.BUILD b/src/TulsiGeneratorIntegrationTests/Resources/ComplexSingle.BUILD index 45fbfcef..81cba0b8 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/ComplexSingle.BUILD +++ b/src/TulsiGeneratorIntegrationTests/Resources/ComplexSingle.BUILD @@ -29,8 +29,8 @@ load( "@build_bazel_rules_apple//apple:ios.bzl", "ios_application", "ios_extension", - "ios_unit_test", "ios_ui_test", + "ios_unit_test", ) load( "@build_bazel_rules_apple//apple:resources.bzl", From bf9aeba1cfdead8827e6df69353e983c91333f04 Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 18 May 2021 19:16:36 +0000 Subject: [PATCH 08/48] Only show one amibigous rule warning per build label. PiperOrigin-RevId: 374475916 (cherry picked from commit ee965f22d2cc5b4d49969f94423c82ed3357b08d) --- src/TulsiGenerator/RuleEntryMap.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/TulsiGenerator/RuleEntryMap.swift b/src/TulsiGenerator/RuleEntryMap.swift index c91e01d5..2790bf56 100644 --- a/src/TulsiGenerator/RuleEntryMap.swift +++ b/src/TulsiGenerator/RuleEntryMap.swift @@ -23,6 +23,7 @@ import Foundation public class RuleEntryMap { private var labelToEntries = [BuildLabel: [RuleEntry]]() private var allEntries = [RuleEntry]() + private var labelsWithWarning = Set() private let localizedMessageLogger: LocalizedMessageLogger? @@ -97,10 +98,13 @@ public class RuleEntryMap { } } - // Must be multiple. Shoot out a warning and return the last. - localizedMessageLogger?.warning("AmbiguousRuleEntryReference", - comment: "Warning when unable to resolve a RuleEntry for a given DeploymentTarget. RuleEntry's label is in %1$@.", - values: buildLabel.description) + if labelsWithWarning.insert(buildLabel).inserted { + // Must be multiple. Shoot out a warning and return the last. + localizedMessageLogger?.warning("AmbiguousRuleEntryReference", + comment: "Warning when unable to resolve a RuleEntry for a given DeploymentTarget. RuleEntry's label is in %1$@.", + values: buildLabel.description) + } + return ruleEntries.last } } From a69355d020cbdcc19072cf5e5211aac435aac269 Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 18 May 2021 20:16:19 +0000 Subject: [PATCH 09/48] Updates version number to 0.4.374474001.20210518. PiperOrigin-RevId: 374489201 (cherry picked from commit 21cc1c85ac04b1e126b40726ed9fb371e2fea1bc) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index 0e30b903..0885e350 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "372144887" +TULSI_VERSION_FIXLEVEL = "374474001" -TULSI_VERSION_DATE = "20210505" +TULSI_VERSION_DATE = "20210518" TULSI_VERSION_COPYRIGHT = "2015-2018" From ef064f5671068a32a5fef9adeaf774a2132c6b9b Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 8 Jun 2021 21:38:26 +0000 Subject: [PATCH 10/48] Change 1/3 to add a new tool that handles pruning the LLDB module cache of any modules that are found in a metadata file that is intended to be created by a bazel aspect that collects explicit module build outputs. This tool is needed to avoid a crash with LLDB that occurs when the LLDB module cache contains a module that is also generated in a build as an explicit module. This chnage handles reading metadata files that a bazel aspect will write to come up with a list of names of all explicit modules that will have been created from a build. PiperOrigin-RevId: 378248354 (cherry picked from commit 078e311a883cecefa2d284747c334cc130206df1) --- src/tools/module_cache_pruner/BUILD | 11 ++++ .../module_cache_pruner/ExplicitModules.swift | 42 ++++++++++++ src/tools/module_cache_pruner/tests/BUILD | 21 ++++++ .../tests/ExplicitModulesTest.swift | 52 +++++++++++++++ .../tests/FakeMetadataFile.swift | 37 +++++++++++ .../tests/FakeModule.swift | 64 +++++++++++++++++++ .../module_cache_pruner/tests/FileUtils.swift | 27 ++++++++ 7 files changed, 254 insertions(+) create mode 100644 src/tools/module_cache_pruner/BUILD create mode 100644 src/tools/module_cache_pruner/ExplicitModules.swift create mode 100644 src/tools/module_cache_pruner/tests/BUILD create mode 100644 src/tools/module_cache_pruner/tests/ExplicitModulesTest.swift create mode 100644 src/tools/module_cache_pruner/tests/FakeMetadataFile.swift create mode 100644 src/tools/module_cache_pruner/tests/FakeModule.swift create mode 100644 src/tools/module_cache_pruner/tests/FileUtils.swift diff --git a/src/tools/module_cache_pruner/BUILD b/src/tools/module_cache_pruner/BUILD new file mode 100644 index 00000000..5fef6a5b --- /dev/null +++ b/src/tools/module_cache_pruner/BUILD @@ -0,0 +1,11 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +licenses(["notice"]) + +package(default_visibility = ["//:__subpackages__"]) + +swift_library( + name = "module_cache_pruner_lib", + srcs = glob(["*.swift"]), + module_name = "ModuleCachePruner", +) diff --git a/src/tools/module_cache_pruner/ExplicitModules.swift b/src/tools/module_cache_pruner/ExplicitModules.swift new file mode 100644 index 00000000..76b14a87 --- /dev/null +++ b/src/tools/module_cache_pruner/ExplicitModules.swift @@ -0,0 +1,42 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation +import os + +/// The top level structure of the metadata file we need to parse. +struct RawExplicitModulesMetadata: Codable { + var explicitModules: [RawExplicitModuleBody] + + private enum CodingKeys : String, CodingKey { + case explicitModules = "explicit_modules" + } +} + +/// An individual module in the metadata file we need to parse. +struct RawExplicitModuleBody: Codable { + /// The path to the explicit module in the bazel outputs directory. + var path: String + /// The full name of the explicit module. + var name: String +} + +/// Reads the given metadata file and returns a list of names of all explicit modules referenced in +/// that file. +func getExplicitModuleNames(fromMetadataFile metadataPath: String) throws -> [String] { + let metadataURL = URL(fileURLWithPath: metadataPath) + let data = try Data(contentsOf: metadataURL) + let jsonData = try JSONDecoder().decode(RawExplicitModulesMetadata.self, from: data) + return jsonData.explicitModules.map { $0.name } +} diff --git a/src/tools/module_cache_pruner/tests/BUILD b/src/tools/module_cache_pruner/tests/BUILD new file mode 100644 index 00000000..f080e5c1 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/BUILD @@ -0,0 +1,21 @@ +load("@build_bazel_rules_apple//apple:macos.bzl", "macos_unit_test") +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +licenses(["notice"]) + +package(default_visibility = ["//:__subpackages__"]) + +swift_library( + name = "module_cache_pruner_tests_lib", + testonly = 1, + srcs = glob(["*.swift"]), + deps = [ + "//src/tools/module_cache_pruner:module_cache_pruner_lib", + ], +) + +macos_unit_test( + name = "module_cache_pruner_tests", + minimum_os_version = "10.13", + deps = [":module_cache_pruner_tests_lib"], +) diff --git a/src/tools/module_cache_pruner/tests/ExplicitModulesTest.swift b/src/tools/module_cache_pruner/tests/ExplicitModulesTest.swift new file mode 100644 index 00000000..4f3e15ce --- /dev/null +++ b/src/tools/module_cache_pruner/tests/ExplicitModulesTest.swift @@ -0,0 +1,52 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation +import XCTest + +@testable import ModuleCachePruner + +class ExplicitModuleTests: XCTestCase { + let modules = FakeModules() + var fakeMetadataFile: URL? + + override func tearDown() { + if let fakeMetadataFile = fakeMetadataFile { + try? FileManager.default.removeItem(at: fakeMetadataFile) + } + } + + func testExtractingModuleNamesFromMetatdataFile() { + do { + fakeMetadataFile = try createFakeMetadataFile( + withExplicitModules: [ + modules.system.foundation, modules.system.coreFoundation, modules.user.buttonsLib, + modules.user.buttonsIdentity, + ]) + } catch { + XCTFail("Failed to create required fake metadata file: \(error)") + return + } + + let expectedExplicitModuleNames = [ + modules.system.foundation, modules.system.coreFoundation, modules.user.buttonsLib, + modules.user.buttonsIdentity, + ].map { $0.name } + + XCTAssertEqual( + try? getExplicitModuleNames(fromMetadataFile: fakeMetadataFile!.path), + expectedExplicitModuleNames + ) + } +} diff --git a/src/tools/module_cache_pruner/tests/FakeMetadataFile.swift b/src/tools/module_cache_pruner/tests/FakeMetadataFile.swift new file mode 100644 index 00000000..70339339 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/FakeMetadataFile.swift @@ -0,0 +1,37 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation + +@testable import ModuleCachePruner + +/// Writes a JSON metadata file to a temporary location and returns a URL to that location. +func createFakeMetadataFile(contents: RawExplicitModulesMetadata) throws -> URL { + let temporaryFileURL = getTemporaryJSONFileURL() + let jsonData = try JSONEncoder().encode(contents) + try jsonData.write(to: temporaryFileURL) + return temporaryFileURL +} + +/// Convenience function that abstracts away the need to provide the JSON data in the required +/// format. Instead, this function accepts FakeModule objects and converts them into the required +/// format. +func createFakeMetadataFile(withExplicitModules modules: [FakeModule]) throws -> URL { + let fakeMetadataBody = modules.map { + RawExplicitModuleBody( + path: $0.explicitFilepath, name: $0.name) + } + let fakeMetadata = RawExplicitModulesMetadata(explicitModules: fakeMetadataBody) + return try createFakeMetadataFile(contents: fakeMetadata) +} diff --git a/src/tools/module_cache_pruner/tests/FakeModule.swift b/src/tools/module_cache_pruner/tests/FakeModule.swift new file mode 100644 index 00000000..fdf8d320 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/FakeModule.swift @@ -0,0 +1,64 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// Wraps values that may be needed to describe a module. This allows our tests to use wrapper +/// functions to create fake module caches, metadata files, etc that take instances of these fake +/// modules and extract any module related information needed for a specific function. +struct FakeModule { + /// The name of the module. e.g. "Foundation" + let name: String + /// The filename of the clang module. e.g. "Foundation.swift.pcm" + let clangName: String + /// The filename of the swift module. e.g. "Foundation.swiftmodule" + let swiftName: String + /// The filepath to the explicit clang module. + /// e.g. "/private/var/.../bin/buttons/Foundation.swift.pcm" + let explicitFilepath: String + /// The filename of the implicit clang module. e.g. "Foundation-ABCDEFGH.pcm" + /// Note that implicit modules are in the format `-.pcm` and depend + /// on the build options used for the implicit compilation. This means that in a real implicit + /// module cache there can be multiple implicit PCMs for the same module. + let implicitFilename: String + + private static let hashLength = 8 + private static let outputDirectory = + "/private/var/tmp/_bazel_//execroot//bazel-out/ios_x86_64-dbg/bin/buttons" + + init(_ name: String, hashCharacter: String) { + self.name = name + self.clangName = "\(name).swift.pcm" + self.swiftName = "\(name).swiftmodule" + self.explicitFilepath = "\(FakeModule.outputDirectory)/\(name).swift.pcm" + self.implicitFilename = + "\(name)-\(String(repeating: hashCharacter, count: FakeModule.hashLength)).pcm" + } +} + +struct SystemModules { + let foundation = FakeModule("Foundation", hashCharacter: "A") + let coreFoundation = FakeModule("CoreFoundation", hashCharacter: "B") + let darwin = FakeModule("Darwin", hashCharacter: "C") +} + +struct UserModules { + let buttonsLib = FakeModule("ButtonsLib", hashCharacter: "1") + let buttonsModel = FakeModule("ButtonsModel", hashCharacter: "2") + let buttonsIdentity = FakeModule("ButtonsIdentity", hashCharacter: "3") +} + +/// Encapsulates various ready-to-use fake modules for tests. +struct FakeModules { + let system = SystemModules() + let user = UserModules() +} diff --git a/src/tools/module_cache_pruner/tests/FileUtils.swift b/src/tools/module_cache_pruner/tests/FileUtils.swift new file mode 100644 index 00000000..099cd155 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/FileUtils.swift @@ -0,0 +1,27 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation + +private let fileManager = FileManager.default + +/// Returns a URL to a location for a JSON file with a random filename under the macOS temporary +/// directory. This function does not create a file at that location. +func getTemporaryJSONFileURL() -> URL { + let temporaryDirectoryURL = URL( + fileURLWithPath: NSTemporaryDirectory(), + isDirectory: true) + let temporaryFilename = ProcessInfo().globallyUniqueString + return temporaryDirectoryURL.appendingPathComponent("\(temporaryFilename).json") +} From ee758c3fdbcf9ba232d524064a4d14f21470794d Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Wed, 9 Jun 2021 14:38:33 +0000 Subject: [PATCH 11/48] Change 2/3 to add a new tool that handles pruning the LLDB module cache of any modules that are found in a metadata file that is intended to be created by a bazel aspect that collects explicit module build outputs. This tool is needed to avoid a crash with LLDB that occurs when the LLDB module cache contains a module that is also generated in a build as an explicit module. This change handles reading the contents of the implicit module cache and map the name of each module to the absolute path of that module. PiperOrigin-RevId: 378402314 (cherry picked from commit a03f6ef5d8a40d85dbf40bb69644288bdf036846) --- .../module_cache_pruner/ImplicitModules.swift | 125 ++++++++++++++++++ src/tools/module_cache_pruner/Logger.swift | 17 +++ .../tests/FakeModuleCache.swift | 47 +++++++ .../module_cache_pruner/tests/FileUtils.swift | 51 +++++++ .../tests/ImplicitModulesTest.swift | 80 +++++++++++ 5 files changed, 320 insertions(+) create mode 100644 src/tools/module_cache_pruner/ImplicitModules.swift create mode 100644 src/tools/module_cache_pruner/Logger.swift create mode 100644 src/tools/module_cache_pruner/tests/FakeModuleCache.swift create mode 100644 src/tools/module_cache_pruner/tests/ImplicitModulesTest.swift diff --git a/src/tools/module_cache_pruner/ImplicitModules.swift b/src/tools/module_cache_pruner/ImplicitModules.swift new file mode 100644 index 00000000..cf453cbe --- /dev/null +++ b/src/tools/module_cache_pruner/ImplicitModules.swift @@ -0,0 +1,125 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation +import os + +private let fileManager = FileManager.default + +/// Reads the contents of the module cache and returns a dictionary that maps the name of a module +/// to all pcm files in the module cache for that module. +func getImplicitModules(moduleCacheURL: URL) -> [String: [URL]] { + let implicitModules = getModulesInModuleCache(moduleCacheURL) + return mapModuleNamesToModuleURLs(implicitModules) +} + +/// Converts a list of precompiled module URLs into a dictionary that maps module names to the +/// locations of pcm files for that module. +private func mapModuleNamesToModuleURLs(_ moduleURLs: [URL]) -> [String: [URL]] { + var moduleNameToURLs: [String: [URL]] = [:] + + for url in moduleURLs { + if let moduleName = moduleNameForImplicitPrecompiledModule(at: url) { + var urlsForModule = moduleNameToURLs[moduleName, default: []] + urlsForModule.append(url) + moduleNameToURLs[moduleName] = urlsForModule + } + } + + return moduleNameToURLs +} + +/// Reads the contents of the module cache and returns a list of paths to all the precompiled +/// files in URL form. +private func getModulesInModuleCache(_ moduleCacheURL: URL) -> [URL] { + let subdirectories = getDirectoriesInModuleCacheRoot(moduleCacheURL) + var moduleURLs = [URL]() + + let moduleURLsWriteQueue = DispatchQueue(label: "module-cache-urls") + let directoryEnumeratingDispatchGroup = DispatchGroup() + + for subdirectory in subdirectories { + directoryEnumeratingDispatchGroup.enter() + + DispatchQueue.global(qos: .default).async { + let modulesInSubdirectory = getModulesInModuleCacheSubdirectory(subdirectory) + moduleURLsWriteQueue.async { + moduleURLs.append(contentsOf: modulesInSubdirectory) + directoryEnumeratingDispatchGroup.leave() + } + } + } + + directoryEnumeratingDispatchGroup.wait() + return moduleURLs +} + +/// Returns the directories in the root of the module cache directory. Precompiled modules are not +/// found in the root of the module cache directory, they are only found within the subdirectories +/// that are returned by this function. +/// +/// ModuleCache.noindex/ +/// |- / +/// |- ... +/// |- / +/// |- .swiftmodule +/// |- ... +/// |- .swiftmodule +private func getDirectoriesInModuleCacheRoot(_ moduleCacheURL: URL) -> [URL] { + do { + let contents = try fileManager.contentsOfDirectory( + at: moduleCacheURL, includingPropertiesForKeys: nil, options: []) + return contents.filter { $0.hasDirectoryPath } + } catch { + os_log( + "Failed to read contents of module cache root at %@: %@", log: logger, type: .error, + moduleCacheURL.absoluteString, error.localizedDescription) + return [] + } +} + +/// Returns the precompiled module files found in the given subdirectory. Subdirectories will +/// contain precompiled modules and temporary timestamps. +/// +/// ModuleCache.noindex/ +/// |- / +/// |- .pcm +/// |- ... +/// |- .pcm +/// |- ... +/// |- / +/// |- .pcm +/// |- ... +/// |- .pcm +private func getModulesInModuleCacheSubdirectory( + _ directoryURL: URL +) -> [URL] { + do { + let contents = try fileManager.contentsOfDirectory( + at: directoryURL, includingPropertiesForKeys: nil, options: []) + return contents.filter { !$0.hasDirectoryPath && $0.pathExtension == "pcm" } + } catch { + os_log( + "Failed to read contents of module cache subdirectory at %@: %@", log: logger, type: .error, + directoryURL.absoluteString, error.localizedDescription) + return [] + } +} + +/// Extracts the module name from an implicit module in LLDB's module cache. Implicit Modules are of +/// the form ".pcm" e.g. "Foundation-3DFYNEBRQSXST.pcm". +private func moduleNameForImplicitPrecompiledModule(at moduleURL: URL) -> String? { + let filename = moduleURL.lastPathComponent + return filename.components(separatedBy: "-").first +} diff --git a/src/tools/module_cache_pruner/Logger.swift b/src/tools/module_cache_pruner/Logger.swift new file mode 100644 index 00000000..541b3ecd --- /dev/null +++ b/src/tools/module_cache_pruner/Logger.swift @@ -0,0 +1,17 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import os + +public let logger = OSLog(subsystem: "com.google.ModuleCachePruner", category: "default") diff --git a/src/tools/module_cache_pruner/tests/FakeModuleCache.swift b/src/tools/module_cache_pruner/tests/FakeModuleCache.swift new file mode 100644 index 00000000..0fc8000c --- /dev/null +++ b/src/tools/module_cache_pruner/tests/FakeModuleCache.swift @@ -0,0 +1,47 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation + +/// Creates a complete directory tree in a temporary directory with the given structure. +func createFakeModuleCache(with contents: DirectoryStructure) -> URL? { + guard let temporaryDirectory = createTemporaryDirectory() else { + return nil + } + + do { + try createDirectoryStructure(temporaryDirectory, withContents: contents) + } catch { + try? FileManager.default.removeItem(at: temporaryDirectory) + return nil + } + return temporaryDirectory +} + +/// Convenience function that abstracts away the need to provide the exact directory tree structure. +/// Instead, this function accepts FakeModule objects labeled as either swift or clang modules and +/// computes the directory structure. +func createFakeModuleCache( + withSwiftModules swiftModules: [FakeModule], + andClangModules clangModulesByDirectory: [String: [FakeModule]] +) -> URL? { + var directories = [String: DirectoryStructure]() + for (directory, clangModules) in clangModulesByDirectory { + directories[directory] = DirectoryStructure(files: clangModules.map { $0.implicitFilename }) + } + let files = swiftModules.map { $0.swiftName } + + let contents = DirectoryStructure(files: files, directories: directories) + return createFakeModuleCache(with: contents) +} diff --git a/src/tools/module_cache_pruner/tests/FileUtils.swift b/src/tools/module_cache_pruner/tests/FileUtils.swift index 099cd155..17197ddf 100644 --- a/src/tools/module_cache_pruner/tests/FileUtils.swift +++ b/src/tools/module_cache_pruner/tests/FileUtils.swift @@ -16,6 +16,57 @@ import Foundation private let fileManager = FileManager.default +struct DirectoryStructure { + var files: [String]? + var directories: [String: DirectoryStructure]? +} + +/// Creates a directory and any subdirectories + dummy files at the given location on the file +/// system. +func createDirectoryStructure(_ directory: URL, withContents contents: DirectoryStructure) throws { + if let files = contents.files { + for filename in files { + let filepath = directory.appendingPathComponent(filename) + try "".write(to: filepath, atomically: true, encoding: .utf8) + } + } + + if let directories = contents.directories { + for (dirname, contents) in directories { + let subdirectory = directory.appendingPathComponent(dirname) + try fileManager.createDirectory(at: subdirectory, withIntermediateDirectories: true) + try createDirectoryStructure(subdirectory, withContents: contents) + } + } +} + +/// Creates a directory with a random name in the macOS temporary directory. +func createTemporaryDirectory() -> URL? { + let osTemporaryDirectory = URL( + fileURLWithPath: NSTemporaryDirectory(), + isDirectory: true) + + guard + let temporaryDirectory = try? fileManager.url( + for: .itemReplacementDirectory, + in: .userDomainMask, + appropriateFor: osTemporaryDirectory, + create: true) + else { + return nil + } + + // The macOS temporary directory is located under the `/var` root directory. `/var` is a symlink + // to `/private/var` which can cause problems when testing for equal values since equality will + // depend on whether prod code resolves the realpath or leaves it as the symlink. To avoid issues, + // return the realpath so test and prod code will only ever handle one version of the path. + guard let temporaryDirectoryRealPath = realpath(temporaryDirectory.path, nil) else { + return nil + } + + return URL(fileURLWithPath: String(cString: temporaryDirectoryRealPath), isDirectory: true) +} + /// Returns a URL to a location for a JSON file with a random filename under the macOS temporary /// directory. This function does not create a file at that location. func getTemporaryJSONFileURL() -> URL { diff --git a/src/tools/module_cache_pruner/tests/ImplicitModulesTest.swift b/src/tools/module_cache_pruner/tests/ImplicitModulesTest.swift new file mode 100644 index 00000000..f374c8b0 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/ImplicitModulesTest.swift @@ -0,0 +1,80 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation +import XCTest + +@testable import ModuleCachePruner + +/// Converts a Dictionary that uses Arrays for the values into a nearly identical Dictionary that +/// instead uses Sets for the values. This allows us to test for Dictionary equality without +/// needing to worry about the ordering in the values. +func convertArrayValuesToSetValues(_ input: [String: [URL]]) -> [String: Set] { + return Dictionary(uniqueKeysWithValues: input.map { ($0, Set($1)) }) +} + +class ImplicitModuleTests: XCTestCase { + let modules = FakeModules() + var fakeModuleCacheURL: URL? + + override func tearDown() { + if let moduleCacheURL = fakeModuleCacheURL { + try? FileManager.default.removeItem(at: moduleCacheURL) + } + } + + func testMappingModulesInModuleCache() { + guard + let moduleCacheURL = createFakeModuleCache( + withSwiftModules: [ + modules.system.foundation, modules.system.coreFoundation, modules.system.darwin, + ], + andClangModules: [ + "DirectoryHash1": [ + modules.user.buttonsLib, modules.user.buttonsIdentity, modules.user.buttonsModel, + ], + "DirectoryHash2": [ + modules.user.buttonsLib, modules.user.buttonsIdentity, modules.user.buttonsModel, + ], + ]) + else { + XCTFail("Failed to create fake module cache required for test.") + return + } + + fakeModuleCacheURL = moduleCacheURL + + let subdirectory1 = moduleCacheURL.appendingPathComponent("DirectoryHash1") + let subdirectory2 = moduleCacheURL.appendingPathComponent("DirectoryHash2") + let expectedImplicitModuleMapping = [ + modules.user.buttonsLib.name: [ + subdirectory1.appendingPathComponent(modules.user.buttonsLib.implicitFilename), + subdirectory2.appendingPathComponent(modules.user.buttonsLib.implicitFilename), + ], + modules.user.buttonsIdentity.name: [ + subdirectory1.appendingPathComponent(modules.user.buttonsIdentity.implicitFilename), + subdirectory2.appendingPathComponent(modules.user.buttonsIdentity.implicitFilename), + ], + modules.user.buttonsModel.name: [ + subdirectory1.appendingPathComponent(modules.user.buttonsModel.implicitFilename), + subdirectory2.appendingPathComponent(modules.user.buttonsModel.implicitFilename), + ], + ] + + let actualImplicitModuleMapping = getImplicitModules(moduleCacheURL: moduleCacheURL) + XCTAssertEqual( + convertArrayValuesToSetValues(actualImplicitModuleMapping), + convertArrayValuesToSetValues(expectedImplicitModuleMapping)) + } +} From 5d43e0929860825b25d0cb9d46af9fec0deed208 Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Thu, 10 Jun 2021 16:20:20 +0000 Subject: [PATCH 12/48] Change 3/3 to add a new tool that handles pruning the LLDB module cache of any modules that are found in a metadata file that is intended to be created by a bazel aspect that collects explicit module build outputs. This tool is needed to avoid a crash with LLDB that occurs when the LLDB module cache contains a module that is also generated in a build as an explicit module. To summarize how this works: - Read the contents of the implicit module cache and map the name of each module to the absolute path of that module. - Read metadata files that a bazel aspect will write to come up with a list of names of all explicit modules created from a build. - Iterate through the list of explicit module names and delete any module with the same name from the implicit module cache. - Compute a hash of the list of explicit module names that were used to prune the implicit module cache. - Save that hash to a special sentinel file in the implicit module cache. - Compare the hash of subsequent builds to the one in the file to determine if subsequent builds should prune the implicit module cache. PiperOrigin-RevId: 378666180 (cherry picked from commit 55b6a9254546bb859fd782dd6f73a80993c1bcfc) --- src/tools/module_cache_pruner/BUILD | 11 + .../ModuleCachePruner.swift | 165 +++++++++++++ src/tools/module_cache_pruner/main.swift | 24 ++ .../module_cache_pruner/tests/FileUtils.swift | 25 ++ .../tests/ModuleCachePrunerTest.swift | 223 ++++++++++++++++++ 5 files changed, 448 insertions(+) create mode 100644 src/tools/module_cache_pruner/ModuleCachePruner.swift create mode 100644 src/tools/module_cache_pruner/main.swift create mode 100644 src/tools/module_cache_pruner/tests/ModuleCachePrunerTest.swift diff --git a/src/tools/module_cache_pruner/BUILD b/src/tools/module_cache_pruner/BUILD index 5fef6a5b..1eebe1b3 100644 --- a/src/tools/module_cache_pruner/BUILD +++ b/src/tools/module_cache_pruner/BUILD @@ -1,3 +1,4 @@ +load("@build_bazel_rules_apple//apple:macos.bzl", "macos_command_line_application") load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") licenses(["notice"]) @@ -9,3 +10,13 @@ swift_library( srcs = glob(["*.swift"]), module_name = "ModuleCachePruner", ) + +# This tool handles pruning the LLDB module cache of any modules that are found in a metadata file +# that is intended to be created by a bazel aspect that collects explicit module build outputs. This +# tool is needed to avoid a crash with LLDB that occurs when the LLDB module cache contains a module +# that is also generated in a build as an explicit module. +macos_command_line_application( + name = "module_cache_pruner", + minimum_os_version = "10.13", + deps = [":module_cache_pruner_lib"], +) diff --git a/src/tools/module_cache_pruner/ModuleCachePruner.swift b/src/tools/module_cache_pruner/ModuleCachePruner.swift new file mode 100644 index 00000000..28a3b885 --- /dev/null +++ b/src/tools/module_cache_pruner/ModuleCachePruner.swift @@ -0,0 +1,165 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import CommonCrypto +import Foundation +import os + +private let fileManager = FileManager.default +let prunedModulesTokenFilename = "modules.hash" + +/// Prunes the implicit module cache of any modules that are also found in the explicit module +/// metadata files. This avoids a crash when LLDB loads an implicit module which will be outdated if +/// an explicit module counterpart exists. +/// Returns: A list of URLs of the modules that were removed or nil if pruning was skipped all +/// together. +func pruneModuleCache(moduleCachePath: String, explicitModuleMetadataFile: String) -> [URL]? { + os_log( + "Pruning implicit module cache at %@ of explicit modules in %@.", log: logger, type: .default, + moduleCachePath, explicitModuleMetadataFile) + let moduleCacheURL = URL(fileURLWithPath: moduleCachePath) + let hashValueURL = moduleCacheURL.appendingPathComponent(prunedModulesTokenFilename) + + let explicitModuleNames: [String] + do { + explicitModuleNames = try getExplicitModuleNames(fromMetadataFile: explicitModuleMetadataFile) + } catch { + os_log( + "Encountered an error while reading metadata file at %@: %@", log: logger, type: .error, + explicitModuleMetadataFile, error.localizedDescription) + return nil + } + + let existingHashValue = readPrunedModulesToken(hashValueURL) + guard let computedHashValue = computePrunedModulesToken(explicitModuleNames) else { + os_log( + "Metadata file contains no explicit module outputs, skipping module cache pruning.", + log: logger, + type: .default) + return nil + } + + if existingHashValue == computedHashValue { + os_log( + "Explicit module outputs have not changed, skipping module cache pruning.", log: logger, + type: .default) + return nil + } else { + let implicitModulesByName = getImplicitModules(moduleCacheURL: moduleCacheURL) + os_log( + "Found %d explicit modules in metadata file and %d unique implicit modules in the module cache.", + log: logger, type: .debug, explicitModuleNames.count, implicitModulesByName.count) + let removedModules = removeImplicitModulesWithExplicitModuleCounterparts( + implicitModulesByName: implicitModulesByName, explicitModuleNames: explicitModuleNames) + updatePrunedModulesToken(computedHashValue, hashValueURL: hashValueURL) + os_log( + "Removed %d implicit modules from the module cache.", + log: logger, type: .debug, removedModules.count) + return removedModules + } +} + +private func removeImplicitModulesWithExplicitModuleCounterparts( + implicitModulesByName: [String: [URL]], explicitModuleNames: [String] +) -> [URL] { + var removedModules: [URL] = [] + let removedModulesWriteQueue = DispatchQueue(label: "pruned-modules") + let moduleRemovalDispatchGroup = DispatchGroup() + + for moduleName in explicitModuleNames { + let implicitModuleURLs = implicitModulesByName[moduleName, default: []] + + for url in implicitModuleURLs { + os_log("Will remove %@.", log: logger, type: .debug, url.absoluteString) + moduleRemovalDispatchGroup.enter() + + DispatchQueue.global(qos: .default).async { + do { + try fileManager.removeItem(at: url) + os_log("Did remove %@.", log: logger, type: .debug, url.absoluteString) + removedModulesWriteQueue.async { + removedModules.append(url) + moduleRemovalDispatchGroup.leave() + } + } catch { + os_log( + "Failed to remove %@: %@.", log: logger, type: .error, url.absoluteString, + error.localizedDescription) + moduleRemovalDispatchGroup.leave() + } + } + } + } + + moduleRemovalDispatchGroup.wait() + return removedModules +} + +private func readPrunedModulesToken(_ hashValueURL: URL) -> String? { + do { + let hashValue = try Data(contentsOf: hashValueURL) + return String(data: hashValue, encoding: .utf8) + } catch { + if !error.isFileNotFound() { + os_log( + "Encountered an error while reading the stored explicit module hash at %@: %@", log: logger, + type: .error, hashValueURL.absoluteString, error.localizedDescription) + } + // Returning `nil` guarantees that we will prune the module cache again since the newly computed + // module cache will never be `nil` thus will never match this value. + return nil + } +} + +private func updatePrunedModulesToken(_ hashValue: String, hashValueURL: URL) { + do { + let parentDirectoryURL = hashValueURL.deletingLastPathComponent() + try fileManager.createDirectory( + at: parentDirectoryURL, withIntermediateDirectories: true, attributes: [:]) + try Data(hashValue.utf8).write(to: hashValueURL) + } catch { + // Failing to update the pruned module token means that the next run will compare the newly + // computed module cache token with an outdated token. At worst this will trigger an unnecessary + // module cache pruning. + os_log( + "Encountered an error while updating the stored explicit module hash at %@: %@", log: logger, + type: .error, hashValueURL.absoluteString, error.localizedDescription) + } +} + +/// Computes a token to track what values were last pruned from the module cache. This can be used +/// to skip pruning when no new explicit modules were built that haven't already been pruned from +/// the implicit module cache. Returns nil when the array of modules is empty meaning that there is +/// nothing to compute. +private func computePrunedModulesToken(_ modules: [String]) -> String? { + guard !modules.isEmpty else { + return nil + } + + let allModules = modules.sorted().joined(separator: ":") + let inputData = Data(allModules.utf8) + + var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH)) + inputData.withUnsafeBytes { + _ = CC_SHA256($0.baseAddress, CC_LONG(inputData.count), &hash) + } + return Data(hash).base64EncodedString() +} + +extension Error { + func isFileNotFound() -> Bool { + let nsError = self as NSError + return nsError.domain == NSCocoaErrorDomain && nsError.code == NSFileReadNoSuchFileError + } +} diff --git a/src/tools/module_cache_pruner/main.swift b/src/tools/module_cache_pruner/main.swift new file mode 100644 index 00000000..99759ca6 --- /dev/null +++ b/src/tools/module_cache_pruner/main.swift @@ -0,0 +1,24 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation + +if CommandLine.arguments.count == 3 { + _ = pruneModuleCache( + moduleCachePath: CommandLine.arguments[1], explicitModuleMetadataFile: CommandLine.arguments[2]) +} else { + print( + "USAGE: \(CommandLine.arguments[0]) " + ) +} diff --git a/src/tools/module_cache_pruner/tests/FileUtils.swift b/src/tools/module_cache_pruner/tests/FileUtils.swift index 17197ddf..c874bd63 100644 --- a/src/tools/module_cache_pruner/tests/FileUtils.swift +++ b/src/tools/module_cache_pruner/tests/FileUtils.swift @@ -76,3 +76,28 @@ func getTemporaryJSONFileURL() -> URL { let temporaryFilename = ProcessInfo().globallyUniqueString return temporaryDirectoryURL.appendingPathComponent("\(temporaryFilename).json") } + +/// Enumerates the full contents of a directory and returns a Set of the results containing only +/// relative paths to the given directory. +func getDirectoryContentsWithRelativePaths(directory: URL) -> Set { + // The file manager enumerator function accepts an option that will enumerate with relative paths, + // i.e. FileManager.DirectoryEnumerationOptions.producesRelativePathURLs, but that options + // requires macOS 10.15 which is not guaranteed when building Tulsi. Instead, we create the + // relative paths ourselves. + guard let results = fileManager.enumerator(at: directory, includingPropertiesForKeys: nil) else { + return [] + } + + let directoryPath = directory.path + var relativeResults = Set() + for result in results { + if let resultUrl = result as? URL { + let resultPath = resultUrl.path + let path = + resultPath.hasPrefix(directoryPath) + ? String(resultPath.dropFirst(directoryPath.count + 1)) : resultPath + relativeResults.insert(path) + } + } + return relativeResults +} diff --git a/src/tools/module_cache_pruner/tests/ModuleCachePrunerTest.swift b/src/tools/module_cache_pruner/tests/ModuleCachePrunerTest.swift new file mode 100644 index 00000000..8289b053 --- /dev/null +++ b/src/tools/module_cache_pruner/tests/ModuleCachePrunerTest.swift @@ -0,0 +1,223 @@ +// Copyright 2021 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation +import XCTest + +@testable import ModuleCachePruner + +/// Helper function that asserts that two sets are equal and prints the unique values in each set +/// when they are not. +func assertSetsEqual(_ a: Set, _ b: Set) { + if a != b { + XCTFail( + """ + Set A=\(a) is not equal to Set B=\(b). + Set A - B = \(a.subtracting(b)). + Set B - A = \(b.subtracting(a)). + """) + } +} + +enum TestSetupError: Error { + case noMetadataFile(msg: String) + case noModuleCache(msg: String) +} + +func createFakes( + metadataFileWithExplicitModules explicitModules: [FakeModule], + moduleCacheDirectoryWith moduleCache: ( + swiftModules: [FakeModule], clangModules: [String: [FakeModule]] + ) +) throws -> (metadataFile: URL, moduleCache: URL) { + var fakeMetadataFile: URL + do { + fakeMetadataFile = try createFakeMetadataFile(withExplicitModules: explicitModules) + } catch { + throw TestSetupError.noMetadataFile( + msg: "Failed to create required fake metadata file: \(error)") + } + + guard + let fakeModuleCache = createFakeModuleCache( + withSwiftModules: moduleCache.swiftModules, + andClangModules: moduleCache.clangModules) + else { + throw TestSetupError.noModuleCache( + msg: "Failed to create fake module cache required for test.") + } + + return (fakeMetadataFile, fakeModuleCache) +} + +class ModuleCachePrunerTests: XCTestCase { + let modules = FakeModules() + var fakeMetadataFile: URL? + var fakeModuleCacheURL: URL? + + private let directoryHash1 = "ABCDEFGH" + private let directoryHash2 = "12345678" + + override func tearDown() { + if let fakeMetadataFile = fakeMetadataFile { + try? FileManager.default.removeItem(at: fakeMetadataFile) + } + if let moduleCacheURL = fakeModuleCacheURL { + try? FileManager.default.removeItem(at: moduleCacheURL) + } + } + + private func implicitModuleCacheURLs( + _ moduleCacheURL: URL, forModulesInDirectories modulesByDirectory: [String: [FakeModule]] + ) -> Set { + var result = Set() + for (subdirectoryName, modules) in modulesByDirectory { + let subdirectoryPath = moduleCacheURL.appendingPathComponent(subdirectoryName) + for module in modules { + result.insert(subdirectoryPath.appendingPathComponent(module.implicitFilename)) + } + } + return result + } + + func testModuleCachePruning() { + let fakes: (metadataFile: URL, moduleCache: URL) + do { + fakes = try createFakes( + metadataFileWithExplicitModules: [ + modules.system.foundation, modules.system.coreFoundation, modules.user.buttonsLib, + modules.user.buttonsIdentity, + ], + moduleCacheDirectoryWith: ( + swiftModules: [ + modules.system.foundation, + modules.system.coreFoundation, + modules.system.darwin, + ], + clangModules: [ + directoryHash1: [ + modules.user.buttonsLib, modules.user.buttonsIdentity, + modules.user.buttonsModel, + ], + directoryHash2: [ + modules.system.foundation, modules.system.coreFoundation, + modules.system.darwin, + ], + ] + )) + } catch TestSetupError.noModuleCache(let msg), TestSetupError.noMetadataFile(let msg) { + XCTFail(msg) + return + } catch { + XCTFail(error.localizedDescription) + return + } + + fakeMetadataFile = fakes.metadataFile + fakeModuleCacheURL = fakes.moduleCache + + guard + let actualModulesRemovedFromModuleCache = pruneModuleCache( + moduleCachePath: fakes.moduleCache.path, explicitModuleMetadataFile: fakes.metadataFile.path + ) + else { + XCTFail("Module cache pruning returned nil but expected a list") + return + } + + let expectedModulesRemovedFromModuleCache = implicitModuleCacheURLs( + fakes.moduleCache, + forModulesInDirectories: [ + directoryHash1: [modules.user.buttonsLib, modules.user.buttonsIdentity], + directoryHash2: [modules.system.foundation, modules.system.coreFoundation], + ]) + + assertSetsEqual(Set(actualModulesRemovedFromModuleCache), expectedModulesRemovedFromModuleCache) + + let actualFilenamesRemainingInModuleCache = getDirectoryContentsWithRelativePaths( + directory: fakes.moduleCache) + let expectedFilenamesRemainingInModuleCache = Set([ + modules.system.foundation.swiftName, modules.system.coreFoundation.swiftName, + modules.system.darwin.swiftName, + "\(directoryHash1)/\(modules.user.buttonsModel.implicitFilename)", + "\(directoryHash2)/\(modules.system.darwin.implicitFilename)", + directoryHash1, directoryHash2, prunedModulesTokenFilename, + ]) + + assertSetsEqual(actualFilenamesRemainingInModuleCache, expectedFilenamesRemainingInModuleCache) + } + + func testModuleCachePruningNegativeCases() { + let fakes: (metadataFile: URL, moduleCache: URL) + + do { + // For this test, ensure that there should be no overlap between explicit modules and implicit + // modules. + fakes = try createFakes( + metadataFileWithExplicitModules: [ + modules.system.foundation, modules.user.buttonsLib, + ], + moduleCacheDirectoryWith: ( + swiftModules: [], + clangModules: [ + directoryHash1: [ + modules.user.buttonsIdentity, modules.user.buttonsModel, + ], + directoryHash2: [ + modules.system.coreFoundation, modules.system.darwin, + ], + ] + )) + } catch TestSetupError.noModuleCache(let msg), TestSetupError.noMetadataFile(let msg) { + XCTFail(msg) + return + } catch { + XCTFail(error.localizedDescription) + return + } + + fakeMetadataFile = fakes.metadataFile + fakeModuleCacheURL = fakes.moduleCache + + guard + let modulesRemovedFromModuleCache1 = pruneModuleCache( + moduleCachePath: fakes.moduleCache.path, explicitModuleMetadataFile: fakes.metadataFile.path + ) + else { + XCTFail("Module cache pruning returned nil but expected an empty list") + return + } + // There was no overlap so nothing should have been removed. + XCTAssertEqual(modulesRemovedFromModuleCache1.count, 0) + + let modulesRemovedFromModuleCache2 = pruneModuleCache( + moduleCachePath: fakes.moduleCache.path, explicitModuleMetadataFile: fakes.metadataFile.path) + // Explicit module outputs did not change so we should have skipped pruning altogether. + XCTAssertNil(modulesRemovedFromModuleCache2) + + let metadataFileWithNoExplicitModules: URL + do { + metadataFileWithNoExplicitModules = try createFakeMetadataFile(withExplicitModules: []) + } catch { + XCTFail("Failed to create required fake metadata file: \(error)") + return + } + let modulesRemovedFromModuleCache3 = pruneModuleCache( + moduleCachePath: fakes.moduleCache.path, + explicitModuleMetadataFile: metadataFileWithNoExplicitModules.path) + // Metadata file did not contain any explicit modules so we should have skipped pruning + // altogether. + XCTAssertNil(modulesRemovedFromModuleCache3) + } +} From a21f4fe7be6649d04e67478e93ee4986c5684882 Mon Sep 17 00:00:00 2001 From: davg Date: Fri, 11 Jun 2021 18:41:42 +0000 Subject: [PATCH 13/48] Disable legacy build system error in Xcode 13 Disable this as it can annoy users; we're working on new build system support. PiperOrigin-RevId: 378916679 (cherry picked from commit 3f25dd7d9a61d57fad195339132a5a6eefa1d911) --- src/TulsiGenerator/XcodeProjectGenerator.swift | 3 +++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ .../xcshareddata/WorkspaceSettings.xcsettings | 2 ++ 13 files changed, 27 insertions(+) diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index 95dca21a..8723be4f 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -638,7 +638,10 @@ final class XcodeProjectGenerator { let workspaceSharedDataURL = projectURL.appendingPathComponent("project.xcworkspace/xcshareddata") let sharedWorkspaceSettings: [String: Any] = [ "BuildSystemType": "Original", + // Disable legacy build system warning in Xcode 12. "DisableBuildSystemDeprecationWarning": true as AnyObject, + // Disable legacy build system error in Xcode 13. + "DisableBuildSystemDeprecationDiagnostic": true as AnyObject, "IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded": false as AnyObject, ] try writeWorkspaceSettings(sharedWorkspaceSettings, diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded From 3608a9f634bc421b4ded4fe9f8c12d8c31db17e4 Mon Sep 17 00:00:00 2001 From: nglevin Date: Fri, 11 Jun 2021 20:03:51 +0000 Subject: [PATCH 14/48] Removing this ios_static_framework target that isn't covered by any tests. Tulsi doesn't allow list ios_static_framework rules, so the e2e test appears to ignore this target. PiperOrigin-RevId: 378933587 (cherry picked from commit 31da8480a3a026109bbcd4b789e32ffccb8f286e) --- src/TulsiEndToEndTests/Resources/Buttons/BUILD | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/TulsiEndToEndTests/Resources/Buttons/BUILD b/src/TulsiEndToEndTests/Resources/Buttons/BUILD index d95ebe46..15f76dac 100644 --- a/src/TulsiEndToEndTests/Resources/Buttons/BUILD +++ b/src/TulsiEndToEndTests/Resources/Buttons/BUILD @@ -1,7 +1,6 @@ load( "@build_bazel_rules_apple//apple:ios.bzl", "ios_application", - "ios_static_framework", "ios_ui_test", "ios_unit_test", ) @@ -108,13 +107,6 @@ ios_application( ], ) -ios_static_framework( - name = "ButtonsStaticFramework", - bundle_name = "ButtonsStaticFramework", - minimum_os_version = "8.0", - deps = [":ButtonsLib"], -) - ## Tests ios_unit_test( From f03c72131c4f617aa13f66bf2acfca2b752abb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thi=20Do=C3=A3n?= Date: Fri, 22 Oct 2021 12:14:49 +0900 Subject: [PATCH 15/48] Revert "Point External Paths into Stable External Directory instead of Unstable Execroot (#255)" This reverts commit c7609aa3914123f1b5f1a6b5caff551617a325c9. --- src/TulsiGenerator/BazelBuildSettings.swift | 4 - .../BazelPBXReferencePatcher.swift | 59 ++++ .../BazelSettingsProvider.swift | 3 - .../BazelWorkspaceInfoExtractor.swift | 7 +- .../BazelWorkspaceInfoExtractorProtocol.swift | 3 - .../BazelWorkspacePathInfoFetcher.swift | 16 -- .../BazelXcodeProjectPatcher.swift | 58 ++-- src/TulsiGenerator/PBXObjects.swift | 31 +-- src/TulsiGenerator/PBXTargetGenerator.swift | 73 ++--- src/TulsiGenerator/Scripts/bazel_build.py | 43 +-- .../Scripts/bazel_build_settings.py.template | 3 +- .../TulsiProjectInfoExtractor.swift | 4 - .../XcodeProjectGenerator.swift | 88 +++--- .../en.lproj/Localizable.strings | 7 +- .../EndToEndIntegrationTestCase.swift | 4 +- .../AppClipProject.xcodeproj/project.pbxproj | 64 ++--- .../project.pbxproj | 252 +++++++++--------- .../MacOSProject.xcodeproj/project.pbxproj | 112 ++++---- .../project.pbxproj | 148 +++++----- .../project.pbxproj | 40 ++- .../SimpleCCProject.xcodeproj/project.pbxproj | 60 ++--- .../SimpleProject.xcodeproj/project.pbxproj | 132 +++++---- .../project.pbxproj | 48 ++-- .../SwiftProject.xcodeproj/project.pbxproj | 120 ++++----- .../project.pbxproj | 104 ++++---- .../project.pbxproj | 56 ++-- .../project.pbxproj | 88 +++--- .../WatchProject.xcodeproj/project.pbxproj | 84 +++--- .../BazelSettingsProviderTests.swift | 2 - .../BuildSettingsTests.swift | 3 - .../MockWorkspaceInfoExtractor.swift | 4 - .../PBXTargetGeneratorTests.swift | 24 +- .../XcodeProjectGeneratorTests.swift | 15 +- 33 files changed, 802 insertions(+), 957 deletions(-) create mode 100644 src/TulsiGenerator/BazelPBXReferencePatcher.swift diff --git a/src/TulsiGenerator/BazelBuildSettings.swift b/src/TulsiGenerator/BazelBuildSettings.swift index fe3bf2cd..87f54b5e 100644 --- a/src/TulsiGenerator/BazelBuildSettings.swift +++ b/src/TulsiGenerator/BazelBuildSettings.swift @@ -197,7 +197,6 @@ class BazelBuildSettings: Pythonable { public let bazel: String public let bazelExecRoot: String - public let bazelOutputBase: String public let defaultPlatformConfigIdentifier: String public let platformConfigurationFlags: [String: [String]] @@ -225,7 +224,6 @@ class BazelBuildSettings: Pythonable { public init(bazel: String, bazelExecRoot: String, - bazelOutputBase: String, defaultPlatformConfigIdentifier: String, platformConfigurationFlags: [String: [String]]?, swiftTargets: Set, @@ -239,7 +237,6 @@ class BazelBuildSettings: Pythonable { projTargetFlagSets: [String: BazelFlagsSet]) { self.bazel = bazel self.bazelExecRoot = bazelExecRoot - self.bazelOutputBase = bazelOutputBase self.defaultPlatformConfigIdentifier = defaultPlatformConfigIdentifier self.platformConfigurationFlags = platformConfigurationFlags ?? BazelBuildSettings.platformConfigurationFlagsMap self.swiftTargets = swiftTargets @@ -259,7 +256,6 @@ class BazelBuildSettings: Pythonable { BazelBuildSettings( \(nestedIndentation)\(bazel.toPython(nestedIndentation)), \(nestedIndentation)\(bazelExecRoot.toPython(nestedIndentation)), -\(nestedIndentation)\(bazelOutputBase.toPython(nestedIndentation)), \(nestedIndentation)\(defaultPlatformConfigIdentifier.toPython(nestedIndentation)), \(nestedIndentation)\(platformConfigurationFlags.toPython(nestedIndentation)), \(nestedIndentation)\(swiftTargets.toPython(nestedIndentation)), diff --git a/src/TulsiGenerator/BazelPBXReferencePatcher.swift b/src/TulsiGenerator/BazelPBXReferencePatcher.swift new file mode 100644 index 00000000..cc9f7644 --- /dev/null +++ b/src/TulsiGenerator/BazelPBXReferencePatcher.swift @@ -0,0 +1,59 @@ +// Copyright 2017 The Tulsi Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import Foundation + +// Provides methods to patch up Bazel specific PBX objects and references before project generation. +// This patches @external container Bazel files to be relative to the exec root. +final class BazelPBXReferencePatcher { + + private let fileManager: FileManager + + init(fileManager: FileManager) { + self.fileManager = fileManager + } + + // Resolves the given Bazel exec-root relative path to a filesystem path. + // This is intended to be used to resolve "@external_repo" style labels to paths usable by Xcode + // and any other paths that must be relative to the Bazel exec root. + private func resolvePathFromBazelExecRoot(_ xcodeProject: PBXProject, _ path: String) -> String { + return "\(xcodeProject.name).xcodeproj/.tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)/\(path)" + } + + // Returns true if the file reference patching was handled. + func patchNonPresentFileReference(file: PBXFileReference, + url: URL, + workspaceRootURL: URL) -> Bool { + return false + } + + // Examines the given xcodeProject, patching any groups that were generated under Bazel's magical + // "external" container to absolute filesystem references. + func patchExternalRepositoryReferences(_ xcodeProject: PBXProject) { + let mainGroup = xcodeProject.mainGroup + guard let externalGroup = mainGroup.childGroupsByName["external"] else { return } + + // The external directory may contain files such as a WORKSPACE file, but we only patch folders + let childGroups = externalGroup.children.filter { $0 is PBXGroup } as! [PBXGroup] + + for child in childGroups { + let resolvedPath = resolvePathFromBazelExecRoot(xcodeProject, "external/\(child.name)") + let newChild = mainGroup.getOrCreateChildGroupByName("@\(child.name)", + path: resolvedPath, + sourceTree: .SourceRoot) + newChild.migrateChildrenOfGroup(child) + } + mainGroup.removeChild(externalGroup) + } +} diff --git a/src/TulsiGenerator/BazelSettingsProvider.swift b/src/TulsiGenerator/BazelSettingsProvider.swift index 9e866869..5ab3fedc 100644 --- a/src/TulsiGenerator/BazelSettingsProvider.swift +++ b/src/TulsiGenerator/BazelSettingsProvider.swift @@ -120,7 +120,6 @@ protocol BazelSettingsProviderProtocol { /// Bazel build settings, used during Xcode/user Bazel builds. func buildSettings(bazel: String, bazelExecRoot: String, - bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set) -> BazelBuildSettings @@ -241,7 +240,6 @@ class BazelSettingsProvider: BazelSettingsProviderProtocol { func buildSettings(bazel: String, bazelExecRoot: String, - bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set) -> BazelBuildSettings { @@ -282,7 +280,6 @@ class BazelSettingsProvider: BazelSettingsProviderProtocol { return BazelBuildSettings(bazel: bazel, bazelExecRoot: bazelExecRoot, - bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: defaultConfig.identifier, platformConfigurationFlags: nil, swiftTargets: swiftTargets, diff --git a/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift b/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift index c804fe05..ac152439 100644 --- a/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift +++ b/src/TulsiGenerator/BazelWorkspaceInfoExtractor.swift @@ -31,16 +31,11 @@ final class BazelWorkspaceInfoExtractor: BazelWorkspaceInfoExtractorProtocol { return workspacePathInfoFetcher.getBazelBinPath() } - /// Returns the absolute path to the execution root for this Bazel workspace. This may block. + /// Returns the absolute path to the execution root of this Bazel workspace. This may block. var bazelExecutionRoot: String { return workspacePathInfoFetcher.getExecutionRoot() } - /// Returns the absolute path to the output base for this Bazel workspace. This may block. - var bazelOutputBase: String { - return workspacePathInfoFetcher.getOutputBase() - } - /// Bazel settings provider for all invocations. let bazelSettingsProvider: BazelSettingsProviderProtocol diff --git a/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift b/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift index 3804255d..3f6eca6b 100644 --- a/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift +++ b/src/TulsiGenerator/BazelWorkspaceInfoExtractorProtocol.swift @@ -55,9 +55,6 @@ protocol BazelWorkspaceInfoExtractorProtocol { /// Absolute path to the Bazel execution root. var bazelExecutionRoot: String {get} - /// Absolute path to the Bazel output base. - var bazelOutputBase: String {get} - /// The location of the Bazel workspace to be examined. var workspaceRootURL: URL {get} diff --git a/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift b/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift index 796f625a..ae51efea 100644 --- a/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift +++ b/src/TulsiGenerator/BazelWorkspacePathInfoFetcher.swift @@ -18,8 +18,6 @@ import Foundation class BazelWorkspacePathInfoFetcher { /// The Bazel execution_root as defined by the target workspace. private var executionRoot: String? = nil - /// The Bazel output_base as defined by the target workspace. - private var outputBase: String? = nil /// The bazel bin symlink name as defined by the target workspace. private var bazelBinSymlinkName: String? = nil @@ -57,18 +55,6 @@ class BazelWorkspacePathInfoFetcher { return executionRoot } - /// Returns the output_base for this fetcher's workspace, blocking until it is available. - func getOutputBase() -> String { - if !fetchCompleted { waitForCompletion() } - - guard let outputBase = outputBase else { - localizedMessageLogger.error("OutputBaseNotFound", - comment: "Output base should have been extracted from the workspace.") - return "" - } - return outputBase - } - /// Returns the bazel bin path for this workspace, blocking until the fetch is completed. func getBazelBinPath() -> String { if !fetchCompleted { waitForCompletion() } @@ -161,8 +147,6 @@ class BazelWorkspacePathInfoFetcher { if key == "execution_root" { executionRoot = value - } else if key == "output_base" { - outputBase = value } } } diff --git a/src/TulsiGenerator/BazelXcodeProjectPatcher.swift b/src/TulsiGenerator/BazelXcodeProjectPatcher.swift index 860d9d55..34b730a0 100644 --- a/src/TulsiGenerator/BazelXcodeProjectPatcher.swift +++ b/src/TulsiGenerator/BazelXcodeProjectPatcher.swift @@ -23,24 +23,31 @@ final class BazelXcodeProjectPatcher { // FileManager used to check for presence of PBXFileReferences when patching. let fileManager: FileManager + // Secondary patcher for the PBXFileReferences and primary patcher for the @external references. + let fileReferencePatcher: BazelPBXReferencePatcher + init(fileManager: FileManager) { self.fileManager = fileManager + self.fileReferencePatcher = BazelPBXReferencePatcher(fileManager: fileManager) + } + + // Resolves the given Bazel exec-root relative path to a filesystem path. + // This is intended to be used to resolve "@external_repo" style labels to paths usable by Xcode + // as well as any other paths that must be relative to the Bazel exec root. + private func resolvePathFromBazelExecRoot(_ path: String) -> String { + return "\(PBXTargetGenerator.TulsiWorkspacePath)/\(path)" } // Rewrites the path for file references that it believes to be relative to Bazel's exec root. // This should be called before patching external references. - private func patchFileReference(xcodeProject: PBXProject, file: PBXFileReference, url: URL, workspaceRootURL: URL) { + private func patchFileReference(file: PBXFileReference, url: URL, workspaceRootURL: URL) { // We only want to modify the path if the current path doesn't point to a valid file. guard !fileManager.fileExists(atPath: url.path) else { return } // Don't patch anything that isn't group relative. guard file.sourceTree == .Group else { return } - // Guaranteed to have parent bc that's how we accessed it. - // Parent guaranteed to be PBXGroup because it's a PBXFileReference - let parent = file.parent as! PBXGroup - - // Just remove .xcassets that are not present. Unfortunately, Xcode's handling of .xcassets has + // Remove .xcassets that are not present. Unfortunately, Xcode's handling of .xcassets has // quite a number of issues with Tulsi and readonly files. // // .xcassets references in a project that are not present on disk will present a warning after @@ -51,15 +58,20 @@ final class BazelXcodeProjectPatcher { // "You don’t have permission to save the file “Contents.json” in the folder ." // This is present in Xcode 8.3.3 and Xcode 9b2. guard !url.path.hasSuffix(".xcassets") else { - parent.removeChild(file) + if let parent = file.parent as? PBXGroup { + parent.removeChild(file) + } return } - // Default to be relative to the bazel exec root - // This is for both source files as well as generated files (which always need to be relative - // to the bazel exec root). - let newPath = "\(xcodeProject.name).xcodeproj/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)/\(file.path!)" - parent.updatePathForChildFile(file, toPath: newPath, sourceTree: .SourceRoot) + // Default to be relative to the bazel exec root if the FileReferencePatcher doesn't handle the + // patch. This is for both source files as well as generated files (which always need to be + // relative to the bazel exec root). + if !fileReferencePatcher.patchNonPresentFileReference(file: file, + url: url, + workspaceRootURL: workspaceRootURL) { + file.path = resolvePathFromBazelExecRoot(file.path!) + } } // Handles patching PBXFileReferences that are not present on disk. This should be called before @@ -76,8 +88,7 @@ final class BazelXcodeProjectPatcher { queue.append(contentsOf: group.children) } else if let file = ref as? PBXFileReference, let fileURL = URL(string: file.path!, relativeTo: workspaceRootURL) { - self.patchFileReference(xcodeProject: xcodeProject, file: file, url: fileURL, - workspaceRootURL: workspaceRootURL) + self.patchFileReference(file: file, url: fileURL, workspaceRootURL: workspaceRootURL) } } } @@ -85,23 +96,6 @@ final class BazelXcodeProjectPatcher { // Handles patching any groups that were generated under Bazel's magical "external" container to // proper filesystem references. This should be called after patchBazelRelativeReferences. func patchExternalRepositoryReferences(_ xcodeProject: PBXProject) { - let mainGroup = xcodeProject.mainGroup - guard let externalGroup = mainGroup.childGroupsByName["external"] else { return } - - // The external directory may contain files such as a WORKSPACE file, but we only patch folders - let childGroups = externalGroup.children.filter { $0 is PBXGroup } as! [PBXGroup] - - for child in childGroups { - // Resolve external workspaces via their more stable location in output base - // /external remains between builds and contains all external workspaces - // /external is instead torn down on each build, breaking the paths to any - // external workspaces not used in the particular target being built - let resolvedPath = "\(xcodeProject.name).xcodeproj/\(PBXTargetGenerator.TulsiOutputBaseSymlinkPath)/external/\(child.name)" - let newChild = mainGroup.getOrCreateChildGroupByName("@\(child.name)", - path: resolvedPath, - sourceTree: .SourceRoot) - newChild.migrateChildrenOfGroup(child) - } - mainGroup.removeChild(externalGroup) + fileReferencePatcher.patchExternalRepositoryReferences(xcodeProject) } } diff --git a/src/TulsiGenerator/PBXObjects.swift b/src/TulsiGenerator/PBXObjects.swift index 1a79b5b7..417b5063 100644 --- a/src/TulsiGenerator/PBXObjects.swift +++ b/src/TulsiGenerator/PBXObjects.swift @@ -114,9 +114,8 @@ final class XCBuildConfiguration: PBXObjectProtocol { class PBXReference: PBXObjectProtocol { var globalID: String = "" let name: String - // be careful setting these; they're cached in PBXGroup - fileprivate(set) var path: String? - fileprivate(set) var sourceTree: SourceTree + var path: String? + let sourceTree: SourceTree var isa: String { assertionFailure("PBXReference must be subclassed") @@ -388,22 +387,18 @@ class PBXGroup: PBXReference, Hashable { child.updatePathForChild(grandchild, currentPath: childPath) } } else if let child = child as? PBXFileReference { - updatePathForChildFile(child, toPath: childPath) - } - } + // Remove old source path reference. All PBXFileReferences should have valid paths as + // non-main/external groups no longer have any paths, meaning a PBXFileReference without a + // path shouldn't exist as it doesn't point to anything. + var sourceTreePath = SourceTreePath(sourceTree: child.sourceTree, path: child.path!) + fileReferencesBySourceTreePath.removeValue(forKey: sourceTreePath) - func updatePathForChildFile( - _ child: PBXFileReference, - toPath: String, - sourceTree: SourceTree? = nil) { // Source tree defaults to staying the same - // Updates internal index to match - fileReferencesBySourceTreePath.removeValue( - forKey: SourceTreePath(sourceTree: child.sourceTree, path: child.path!)) - let newSourceTreePath = - SourceTreePath(sourceTree: sourceTree ?? child.sourceTree, path: toPath) - child.path = newSourceTreePath.path - child.sourceTree = newSourceTreePath.sourceTree - fileReferencesBySourceTreePath[newSourceTreePath] = child + // Add in new source path reference. + sourceTreePath = SourceTreePath(sourceTree: child.sourceTree, path: childPath) + fileReferencesBySourceTreePath[sourceTreePath] = child + + child.path = childPath + } } /// Takes ownership of the children of the given group. Note that this leaves the "other" group in diff --git a/src/TulsiGenerator/PBXTargetGenerator.swift b/src/TulsiGenerator/PBXTargetGenerator.swift index 394be804..012ffe1b 100644 --- a/src/TulsiGenerator/PBXTargetGenerator.swift +++ b/src/TulsiGenerator/PBXTargetGenerator.swift @@ -70,7 +70,8 @@ protocol PBXTargetGeneratorProtocol: AnyObject { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool) + suppressCompilerDefines: Bool, + redactWorkspaceSymlink: Bool) /// Generates file references for the given file paths in the associated project without adding /// them to an indexer target. The paths must be relative to the workspace root. If pathFilters is @@ -172,24 +173,12 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { /// Xcode variable name used to refer to the workspace root. static let WorkspaceRootVarName = "TULSI_WR" - /// Symlink to the Bazel execution root inside .tulsi in the xcodeproj - static let TulsiExecutionRootSymlinkPath = ".tulsi/tulsi-execution-root" - // Old versions of Tulsi mis-referred to the execution root as the workspace. - // We preserve the old symlink name for backwards compatibility. - static let TulsiExecutionRootSymlinkLegacyPath = ".tulsi/tulsi-workspace" + /// Symlink to the Bazel workspace + static let TulsiWorkspacePath = "tulsi-workspace" - - /// Xcode variable name used to refer to the symlink to the Bazel execution root. - static let BazelExecutionRootSymlinkVarName = "TULSI_EXECUTION_ROOT" - // Old versions of Tulsi mis-referred to the execution root as the workspace. - // We preserve the old build variable name for backwards compatibility. - static let BazelExecutionRootSymlinkLegacyVarName = "TULSI_BWRS" - - /// Symlink to the Bazel output base inside .tulsi in the xcodeproj - static let TulsiOutputBaseSymlinkPath = ".tulsi/tulsi-output-base" - - /// Xcode variable name used to refer to the Bazel output base. - static let BazelOutputBaseSymlinkVarName = "TULSI_OUTPUT_BASE" + /// Xcode variable name used to refer to the symlink generated by Bazel that contains all + /// workspace content. + static let BazelWorkspaceSymlinkVarName = "TULSI_BWRS" /// Path to the Bazel executable. let bazelPath: String @@ -218,6 +207,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let localizedMessageLogger: LocalizedMessageLogger let workspaceRootURL: URL let suppressCompilerDefines: Bool + let redactWorkspaceSymlink: Bool var bazelCleanScriptTarget: PBXLegacyTarget? = nil @@ -436,7 +426,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { case .generatedFile: return "$(\(WorkspaceRootVarName))/\(info.fullPath)" case .sourceFile: - return "$(\(BazelExecutionRootSymlinkVarName))/\(info.fullPath)" + return "$(\(BazelWorkspaceSymlinkVarName))/\(info.fullPath)" } } @@ -461,7 +451,8 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool = false) { + suppressCompilerDefines: Bool = false, + redactWorkspaceSymlink: Bool = false) { self.bazelPath = bazelPath self.bazelBinPath = bazelBinPath self.project = project @@ -472,6 +463,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { self.localizedMessageLogger = localizedMessageLogger self.workspaceRootURL = workspaceRootURL self.suppressCompilerDefines = suppressCompilerDefines + self.redactWorkspaceSymlink = redactWorkspaceSymlink } func generateFileReferencesForFilePaths(_ paths: [String], pathFilters: Set?) { @@ -571,7 +563,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // itself. ruleEntry.frameworkImports.forEach() { let fullPath = $0.fullPath as NSString - let rootedPath = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(fullPath.deletingLastPathComponent)" + let rootedPath = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(fullPath.deletingLastPathComponent)" frameworkSearchPaths.add(rootedPath) } let sourceFileInfos = ruleEntry.sourceFiles.filter(includeFileInProject) @@ -797,17 +789,16 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // A variable pointing to the true root is provided for scripts that may need it. buildSettings["\(PBXTargetGenerator.WorkspaceRootVarName)"] = sourceDirectory - // Create variables wrapping symlinks created during builds. - // The symlinks are located inside of the project package as opposed to relative to the workspace + // Bazel generates a symlink to a directory that collects all of the data needed for this + // workspace. While this is often identical to the workspace, it sometimes collects other paths + // and is the better option for most Xcode project path references. + // This directory is symlinked to `tulsi-workspace` during builds. + // The symlink is located inside of the project package as opposed to relative to the workspace // so that it is using the same local file system as the project to maximize performance. // In some cases where the workspace was on a remote volume, jumping through the symlink on the // remote volume that pointed back to local disk was causing performance issues. - buildSettings[PBXTargetGenerator.BazelExecutionRootSymlinkVarName] = - "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)" - buildSettings[PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName] = - "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiExecutionRootSymlinkPath)" - buildSettings[PBXTargetGenerator.BazelOutputBaseSymlinkVarName] = - "$(PROJECT_FILE_PATH)/\(PBXTargetGenerator.TulsiOutputBaseSymlinkPath)" + buildSettings["\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName)"] = + "$(PROJECT_FILE_PATH)/.tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)" buildSettings["TULSI_VERSION"] = tulsiVersion @@ -816,10 +807,10 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // handling UTF-8 output from Bazel BEP in bazel_build.py. buildSettings["PYTHONIOENCODING"] = "utf8" - let searchPaths = ["$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))", + let searchPaths = ["$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))", "$(\(PBXTargetGenerator.WorkspaceRootVarName))/\(bazelBinPath)", "$(\(PBXTargetGenerator.WorkspaceRootVarName))/\(bazelGenfilesPath)", - "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(PBXTargetGenerator.tulsiIncludesPath)" + "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(PBXTargetGenerator.tulsiIncludesPath)" ] // Ideally this would use USER_HEADER_SEARCH_PATHS but some code generation tools (e.g., // protocol buffers) make use of system-style includes. @@ -1345,16 +1336,10 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let rootedPaths: [String] = includePaths.map() { (path, recursive) in // Any paths of the tulsi-includes form will only be in the bazel workspace symlink since // they refer to generated files from a build. - // Otherwise we assume the file exists in its workspace. + // Otherwise we assume the file exists in the workspace. let prefixVar: String - if path.hasPrefix(PBXTargetGenerator.tulsiIncludesPath) { - prefixVar = PBXTargetGenerator.BazelExecutionRootSymlinkVarName - } else if path.hasPrefix(PBXTargetGenerator.externalPrefix) { - // We refer to files in external workspaces via their more stable location in output base - // /external remains between builds and contains all external workspaces - // /external is instead torn down on each build, breaking the paths to - // any external workspaces not used in the particular target being built - prefixVar = PBXTargetGenerator.BazelOutputBaseSymlinkVarName + if path.hasPrefix(PBXTargetGenerator.externalPrefix) || path.hasPrefix(PBXTargetGenerator.tulsiIncludesPath) { + prefixVar = PBXTargetGenerator.BazelWorkspaceSymlinkVarName } else { prefixVar = PBXTargetGenerator.WorkspaceRootVarName } @@ -1374,7 +1359,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { for module in ruleEntry.swiftTransitiveModules { let fullPath = module.fullPath as NSString let includePath = fullPath.deletingLastPathComponent - swiftIncludes.add("$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(includePath)") + swiftIncludes.add("$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(includePath)") } } @@ -1385,7 +1370,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { // non-modular contexts, leading to duplicate definitions in the same file. // See llvm.org/bugs/show_bug.cgi?id=19501 swiftFlags.addObjects(from: ruleEntry.objCModuleMaps.map() { - "-Xcc -fmodule-map-file=$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\($0.fullPath)" + "-Xcc -fmodule-map-file=$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\($0.fullPath)" }) if let swiftDefines = ruleEntry.swiftDefines { @@ -1408,7 +1393,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let index = opt.index(opt.startIndex, offsetBy: 2) var path = String(opt[index...]) if !path.hasPrefix("/") { - path = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(path)" + path = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(path)" } swiftIncludePaths.add(path) } else { @@ -1427,7 +1412,7 @@ final class PBXTargetGenerator: PBXTargetGeneratorProtocol { let index = opt.index(opt.startIndex, offsetBy: 2) var path = String(opt[index...]) if !path.hasPrefix("/") { - path = "$(\(PBXTargetGenerator.BazelExecutionRootSymlinkVarName))/\(path)" + path = "$(\(PBXTargetGenerator.BazelWorkspaceSymlinkVarName))/\(path)" } localIncludes.add(path) } else { diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index fb39c65a..be2c87a6 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -558,7 +558,6 @@ def Run(self, args): self.bazel_bin_path = os.path.abspath(parser.bazel_bin_path) self.bazel_executable = parser.bazel_executable self.bazel_exec_root = self.build_settings.bazelExecRoot - self.bazel_output_base = self.build_settings.bazelOutputBase # Update feature flags. features = parser.GetEnabledFeatures() @@ -589,36 +588,18 @@ def Run(self, args): post_bazel_timer = Timer('Total Tulsi Post-Bazel time', 'total_post_bazel') post_bazel_timer.Start() - - # This needs to run after `bazel build`, since it depends on the Bazel - # output directories - if not os.path.exists(self.bazel_exec_root): _Fatal('No Bazel execution root was found at %r. Debugging experience ' 'will be compromised. Please report a Tulsi bug.' % self.bazel_exec_root) return 404 - if not os.path.exists(self.bazel_output_base): - _Fatal('No Bazel output base was found at %r. Editing experience ' - 'will be compromised for external workspaces. Please report a' - ' Tulsi bug.' - % self.bazel_output_base) - return 404 - exit_code = self._LinkTulsiToBazel('tulsi-execution-root', self.bazel_exec_root) - if exit_code: - return exit_code - # Old versions of Tulsi mis-referred to the execution root as the workspace. - # We preserve the old symlink name for backwards compatibility. - exit_code = self._LinkTulsiToBazel('tulsi-workspace', self.bazel_exec_root) - if exit_code: - return exit_code - exit_code = self._LinkTulsiToBazel( - 'tulsi-output-base', self.bazel_output_base) + # This needs to run after `bazel build`, since it depends on the Bazel + # workspace directory + exit_code = self._LinkTulsiWorkspace() if exit_code: return exit_code - exit_code, outputs_data = self._ExtractAspectOutputsData(outputs) if exit_code: return exit_code @@ -1783,17 +1764,17 @@ def _ExtractTargetSourceMap(self, normalize=True): sm_execroot = self._NormalizePath(sm_execroot) return (sm_execroot, sm_destpath) - def _LinkTulsiToBazel(self, symlink_name, destination): - """Links symlink_name (in project/.tulsi) to the specified destination.""" - symlink_path = os.path.join(self.project_file_path, + def _LinkTulsiWorkspace(self): + """Links the Bazel Workspace to the Tulsi Workspace (`tulsi-workspace`).""" + tulsi_workspace = os.path.join(self.project_file_path, '.tulsi', - symlink_name) - if os.path.islink(symlink_path): - os.unlink(symlink_path) - os.symlink(destination, symlink_path) - if not os.path.exists(symlink_path): + 'tulsi-workspace') + if os.path.islink(tulsi_workspace): + os.unlink(tulsi_workspace) + os.symlink(self.bazel_exec_root, tulsi_workspace) + if not os.path.exists(tulsi_workspace): _PrintXcodeError( - 'Linking %s to %s failed.' % (symlink_path, destination)) + 'Linking Tulsi Workspace to %s failed.' % tulsi_workspace) return -1 @staticmethod diff --git a/src/TulsiGenerator/Scripts/bazel_build_settings.py.template b/src/TulsiGenerator/Scripts/bazel_build_settings.py.template index cefad37c..e485cad8 100644 --- a/src/TulsiGenerator/Scripts/bazel_build_settings.py.template +++ b/src/TulsiGenerator/Scripts/bazel_build_settings.py.template @@ -67,7 +67,7 @@ class BazelFlagsSet(object): class BazelBuildSettings(object): """Represents a Tulsi project's Bazel settings.""" - def __init__(self, bazel, bazelExecRoot, bazelOutputBase, + def __init__(self, bazel, bazelExecRoot, defaultPlatformConfigId, platformConfigFlags, swiftTargets, cacheAffecting, cacheSafe, @@ -76,7 +76,6 @@ class BazelBuildSettings(object): projDefault, projTargetMap): self.bazel = bazel self.bazelExecRoot = bazelExecRoot - self.bazelOutputBase = bazelOutputBase self.defaultPlatformConfigId = defaultPlatformConfigId self.platformConfigFlags = platformConfigFlags self.swiftTargets = swiftTargets diff --git a/src/TulsiGenerator/TulsiProjectInfoExtractor.swift b/src/TulsiGenerator/TulsiProjectInfoExtractor.swift index 0a9daece..4dc27195 100644 --- a/src/TulsiGenerator/TulsiProjectInfoExtractor.swift +++ b/src/TulsiGenerator/TulsiProjectInfoExtractor.swift @@ -33,10 +33,6 @@ public final class TulsiProjectInfoExtractor { return workspaceInfoExtractor.bazelExecutionRoot } - public var bazelOutputBase: String { - return workspaceInfoExtractor.bazelOutputBase - } - public var workspaceRootURL: URL { return workspaceInfoExtractor.workspaceRootURL } diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index 8723be4f..9df39637 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -108,7 +108,7 @@ final class XcodeProjectGenerator { /// Exposed for testing. Instead of writing the real workspace name into the generated project, /// write a stub value that will be the same regardless of the execution environment. - var redactSymlinksToBazelOutput = false + var redactWorkspaceSymlink = false /// Exposed for testing. Do not attempt to update/install files related to DBGShellCommands. var suppressUpdatingShellCommands = false @@ -433,7 +433,8 @@ final class XcodeProjectGenerator { options: config.options, localizedMessageLogger: localizedMessageLogger, workspaceRootURL: workspaceRootURL, - suppressCompilerDefines: suppressCompilerDefines) + suppressCompilerDefines: suppressCompilerDefines, + redactWorkspaceSymlink: redactWorkspaceSymlink) if let additionalFilePaths = config.additionalFilePaths { generator.generateFileReferencesForFilePaths(additionalFilePaths) @@ -673,62 +674,55 @@ final class XcodeProjectGenerator { } } - // Create symlinks into to the current Bazel output directories. This may be overwritten during - // builds, but is useful to include in project generation for users who have external workspaces - // or prior builds. + // Links tulsi-workspace to the current Bazel execution root. This may be overwritten during + // builds, but is useful to include in project generation for users who have local_repository + // references. private func linkTulsiWorkspace(_ projectURL: URL) { - // Don't create symlinks for tests. - guard !self.redactSymlinksToBazelOutput else { return } - - func createLink(from: String, to: String) { - let from = projectURL.appendingPathComponent(from, isDirectory: false).path - - // See if symlink is already present. - if let attributes = try? self.fileManager.attributesOfItem(atPath: from) { - // If there is already a symlink, we only need to change it if it points to the wrong place - if attributes[FileAttributeKey.type] as? FileAttributeType == FileAttributeType.typeSymbolicLink { - do { - let oldDestination = try self.fileManager.destinationOfSymbolicLink(atPath: from) - guard oldDestination != to else { return } - } catch { - self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", - comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", - context: self.config.projectName, - values: from, to, "Unable to read old symlink. Was it modified?") - return - } - } - - // The symlink exists but points to the wrong path or is a different file type. Remove it. + // Don't create the tulsi-workspace symlink for tests. + guard !self.redactWorkspaceSymlink else { return } + + let path = projectURL.appendingPathComponent(".tulsi/\(PBXTargetGenerator.TulsiWorkspacePath)", + isDirectory: false).path + let bazelExecRoot = self.workspaceInfoExtractor.bazelExecutionRoot; + + // See if tulsi-includes is already present. + if let attributes = try? fileManager.attributesOfItem(atPath: path) { + // If tulsi-includes is already a symlink, we only need to change it if it points to the wrong + // Bazel exec root. + if attributes[FileAttributeKey.type] as? FileAttributeType == FileAttributeType.typeSymbolicLink { do { - try self.fileManager.removeItem(atPath: from) + let oldBazelExecRoot = try self.fileManager.destinationOfSymbolicLink(atPath: path) + guard oldBazelExecRoot != bazelExecRoot else { return } } catch { - self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", - comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", - context: self.config.projectName, - values: from, to, "Unable to remove the old symlink. Trying removing it and try again.") + self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", + comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", + context: config.projectName, + values: path, "Unable to read old symlink. Was it modified?") return } } - // Create symlink + // The symlink exists but points to the wrong path or is a different file type. Remove it. do { - try self.fileManager.createSymbolicLink(atPath: from, withDestinationPath: to) + try fileManager.removeItem(atPath: path) } catch { - self.localizedMessageLogger.warning("UpdatingTulsiSymlinksFailed", - comment: "Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@.", - context: self.config.projectName, - values: from, to, "Creating symlink failed. Is it already present?") + self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", + comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", + context: config.projectName, + values: path, "Unable to remove the old tulsi-workspace symlink. Trying removing it and try again.") + return } - } - createLink(from: PBXTargetGenerator.TulsiExecutionRootSymlinkPath, - to: self.workspaceInfoExtractor.bazelExecutionRoot) - createLink(from: PBXTargetGenerator.TulsiExecutionRootSymlinkLegacyPath, - to: self.workspaceInfoExtractor.bazelExecutionRoot) - createLink(from: PBXTargetGenerator.TulsiOutputBaseSymlinkPath, - to: self.workspaceInfoExtractor.bazelOutputBase) + // Symlink tulsi-workspace -> Bazel exec root. + do { + try self.fileManager.createSymbolicLink(atPath: path, withDestinationPath: bazelExecRoot) + } catch { + self.localizedMessageLogger.warning("UpdatingTulsiWorkspaceSymlinkFailed", + comment: "Warning shown when failing to update the tulsi-workspace symlink in %1$@ to the Bazel execution root, additional context %2$@.", + context: config.projectName, + values: path, "Creating symlink failed. Is it already present?") + } } // Writes Xcode schemes for non-indexer targets if they don't already exist. @@ -1066,11 +1060,9 @@ final class XcodeProjectGenerator { let bazelSettingsProvider = workspaceInfoExtractor.bazelSettingsProvider let bazelExecRoot = workspaceInfoExtractor.bazelExecutionRoot - let bazelOutputBase = workspaceInfoExtractor.bazelOutputBase let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options) let bazelBuildSettings = bazelSettingsProvider.buildSettings(bazel: config.bazelURL.path, bazelExecRoot: bazelExecRoot, - bazelOutputBase: bazelOutputBase, options: config.options, features: features, buildRuleEntries: buildRuleEntries) diff --git a/src/TulsiGenerator/en.lproj/Localizable.strings b/src/TulsiGenerator/en.lproj/Localizable.strings index 3c921d76..e4e3d385 100644 --- a/src/TulsiGenerator/en.lproj/Localizable.strings +++ b/src/TulsiGenerator/en.lproj/Localizable.strings @@ -92,9 +92,6 @@ /* Warning to show when a RuleEntry does not have a DeploymentTarget to be used by the indexer. */ "NoDeploymentTarget" = "Target %1$@ has no DeploymentTarget set. Defaulting to iOS 9. This is an unexpected problem and should be reported as a Tulsi bug."; -/* Message to show when the output base was not able to be extracted from the workspace. */ -"OutputBaseNotFound" = "Was not able to extract the output base from the workspace. This is a Tulsi or Bazel bug, please report."; - /* Warning shown when none of the tests of a test suite %1$@ were able to be resolved. */ "TestSuiteHasNoValidTests" = "Failed to resolve any tests for test_suite '%1$@', no scheme will be generated."; @@ -119,5 +116,5 @@ /* Warning when updating the user's DBGShellCommands script in ~/Library/Application Support/Tulsi failed. */ "UpdatingDBGShellCommandsFailed" = "Failed to update the DBGShellCommands script used to locate dSYM bundles: received error '%1$@'."; -/* Warning shown when failing to update the tulsi symlinks into the Bazel output files. symlink path is in %1$@, symlink destination is in %2$@, additional error context in %3$@. */ -"UpdatingTulsiSymlinksFailed" = "Failed to update the %1$@ symlink to %2$@. Additional context: %3$@"; +/* Warning shown when failing to update the tulsi-workspace symlink to the Bazel execution root. tulsi-workspace path is in %1$@, additional error context in %2$@. */ +"UpdatingTulsiWorkspaceSymlinkFailed" = "Failed to update the %1$@ symlink to the Bazel execution root. Additional context: %2$@"; diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift index b74def57..07ad6b48 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift @@ -250,8 +250,8 @@ class EndToEndIntegrationTestCase : BazelIntegrationTestCase { projectGenerator.xcodeProjectGenerator.suppressUpdatingShellCommands = true // The username is forced to a known value. projectGenerator.xcodeProjectGenerator.usernameFetcher = { "_TEST_USER_" } - // Omit bazel output symlinks so they don't have unknown values. - projectGenerator.xcodeProjectGenerator.redactSymlinksToBazelOutput = true + // The workspace symlink is forced to a known value. + projectGenerator.xcodeProjectGenerator.redactWorkspaceSymlink = true let errorInfo: String do { let generatedProjURL = try projectGenerator.generateXcodeProjectInFolder(outputFolderURL) diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj index 951e88e1..ef1ddd2c 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D7393D0CD00000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C7393D0CD00000000 /* main.m */; }; - 952C886DEB04763700000000 /* app_clip_main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEB04763700000000 /* app_clip_main.m */; }; + 952C886D6723BA4D00000000 /* app_clip_main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6723BA4D00000000 /* app_clip_main.m */; }; + 952C886D86E05A5900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C86E05A5900000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -21,18 +21,18 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C1363A74800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/AppClip/app_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C24FE384000000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C3260698400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C59A749AC00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/AppClip-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C7393D0CD00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Library/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C2B779BB400000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C5C00BD0100000000 /* app_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = app_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_entitlements.entitlements"; sourceTree = ""; }; + 25889F7C6723BA4D00000000 /* app_clip_main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = app_clip_main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/app_clip_main.m"; sourceTree = ""; }; + 25889F7C86E05A5900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/main.m"; sourceTree = ""; }; + 25889F7C9FB1623400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_infoplists/Info.plist"; sourceTree = ""; }; + 25889F7CA2352B8B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/Info.plist"; sourceTree = ""; }; 25889F7CB0FF2C3200000000 /* lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; path = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CB698E75D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Application-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CBDADE3B900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/AppClip-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CD2AED8C700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_app_clip/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CD76187FF00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; - 25889F7CDC90E6EA00000000 /* app_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = app_entitlements.entitlements; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/AppClip/app_entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7CE4E4122000000000 /* AppClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = AppClip.app; path = AppClip.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CEB04763700000000 /* app_clip_main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = app_clip_main.m; path = "AppClipProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_app_clip/Library/srcs/app_clip_main.m"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -70,8 +70,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7C24FE384000000000 /* Info.plist */, - 25889F7CD76187FF00000000 /* entitlements.entitlements */, + 25889F7CA2352B8B00000000 /* Info.plist */, + 25889F7C2B779BB400000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -95,7 +95,7 @@ 45D056293C08BF0000000000 /* AppClip */ = { isa = PBXGroup; children = ( - 25889F7CDC90E6EA00000000 /* app_entitlements.entitlements */, + 25889F7C5C00BD0100000000 /* app_entitlements.entitlements */, 45D0562972177E7200000000 /* app_infoplists */, ); name = AppClip; @@ -112,7 +112,7 @@ 45D0562972177E7200000000 /* app_infoplists */ = { isa = PBXGroup; children = ( - 25889F7C1363A74800000000 /* Info.plist */, + 25889F7C9FB1623400000000 /* Info.plist */, ); name = app_infoplists; sourceTree = ""; @@ -128,7 +128,7 @@ 45D05629B14F6EEC00000000 /* AppClip-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C59A749AC00000000 /* Info.plist */, + 25889F7CBDADE3B900000000 /* Info.plist */, ); name = "AppClip-intermediates"; sourceTree = ""; @@ -146,7 +146,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C3260698400000000 /* Info.plist */, + 25889F7CB698E75D00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -162,8 +162,8 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CEB04763700000000 /* app_clip_main.m */, - 25889F7C7393D0CD00000000 /* main.m */, + 25889F7C6723BA4D00000000 /* app_clip_main.m */, + 25889F7C86E05A5900000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -300,8 +300,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D7393D0CD00000000 /* main.m in srcs */, - 952C886DEB04763700000000 /* app_clip_main.m in srcs */, + 952C886D86E05A5900000000 /* main.m in srcs */, + 952C886D6723BA4D00000000 /* app_clip_main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -349,10 +349,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -435,14 +433,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -488,7 +484,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 14.0; PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0; SDKROOT = iphoneos; @@ -521,14 +517,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -574,7 +568,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 14.0; PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0; SDKROOT = iphoneos; @@ -616,10 +610,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = AppClipProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj index 73f55b37..cc5071af 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj @@ -7,26 +7,26 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D0FBAD8E100000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C0FBAD8E100000000 /* src2.m */; }; - 952C886D0FBAD8E100000001 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C0FBAD8E100000000 /* src2.m */; }; - 952C886D12CB1AF700000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C12CB1AF700000000 /* src3.m */; }; - 952C886D12CB1AF700000001 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C12CB1AF700000000 /* src3.m */; }; + 952C886D160C3D9400000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C160C3D9400000000 /* src1.m */; }; + 952C886D160C3D9400000001 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C160C3D9400000000 /* src1.m */; }; 952C886D1AB7D12500000000 /* NonARCFile.mm in non_arc_srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C1ACE4D0400000000 /* NonARCFile.mm */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 952C886D24ED792C00000000 /* input.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C24ED792C00000000 /* input.m */; }; - 952C886D5C4E9D0100000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C5C4E9D0100000000 /* src.mm */; }; - 952C886D76B724A400000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C76B724A400000000 /* src.mm */; }; + 952C886D2F57AD1500000000 /* today_extension_library.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F57AD1500000000 /* today_extension_library.m */; }; + 952C886D3A8E944E00000000 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3A8E944E00000000 /* src5.mm */; }; + 952C886D3A8E944E00000001 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3A8E944E00000000 /* src5.mm */; }; + 952C886D52C027AF00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C52C027AF00000000 /* src4.m */; }; + 952C886D52C027AF00000001 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C52C027AF00000000 /* src4.m */; }; + 952C886D55B4D94500000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C55B4D94500000000 /* src3.m */; }; + 952C886D55B4D94500000001 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C55B4D94500000000 /* src3.m */; }; + 952C886D99D62A3000000000 /* sub_library_with_identical_defines.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */; }; + 952C886DB097D0E400000000 /* input.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB097D0E400000000 /* input.m */; }; 952C886DB225790200000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB225790200000000 /* main.m */; }; + 952C886DB778F33400000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB778F33400000000 /* src2.m */; }; + 952C886DB778F33400000001 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB778F33400000000 /* src2.m */; }; 952C886DBB4A5A4F00000000 /* Test.xcdatamodeld in tulsi_e2e_complex */ = {isa = PBXBuildFile; fileRef = D0BE1A9DBB4A5A4F00000000 /* Test.xcdatamodeld */; }; - 952C886DD98FAB6100000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD98FAB6100000000 /* src1.m */; }; - 952C886DD98FAB6100000001 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD98FAB6100000000 /* src1.m */; }; - 952C886DDB8CD05600000000 /* sub_library_with_identical_defines.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */; }; - 952C886DDBE3DDF100000000 /* today_extension_library.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDBE3DDF100000000 /* today_extension_library.m */; }; - 952C886DEF7E9B8800000000 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF7E9B8800000000 /* src5.mm */; }; - 952C886DEF7E9B8800000001 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF7E9B8800000000 /* src5.mm */; }; - 952C886DF737E98D00000000 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF737E98D00000000 /* defaultTestSource.m */; }; - 952C886DF77C090200000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF77C090200000000 /* src4.m */; }; - 952C886DF77C090200000001 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF77C090200000000 /* src4.m */; }; - 952C886DFD2E8B0700000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFD2E8B0700000000 /* src.mm */; }; + 952C886DE56C768000000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CE56C768000000000 /* src.mm */; }; + 952C886DE7146E0400000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CE7146E0400000000 /* src.mm */; }; + 952C886DEF9CAD8A00000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEF9CAD8A00000000 /* src.mm */; }; + 952C886DF3273A4100000000 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CF3273A4100000000 /* defaultTestSource.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -83,52 +83,52 @@ /* Begin PBXFileReference section */ 25889F7C05F3C25400000000 /* lib_idx_SrcGenerator_5479CC97_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SrcGenerator_5479CC97_ios_min10.0.a; path = lib_idx_SrcGenerator_5479CC97_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C08F9F95700000000 /* DataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv2.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv2.xcdatamodel; sourceTree = ""; }; - 25889F7C0B6954F800000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/en.lproj/EN.strings"; sourceTree = SOURCE_ROOT; }; - 25889F7C0CCB12AD00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C0FBAD8E100000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C12CB1AF700000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C157B466000000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C1ACE4D0400000000 /* NonARCFile.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = NonARCFile.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/non_arc_srcs/NonARCFile.mm"; sourceTree = SOURCE_ROOT; }; - 25889F7C1D4F48FD00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/One.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7C15C7840200000000 /* NonLocalized.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = NonLocalized.strings; path = "tulsi-workspace/tulsi_e2e_complex/Application/NonLocalized.strings"; sourceTree = ""; }; + 25889F7C160C3D9400000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src1.m"; sourceTree = ""; }; + 25889F7C1ACE4D0400000000 /* NonARCFile.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = NonARCFile.mm; path = "tulsi-workspace/tulsi_e2e_complex/Application/non_arc_srcs/NonARCFile.mm"; sourceTree = ""; }; 25889F7C245DC24200000000 /* lib_idx_SubLibrary_241BBB47_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibrary_241BBB47_ios_min10.0.a; path = lib_idx_SubLibrary_241BBB47_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C24ED792C00000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C2F57AD1500000000 /* today_extension_library.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = today_extension_library.m; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/srcs/today_extension_library.m"; sourceTree = ""; }; 25889F7C3067008600000000 /* lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a; path = lib_idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C34890F0000000000 /* file2.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = file2.file; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file2.file"; sourceTree = ""; }; 25889F7C38357D4800000000 /* TodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = TodayExtension.appex; path = TodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C479F3E1600000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/en.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7C3A8E944E00000000 /* src5.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src5.mm; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/src5.mm"; sourceTree = ""; }; + 25889F7C4090322100000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localized.strings"; sourceTree = ""; }; + 25889F7C49605F2900000000 /* test.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = test.framework; path = "tulsi-workspace/tulsi_e2e_complex/ObjCFramework/test.framework"; sourceTree = ""; }; + 25889F7C49F0A75600000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; + 25889F7C510E414800000000 /* es */ = {isa = PBXFileReference; lastKnownFileType = text; name = es; path = "tulsi-workspace/tulsi_e2e_complex/Application/es.lproj/Localized.strings"; sourceTree = ""; }; + 25889F7C52C027AF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = ""; }; 25889F7C54F2E63700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_complex/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C5C4E9D0100000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibrary/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; + 25889F7C55B4D94500000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = ""; }; + 25889F7C5F03A4CF00000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; + 25889F7C631271AE00000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = ""; }; 25889F7C635C5F3A00000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; path = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C69867AA300000000 /* DataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv1.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv1.xcdatamodel; sourceTree = ""; }; - 25889F7C76B724A400000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithDefines/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; - 25889F7C7B251C0E00000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = SOURCE_ROOT; }; - 25889F7C7C46ABEF00000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = SOURCE_ROOT; }; - 25889F7C86E7B54A00000000 /* es */ = {isa = PBXFileReference; lastKnownFileType = text; name = es; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/es.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; + 25889F7C6A6EAE2E00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/One.storyboard"; sourceTree = ""; }; + 25889F7C6B65092000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/TodayExtension-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C7695A0FA00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localizable.strings"; sourceTree = ""; }; + 25889F7C77D27D9400000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_complex/Application/entitlements.entitlements"; sourceTree = ""; }; 25889F7C8C5A68AC00000000 /* lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a; path = lib_idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C8DF0400F00000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/EN.strings"; sourceTree = ""; }; 25889F7C8FC56C5400000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CA1F4761000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CABE80CF400000000 /* test.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = test.framework; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/ObjCFramework/test.framework"; sourceTree = SOURCE_ROOT; }; - 25889F7CAECA95D700000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/TodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CB225790200000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CBA200B3100000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = sub_library_with_identical_defines.m; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithIdenticalDefines/srcs/sub_library_with_identical_defines.m"; sourceTree = ""; }; + 25889F7CB097D0E400000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "tulsi-workspace/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = ""; }; + 25889F7CB225790200000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = ""; }; + 25889F7CB4F4337A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CB778F33400000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = ""; }; 25889F7CBC55BF9A00000000 /* lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; path = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CC3CD2C3800000000 /* file2.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = file2.file; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/resources/file2.file"; sourceTree = SOURCE_ROOT; }; - 25889F7CCB64786900000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/xib.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7CBD70A62600000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CCFAAA5F400000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/Localized.strings"; sourceTree = SOURCE_ROOT; }; - 25889F7CD66BB6CC00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_complex/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CD35B033400000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_complex/Library/xib.xib"; sourceTree = ""; }; + 25889F7CD4FFBE6F00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_complex/Application/Info.plist"; sourceTree = ""; }; 25889F7CD685CDB600000000 /* lib_idx_Library_FAFE9183_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_FAFE9183_ios_min10.0.a; path = lib_idx_Library_FAFE9183_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CD98FAB6100000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src1.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CDA9E056400000000 /* NonLocalized.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = NonLocalized.strings; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/NonLocalized.strings"; sourceTree = SOURCE_ROOT; }; - 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = sub_library_with_identical_defines.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithIdenticalDefines/srcs/sub_library_with_identical_defines.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CDBE3DDF100000000 /* today_extension_library.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = today_extension_library.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/TodayExtension/srcs/today_extension_library.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CE036A93400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_complex/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CE0B4DD9E00000000 /* Plist1.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Plist1.plist; path = tulsi_e2e_complex/TodayExtension/Plist1.plist; sourceTree = ""; }; - 25889F7CE25C900400000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7CEC09666700000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Application/Base.lproj/Localizable.strings"; sourceTree = SOURCE_ROOT; }; - 25889F7CEF7E9B8800000000 /* src5.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src5.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/Library/srcs/src5.mm"; sourceTree = SOURCE_ROOT; }; + 25889F7CE56C768000000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/srcs/src.mm"; sourceTree = ""; }; + 25889F7CE7146E0400000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDefines/srcs/src.mm"; sourceTree = ""; }; + 25889F7CEDC9AFE300000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/Localized.strings"; sourceTree = ""; }; + 25889F7CEF9CAD8A00000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDifferentDefines/srcs/src.mm"; sourceTree = ""; }; + 25889F7CF3273A4100000000 /* defaultTestSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = defaultTestSource.m; path = "tulsi-workspace/tulsi_e2e_complex/XCTest/srcs/defaultTestSource.m"; sourceTree = ""; }; 25889F7CF35FB52600000000 /* ComplexSingle.bzl */ = {isa = PBXFileReference; lastKnownFileType = com.google.bazel.skylark; name = ComplexSingle.bzl; path = tulsi_e2e_complex/ComplexSingle.bzl; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CF737E98D00000000 /* defaultTestSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = defaultTestSource.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/XCTest/srcs/defaultTestSource.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CF77C090200000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CFD2E8B0700000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "ComplexSingleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_complex/SubLibraryWithDifferentDefines/srcs/src.mm"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -156,12 +156,12 @@ isa = PBXGroup; children = ( 0EEA156A104B82BB00000000 /* EN.strings */, - 25889F7C0CCB12AD00000000 /* Info.plist */, + 25889F7CD4FFBE6F00000000 /* Info.plist */, 0EEA156AE3CD2D8100000000 /* Localizable.strings */, 0EEA156AC5ECCD1B00000000 /* Localized.strings */, - 25889F7CDA9E056400000000 /* NonLocalized.strings */, + 25889F7C15C7840200000000 /* NonLocalized.strings */, 0EEA156AC83AE7C200000000 /* One.storyboard */, - 25889F7CBA200B3100000000 /* entitlements.entitlements */, + 25889F7C77D27D9400000000 /* entitlements.entitlements */, 45D05629F82F4AD500000000 /* non_arc_srcs */, 45D05629CC62AD9600000000 /* srcs */, ); @@ -195,7 +195,7 @@ 45D0562943A1317500000000 /* TodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CAECA95D700000000 /* Info.plist */, + 25889F7C6B65092000000000 /* Info.plist */, ); name = "TodayExtension-intermediates"; sourceTree = ""; @@ -205,7 +205,7 @@ children = ( 45D056296592723000000000 /* hdrs */, 45D05629CC62AD9600000001 /* srcs */, - 25889F7CCB64786900000000 /* xib.xib */, + 25889F7CD35B033400000000 /* xib.xib */, ); name = Library; sourceTree = ""; @@ -213,7 +213,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7CE25C900400000000 /* HdrsHeader.h */, + 25889F7C49F0A75600000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -221,7 +221,7 @@ 45D0562966E9654200000000 /* ObjCFramework */ = { isa = PBXGroup; children = ( - 25889F7CABE80CF400000000 /* test.framework */, + 25889F7C49605F2900000000 /* test.framework */, ); name = ObjCFramework; sourceTree = ""; @@ -229,8 +229,8 @@ 45D056298928A9C900000000 /* resources */ = { isa = PBXGroup; children = ( - 25889F7C7C46ABEF00000000 /* file1 */, - 25889F7CC3CD2C3800000000 /* file2.file */, + 25889F7C631271AE00000000 /* file1 */, + 25889F7C34890F0000000000 /* file2.file */, ); name = resources; sourceTree = ""; @@ -269,7 +269,7 @@ 45D0562991BACA9000000000 /* pch */ = { isa = PBXGroup; children = ( - 25889F7C7B251C0E00000000 /* AnotherPCHFile.pch */, + 25889F7CBD70A62600000000 /* AnotherPCHFile.pch */, ); name = pch; sourceTree = ""; @@ -319,7 +319,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CA1F4761000000000 /* Info.plist */, + 25889F7CB4F4337A00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -349,8 +349,8 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C157B466000000000 /* SrcsHeader.h */, - 25889F7CEF7E9B8800000000 /* src5.mm */, + 25889F7C5F03A4CF00000000 /* SrcsHeader.h */, + 25889F7C3A8E944E00000000 /* src5.mm */, ); name = srcs; sourceTree = ""; @@ -358,10 +358,10 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CD98FAB6100000000 /* src1.m */, - 25889F7C0FBAD8E100000000 /* src2.m */, - 25889F7C12CB1AF700000000 /* src3.m */, - 25889F7CF77C090200000000 /* src4.m */, + 25889F7C160C3D9400000000 /* src1.m */, + 25889F7CB778F33400000000 /* src2.m */, + 25889F7C55B4D94500000000 /* src3.m */, + 25889F7C52C027AF00000000 /* src4.m */, ); name = srcs; sourceTree = ""; @@ -369,7 +369,7 @@ 45D05629CC62AD9600000003 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C24ED792C00000000 /* input.m */, + 25889F7CB097D0E400000000 /* input.m */, ); name = srcs; sourceTree = ""; @@ -377,7 +377,7 @@ 45D05629CC62AD9600000004 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C5C4E9D0100000000 /* src.mm */, + 25889F7CE56C768000000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -385,7 +385,7 @@ 45D05629CC62AD9600000005 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C76B724A400000000 /* src.mm */, + 25889F7CE7146E0400000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -393,7 +393,7 @@ 45D05629CC62AD9600000006 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CFD2E8B0700000000 /* src.mm */, + 25889F7CEF9CAD8A00000000 /* src.mm */, ); name = srcs; sourceTree = ""; @@ -401,7 +401,7 @@ 45D05629CC62AD9600000007 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CDB8CD05600000000 /* sub_library_with_identical_defines.m */, + 25889F7C99D62A3000000000 /* sub_library_with_identical_defines.m */, ); name = srcs; sourceTree = ""; @@ -409,7 +409,7 @@ 45D05629CC62AD9600000008 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CDBE3DDF100000000 /* today_extension_library.m */, + 25889F7C2F57AD1500000000 /* today_extension_library.m */, ); name = srcs; sourceTree = ""; @@ -417,7 +417,7 @@ 45D05629CC62AD9600000009 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CF737E98D00000000 /* defaultTestSource.m */, + 25889F7CF3273A4100000000 /* defaultTestSource.m */, ); name = srcs; sourceTree = ""; @@ -442,7 +442,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CD66BB6CC00000000 /* Info.plist */, + 25889F7CE036A93400000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -759,12 +759,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DEF7E9B8800000000 /* src5.mm in srcs */, - 952C886DD98FAB6100000000 /* src1.m in srcs */, - 952C886D0FBAD8E100000000 /* src2.m in srcs */, - 952C886D12CB1AF700000000 /* src3.m in srcs */, - 952C886DF77C090200000000 /* src4.m in srcs */, - 952C886DF737E98D00000000 /* defaultTestSource.m in srcs */, + 952C886D3A8E944E00000000 /* src5.mm in srcs */, + 952C886D160C3D9400000000 /* src1.m in srcs */, + 952C886DB778F33400000000 /* src2.m in srcs */, + 952C886D55B4D94500000000 /* src3.m in srcs */, + 952C886D52C027AF00000000 /* src4.m in srcs */, + 952C886DF3273A4100000000 /* defaultTestSource.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -781,7 +781,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D24ED792C00000000 /* input.m in srcs */, + 952C886DB097D0E400000000 /* input.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -789,11 +789,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DEF7E9B8800000001 /* src5.mm in srcs */, - 952C886DD98FAB6100000001 /* src1.m in srcs */, - 952C886D0FBAD8E100000001 /* src2.m in srcs */, - 952C886D12CB1AF700000001 /* src3.m in srcs */, - 952C886DF77C090200000001 /* src4.m in srcs */, + 952C886D3A8E944E00000001 /* src5.mm in srcs */, + 952C886D160C3D9400000001 /* src1.m in srcs */, + 952C886DB778F33400000001 /* src2.m in srcs */, + 952C886D55B4D94500000001 /* src3.m in srcs */, + 952C886D52C027AF00000001 /* src4.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -801,7 +801,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D5C4E9D0100000000 /* src.mm in srcs */, + 952C886DE56C768000000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -809,7 +809,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DFD2E8B0700000000 /* src.mm in srcs */, + 952C886DEF9CAD8A00000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -817,8 +817,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DDB8CD05600000000 /* sub_library_with_identical_defines.m in srcs */, - 952C886D76B724A400000000 /* src.mm in srcs */, + 952C886D99D62A3000000000 /* sub_library_with_identical_defines.m in srcs */, + 952C886DE7146E0400000000 /* src.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -826,7 +826,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DDBE3DDF100000000 /* today_extension_library.m in srcs */, + 952C886D2F57AD1500000000 /* today_extension_library.m in srcs */, 952C886DBB4A5A4F00000000 /* Test.xcdatamodeld in tulsi_e2e_complex */, ); runOnlyForDeploymentPostprocessing = 0; @@ -837,7 +837,7 @@ 0EEA156A104B82BB00000000 /* EN.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7C0B6954F800000000 /* en */, + 25889F7C8DF0400F00000000 /* en */, ); name = EN.strings; sourceTree = ""; @@ -845,9 +845,9 @@ 0EEA156AC5ECCD1B00000000 /* Localized.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7CCFAAA5F400000000 /* Base */, - 25889F7C479F3E1600000000 /* en */, - 25889F7C86E7B54A00000000 /* es */, + 25889F7C4090322100000000 /* Base */, + 25889F7CEDC9AFE300000000 /* en */, + 25889F7C510E414800000000 /* es */, ); name = Localized.strings; sourceTree = ""; @@ -855,7 +855,7 @@ 0EEA156AC83AE7C200000000 /* One.storyboard */ = { isa = PBXVariantGroup; children = ( - 25889F7C1D4F48FD00000000 /* Base */, + 25889F7C6A6EAE2E00000000 /* Base */, ); name = One.storyboard; sourceTree = ""; @@ -863,7 +863,7 @@ 0EEA156AE3CD2D8100000000 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 25889F7CEC09666700000000 /* Base */, + 25889F7C7695A0FA00000000 /* Base */, ); name = Localizable.strings; sourceTree = ""; @@ -993,10 +993,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1036,7 +1034,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests; @@ -1091,14 +1089,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1125,9 +1121,9 @@ 0207AA2838C3D90E00000004 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/ObjCFramework"; + FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DA=BINARY_DEFINE -D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_ApplicationLibrary_3EA018EE_ios_min10.0; @@ -1152,7 +1148,7 @@ buildSettings = { GCC_PREFIX_HEADER = "$(TULSI_WR)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_Library_FAFE9183_ios_min10.0; @@ -1165,9 +1161,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_SubLibrary_241BBB47_ios_min10.0; SDKROOT = iphoneos; @@ -1179,7 +1175,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"SubLibraryWithDifferentDefines_PREQUOTED=Prequoted with spaces\" -D'SubLibraryWithDifferentDefines_SINGLEQUOTED=Single quoted with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -D\"SubLibraryWithDifferentDefines_STRING_WITH_SPACES=String with spaces\""; PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0; @@ -1192,7 +1188,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_EXECUTION_ROOT)/relative/SubLibraryWithDefines/local/includes "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines"; PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0; @@ -1205,7 +1201,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0; SDKROOT = iphoneos; @@ -1221,7 +1217,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests; @@ -1276,14 +1272,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1310,9 +1304,9 @@ 0207AA28616216BF00000004 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/ObjCFramework"; + FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DA=BINARY_DEFINE -D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_ApplicationLibrary_3EA018EE_ios_min10.0; @@ -1337,7 +1331,7 @@ buildSettings = { GCC_PREFIX_HEADER = "$(TULSI_WR)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"LIBRARY SECOND DEFINE=2\" -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -D\"LIBRARY_VALUE_WITH_SPACES=Value with spaces\" -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1"; PRODUCT_NAME = _idx_Library_FAFE9183_ios_min10.0; @@ -1350,9 +1344,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_SubLibrary_241BBB47_ios_min10.0; SDKROOT = iphoneos; @@ -1364,7 +1358,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-D\"SubLibraryWithDifferentDefines_PREQUOTED=Prequoted with spaces\" -D'SubLibraryWithDifferentDefines_SINGLEQUOTED=Single quoted with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -D\"SubLibraryWithDifferentDefines_STRING_WITH_SPACES=String with spaces\""; PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_B982A5CC_ios_min10.0; @@ -1377,7 +1371,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_EXECUTION_ROOT)/relative/SubLibraryWithDefines/local/includes "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines"; PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0; @@ -1390,7 +1384,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_BA35CE93_ios_min10.0; SDKROOT = iphoneos; @@ -1485,10 +1479,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = ComplexSingleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj index 946045ec..d29ec203 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D0E49B72100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0E49B72100000000 /* main.m */; }; - 952C886D0E49B72100000001 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0E49B72100000000 /* main.m */; }; - 952C886D6C9F600700000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C6C9F600700000000 /* AppDelegate.m */; }; - 952C886DE7EA270300000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7CE7EA270300000000 /* TodayViewController.m */; }; - 952C886DECFD2C0500000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7CECFD2C0500000000 /* PluginViewController.m */; }; + 952C886D0B8893FD00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0B8893FD00000000 /* AppDelegate.m */; }; + 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C1D215DBF00000000 /* TodayViewController.m */; }; + 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7C88BF1D8A00000000 /* PluginViewController.m */; }; + 952C886DBE1ACDB100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; + 952C886DBE1ACDB100000001 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -24,28 +24,28 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0E49B72100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C42506DD700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = ""; }; + 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = ""; }; + 25889F7C190C6AD900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C1D215DBF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = ""; }; + 25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = ""; }; + 25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = ""; }; 25889F7C431C3E6C00000000 /* MyCommandLineApp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; name = MyCommandLineApp; path = MyCommandLineApp; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C479208EB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C5F26AC4C00000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C6C9F600700000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C743BF6A300000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = ""; }; + 25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = ""; }; + 25889F7C5C92D77000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyTodayExtension-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C79F3A68000000000 /* lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a; path = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8360E76200000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = SOURCE_ROOT; }; - 25889F7C940DE80500000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = ""; }; + 25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = ""; }; + 25889F7C88BF1D8A00000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = ""; }; + 25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = ""; }; 25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CB0B3470C00000000 /* MyTodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = MyTodayExtension.appex; path = MyTodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBF503EBC00000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CC86C099100000000 /* MyCommandLineApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyCommandLineApp-Info.plist"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyCommandLineApp-Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CD2E4F66800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyTodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CD8AC803100000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; - 25889F7CE7EA270300000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CEA3524E000000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = SOURCE_ROOT; }; + 25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = ""; }; + 25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = ""; }; + 25889F7CE3F9DCA500000000 /* MyCommandLineApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyCommandLineApp-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyCommandLineApp-Info.plist"; sourceTree = ""; }; 25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CECFD2C0500000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CEF34308500000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = SOURCE_ROOT; }; - 25889F7CF98D6D2100000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "MacOSProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -64,7 +64,7 @@ 45D0562932083AD600000000 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7CEA3524E000000000 /* PluginViewController.xib */, + 25889F7C8363577600000000 /* PluginViewController.xib */, ); name = plugin; sourceTree = ""; @@ -72,8 +72,8 @@ 45D0562932083AD600000001 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C743BF6A300000000 /* PluginViewController.h */, - 25889F7CECFD2C0500000000 /* PluginViewController.m */, + 25889F7C59FF2E4A00000000 /* PluginViewController.h */, + 25889F7C88BF1D8A00000000 /* PluginViewController.m */, ); name = plugin; sourceTree = ""; @@ -97,7 +97,7 @@ 45D056293D848C8300000000 /* today */ = { isa = PBXGroup; children = ( - 25889F7C8360E76200000000 /* TodayViewController.xib */, + 25889F7C7CBFB06500000000 /* TodayViewController.xib */, ); name = today; sourceTree = ""; @@ -106,7 +106,7 @@ isa = PBXGroup; children = ( 45D056296506C89700000000 /* ExtSources */, - 25889F7C5F26AC4C00000000 /* TodayViewController.h */, + 25889F7CC867E1F300000000 /* TodayViewController.h */, ); name = today; sourceTree = ""; @@ -130,7 +130,7 @@ 45D056295E29771300000000 /* Resources */ = { isa = PBXGroup; children = ( - 25889F7CEF34308500000000 /* Main.storyboard */, + 25889F7CEF58351100000000 /* Main.storyboard */, 45D0562942EDABC600000000 /* extensions */, 45D0562932083AD600000000 /* plugin */, ); @@ -140,7 +140,7 @@ 45D056296506C89700000000 /* ExtSources */ = { isa = PBXGroup; children = ( - 25889F7CE7EA270300000000 /* TodayViewController.m */, + 25889F7C1D215DBF00000000 /* TodayViewController.m */, ); name = ExtSources; sourceTree = ""; @@ -148,7 +148,7 @@ 45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C479208EB00000000 /* Info.plist */, + 25889F7C190C6AD900000000 /* Info.plist */, ); name = "MyMacOSApp-intermediates"; sourceTree = ""; @@ -192,11 +192,11 @@ isa = PBXGroup; children = ( 25889F7CEAD580F400000000 /* BUILD */, - 25889F7C42506DD700000000 /* Info.plist */, - 25889F7CC86C099100000000 /* MyCommandLineApp-Info.plist */, - 25889F7CBF503EBC00000000 /* MyPlugin_Info.plist */, - 25889F7C940DE80500000000 /* MyTodayExtension-Entitlements.entitlements */, - 25889F7CF98D6D2100000000 /* MyTodayExtension-Info.plist */, + 25889F7C1DF2978800000000 /* Info.plist */, + 25889F7CE3F9DCA500000000 /* MyCommandLineApp-Info.plist */, + 25889F7C89A6486800000000 /* MyPlugin_Info.plist */, + 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */, + 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */, 45D056295E29771300000000 /* Resources */, 45D05629C9D3842C00000000 /* src */, ); @@ -206,10 +206,10 @@ 45D05629C9D3842C00000000 /* src */ = { isa = PBXGroup; children = ( - 25889F7CD8AC803100000000 /* AppDelegate.h */, - 25889F7C6C9F600700000000 /* AppDelegate.m */, + 25889F7C2659003900000000 /* AppDelegate.h */, + 25889F7C0B8893FD00000000 /* AppDelegate.m */, 45D0562942EDABC600000001 /* extensions */, - 25889F7C0E49B72100000000 /* main.m */, + 25889F7CBE1ACDB100000000 /* main.m */, 45D0562932083AD600000001 /* plugin */, ); name = src; @@ -218,7 +218,7 @@ 45D05629E9844B7000000000 /* MyTodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CD2E4F66800000000 /* Info.plist */, + 25889F7C5C92D77000000000 /* Info.plist */, ); name = "MyTodayExtension-intermediates"; sourceTree = ""; @@ -387,11 +387,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DE7EA270300000000 /* TodayViewController.m in ExtSources */, - 952C886D0E49B72100000000 /* main.m in src */, - 952C886D6C9F600700000000 /* AppDelegate.m in src */, - 952C886D0E49B72100000001 /* main.m in src */, - 952C886DECFD2C0500000000 /* PluginViewController.m in plugin */, + 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */, + 952C886DBE1ACDB100000000 /* main.m in src */, + 952C886D0B8893FD00000000 /* AppDelegate.m in src */, + 952C886DBE1ACDB100000001 /* main.m in src */, + 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -439,10 +439,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -549,14 +547,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -618,7 +614,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13; SDKROOT = macosx; @@ -651,14 +647,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -720,7 +714,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_MyPluginSources_A42B7B7F_macos_min10.13; SDKROOT = macosx; @@ -762,10 +756,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj index 803da561..1a09a0ca 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D2778E42D00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */; }; - 952C886D40CB22AF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C40CB22AF00000000 /* TodayViewController.m */; }; - 952C886D619F0F4900000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C619F0F4900000000 /* UnitTests.m */; }; - 952C886D9813D91900000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C9813D91900000000 /* UITests.m */; }; - 952C886D995E227100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C995E227100000000 /* main.m */; }; - 952C886DE4E7385800000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CE4E7385800000000 /* AppDelegate.m */; }; - 952C886DF50B2C3200000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7CF50B2C3200000000 /* PluginViewController.m */; }; + 952C886D0B8893FD00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0B8893FD00000000 /* AppDelegate.m */; }; + 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C1D215DBF00000000 /* TodayViewController.m */; }; + 952C886D2FDF604B00000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2FDF604B00000000 /* UnitTests.m */; }; + 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7C88BF1D8A00000000 /* PluginViewController.m */; }; + 952C886D8BF96B6600000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C8BF96B6600000000 /* UITests.m */; }; + 952C886DBE1ACDB100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; }; + 952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,32 +32,32 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0360D5F400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = ""; }; 25889F7C13A3ADB400000000 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UITests.xctest; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C1666DCCD00000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C2E39FB2F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C40CB22AF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C575BC40000000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C619F0F4900000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C6B12F9F000000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C730D233E00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UITests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C7A1BAC5500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C7E606C2400000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = ""; }; + 25889F7C1673EEDD00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UITests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C190C6AD900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C1D215DBF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = ""; }; + 25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = ""; }; + 25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = ""; }; + 25889F7C2FDF604B00000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = ""; }; + 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = ""; }; + 25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = ""; }; + 25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = ""; }; + 25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = ""; }; 25889F7C86B467CC00000000 /* UnitTestsNoHost.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTestsNoHost.xctest; path = UnitTestsNoHost.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C97A5740300000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = SOURCE_ROOT; }; - 25889F7C9813D91900000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/test/UITests.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C995E227100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C88BF1D8A00000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = ""; }; + 25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = ""; }; + 25889F7C8BF96B6600000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UITests.m"; sourceTree = ""; }; + 25889F7C9D2ADD1300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CA42D0C9A00000000 /* lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a; path = lib_idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CB27679C600000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = SOURCE_ROOT; }; - 25889F7CB28170EE00000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; - 25889F7CD7FC372900000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CDC81DA3700000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = SOURCE_ROOT; }; - 25889F7CE4E7385800000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = ""; }; + 25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = ""; }; + 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = ""; }; 25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CF50B2C3200000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CF87F1BEA00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MacOSTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTests.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = ""; }; + 25889F7CEF97F98300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CF8E2406C00000000 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTests.xctest; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -78,7 +78,7 @@ 45D056292621D11600000000 /* UnitTestsNoHost.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C0360D5F400000000 /* Info.plist */, + 25889F7CEF97F98300000000 /* Info.plist */, ); name = "UnitTestsNoHost.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -86,7 +86,7 @@ 45D0562932083AD600000000 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7CDC81DA3700000000 /* PluginViewController.xib */, + 25889F7C8363577600000000 /* PluginViewController.xib */, ); name = plugin; sourceTree = ""; @@ -94,8 +94,8 @@ 45D0562932083AD600000001 /* plugin */ = { isa = PBXGroup; children = ( - 25889F7C7E606C2400000000 /* PluginViewController.h */, - 25889F7CF50B2C3200000000 /* PluginViewController.m */, + 25889F7C59FF2E4A00000000 /* PluginViewController.h */, + 25889F7C88BF1D8A00000000 /* PluginViewController.m */, ); name = plugin; sourceTree = ""; @@ -103,9 +103,9 @@ 45D0562932EEC24C00000000 /* test */ = { isa = PBXGroup; children = ( - 25889F7C9813D91900000000 /* UITests.m */, - 25889F7C619F0F4900000000 /* UnitTests.m */, - 25889F7C2778E42D00000000 /* UnitTestsNoHost.m */, + 25889F7C8BF96B6600000000 /* UITests.m */, + 25889F7C2FDF604B00000000 /* UnitTests.m */, + 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */, ); name = test; sourceTree = ""; @@ -129,7 +129,7 @@ 45D056293D848C8300000000 /* today */ = { isa = PBXGroup; children = ( - 25889F7C97A5740300000000 /* TodayViewController.xib */, + 25889F7C7CBFB06500000000 /* TodayViewController.xib */, ); name = today; sourceTree = ""; @@ -138,7 +138,7 @@ isa = PBXGroup; children = ( 45D056296506C89700000000 /* ExtSources */, - 25889F7C1666DCCD00000000 /* TodayViewController.h */, + 25889F7CC867E1F300000000 /* TodayViewController.h */, ); name = today; sourceTree = ""; @@ -162,7 +162,7 @@ 45D056295E29771300000000 /* Resources */ = { isa = PBXGroup; children = ( - 25889F7CB27679C600000000 /* Main.storyboard */, + 25889F7CEF58351100000000 /* Main.storyboard */, 45D0562942EDABC600000000 /* extensions */, 45D0562932083AD600000000 /* plugin */, ); @@ -172,7 +172,7 @@ 45D056296506C89700000000 /* ExtSources */ = { isa = PBXGroup; children = ( - 25889F7C40CB22AF00000000 /* TodayViewController.m */, + 25889F7C1D215DBF00000000 /* TodayViewController.m */, ); name = ExtSources; sourceTree = ""; @@ -180,7 +180,7 @@ 45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C2E39FB2F00000000 /* Info.plist */, + 25889F7C190C6AD900000000 /* Info.plist */, ); name = "MyMacOSApp-intermediates"; sourceTree = ""; @@ -188,7 +188,7 @@ 45D056297BFE52A200000000 /* UnitTests.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CF87F1BEA00000000 /* Info.plist */, + 25889F7C9D2ADD1300000000 /* Info.plist */, ); name = "UnitTests.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -234,10 +234,10 @@ isa = PBXGroup; children = ( 25889F7CEAD580F400000000 /* BUILD */, - 25889F7C7A1BAC5500000000 /* Info.plist */, - 25889F7CD7FC372900000000 /* MyPlugin_Info.plist */, - 25889F7CB28170EE00000000 /* MyTodayExtension-Entitlements.entitlements */, - 25889F7C6B12F9F000000000 /* MyTodayExtension-Info.plist */, + 25889F7C1DF2978800000000 /* Info.plist */, + 25889F7C89A6486800000000 /* MyPlugin_Info.plist */, + 25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */, + 25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */, 45D056295E29771300000000 /* Resources */, 45D05629C9D3842C00000000 /* src */, 45D0562932EEC24C00000000 /* test */, @@ -248,10 +248,10 @@ 45D05629C9D3842C00000000 /* src */ = { isa = PBXGroup; children = ( - 25889F7C575BC40000000000 /* AppDelegate.h */, - 25889F7CE4E7385800000000 /* AppDelegate.m */, + 25889F7C2659003900000000 /* AppDelegate.h */, + 25889F7C0B8893FD00000000 /* AppDelegate.m */, 45D0562942EDABC600000001 /* extensions */, - 25889F7C995E227100000000 /* main.m */, + 25889F7CBE1ACDB100000000 /* main.m */, 45D0562932083AD600000001 /* plugin */, ); name = src; @@ -260,7 +260,7 @@ 45D05629CE8239BD00000000 /* UITests.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C730D233E00000000 /* Info.plist */, + 25889F7C1673EEDD00000000 /* Info.plist */, ); name = "UITests.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -519,7 +519,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D9813D91900000000 /* UITests.m in test */, + 952C886D8BF96B6600000000 /* UITests.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -527,7 +527,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D619F0F4900000000 /* UnitTests.m in test */, + 952C886D2FDF604B00000000 /* UnitTests.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -535,7 +535,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D2778E42D00000000 /* UnitTestsNoHost.m in test */, + 952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -543,10 +543,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D40CB22AF00000000 /* TodayViewController.m in ExtSources */, - 952C886DE4E7385800000000 /* AppDelegate.m in src */, - 952C886D995E227100000000 /* main.m in src */, - 952C886DF50B2C3200000000 /* PluginViewController.m in plugin */, + 952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */, + 952C886D0B8893FD00000000 /* AppDelegate.m in src */, + 952C886DBE1ACDB100000000 /* main.m in src */, + 952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -678,10 +678,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -721,7 +719,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UITests"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -759,7 +757,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -797,14 +795,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -818,7 +814,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests; @@ -834,7 +830,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13; SDKROOT = macosx; @@ -849,7 +845,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UITests"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -887,7 +883,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests"; @@ -925,14 +921,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -946,7 +940,7 @@ BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests; @@ -962,7 +956,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_NAME = _idx_MyTodayExtensionSources_MyMacAppSources_MyPluginSources_FEE655FD_macos_min10.13; SDKROOT = macosx; @@ -1084,10 +1078,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MacOSTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj index eb6e7961..93c778dc 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj @@ -16,16 +16,16 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0496A56C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationOne-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C06EE647600000000 /* ApplicationOne.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ApplicationOne.app; path = ApplicationOne.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C1CE2143200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/TodayExtension-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C203FAE5B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_multi_extension/Application/Info.plist"; sourceTree = ""; }; 25889F7C38357D4800000000 /* TodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = TodayExtension.appex; path = TodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C424D09F400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationTwo-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C4339915300000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_multi_extension/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C58C095DD00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationTwo-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C681FEA0A00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_multi_extension/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; + 25889F7C8B2096C600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/ApplicationOne-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CA4AD39EB00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_multi_extension/Application/entitlements.entitlements"; sourceTree = ""; }; 25889F7CAB0F56C800000000 /* Plist1.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Plist1.plist; path = tulsi_e2e_multi_extension/TodayExtension/Plist1.plist; sourceTree = ""; }; - 25889F7CDA2EB38600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_multi_extension/TodayExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CE7EE802200000000 /* ApplicationTwo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ApplicationTwo.app; path = ApplicationTwo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CF58F922E00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "MultiExtensionProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_multi_extension/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -63,7 +63,7 @@ 45D056293335383100000000 /* ApplicationOne-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C0496A56C00000000 /* Info.plist */, + 25889F7C8B2096C600000000 /* Info.plist */, ); name = "ApplicationOne-intermediates"; sourceTree = ""; @@ -71,8 +71,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7CF58F922E00000000 /* Info.plist */, - 25889F7C681FEA0A00000000 /* entitlements.entitlements */, + 25889F7C203FAE5B00000000 /* Info.plist */, + 25889F7CA4AD39EB00000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -96,7 +96,7 @@ 45D0562943A1317500000000 /* TodayExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CDA2EB38600000000 /* Info.plist */, + 25889F7C1CE2143200000000 /* Info.plist */, ); name = "TodayExtension-intermediates"; sourceTree = ""; @@ -130,7 +130,7 @@ 45D05629F7B9738100000000 /* ApplicationTwo-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C58C095DD00000000 /* Info.plist */, + 25889F7C424D09F400000000 /* Info.plist */, ); name = "ApplicationTwo-intermediates"; sourceTree = ""; @@ -319,10 +319,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -429,14 +427,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -519,14 +515,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -618,10 +612,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = MultiExtensionProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj index 9557793a..b5a315b8 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D760C782200000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C760C782200000000 /* src2.c */; }; - 952C886DC335172B00000000 /* main.cc in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC335172B00000000 /* main.cc */; }; - 952C886DD87FF37800000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD87FF37800000000 /* src1.c */; }; + 952C886D40FA11C700000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C40FA11C700000000 /* src1.c */; }; + 952C886DAEA4670600000000 /* main.cc in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CAEA4670600000000 /* main.cc */; }; + 952C886DBA739E5700000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CBA739E5700000000 /* src2.c */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -28,15 +28,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C40FA11C700000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = ""; }; 25889F7C465997B800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ccsimple/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C760C782200000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = SOURCE_ROOT; }; + 25889F7C6024490600000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; 25889F7C7C32F61200000000 /* ccBinary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ccBinary.app; path = ccBinary.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C83741A6500000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C95DAF1A800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; + 25889F7C9AAB485E00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; 25889F7CA44D367C00000000 /* lib_idx_ccBinary_C9583FBE_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; path = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CAEA4670600000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "tulsi-workspace/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = ""; }; 25889F7CB7F6ECEE00000000 /* lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; path = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CC335172B00000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = SOURCE_ROOT; }; - 25889F7CD87FF37800000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "SimpleCCProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = SOURCE_ROOT; }; + 25889F7CBA739E5700000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -61,7 +61,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7C95DAF1A800000000 /* HdrsHeader.h */, + 25889F7C9AAB485E00000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -96,7 +96,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CC335172B00000000 /* main.cc */, + 25889F7CAEA4670600000000 /* main.cc */, ); name = srcs; sourceTree = ""; @@ -104,9 +104,9 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C83741A6500000000 /* SrcsHeader.h */, - 25889F7CD87FF37800000000 /* src1.c */, - 25889F7C760C782200000000 /* src2.c */, + 25889F7C6024490600000000 /* SrcsHeader.h */, + 25889F7C40FA11C700000000 /* src1.c */, + 25889F7CBA739E5700000000 /* src2.c */, ); name = srcs; sourceTree = ""; @@ -239,7 +239,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DC335172B00000000 /* main.cc in srcs */, + 952C886DAEA4670600000000 /* main.cc in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -247,8 +247,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DD87FF37800000000 /* src1.c in srcs */, - 952C886D760C782200000000 /* src2.c in srcs */, + 952C886D40FA11C700000000 /* src1.c in srcs */, + 952C886DBA739E5700000000 /* src2.c in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -300,10 +300,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -359,14 +357,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -377,7 +373,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_OUTPUT_BASE)/external/bazel_tools $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/external/bazel_tools "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0; @@ -390,7 +386,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0; @@ -440,14 +436,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = macosx; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -458,7 +452,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ $(TULSI_OUTPUT_BASE)/external/bazel_tools $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/external/bazel_tools "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0; @@ -471,7 +465,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0; @@ -530,10 +524,8 @@ SDKROOT = macosx; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleCCProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj index b5a480a4..aaba919b 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D15A44EDA00000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C15A44EDA00000000 /* src1.m */; }; + 952C886D11A6302600000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C11A6302600000000 /* src1.m */; }; 952C886D3EFFE63100000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */ = {isa = PBXBuildFile; fileRef = D0BE1A9D3EFFE63100000000 /* SimpleTest.xcdatamodeld */; }; - 952C886D433D88E100000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C433D88E100000000 /* src3.m */; }; - 952C886D6709162600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6709162600000000 /* main.m */; }; - 952C886D6812AE2500000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6812AE2500000000 /* src1.mm */; }; - 952C886DC99B11C800000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC99B11C800000000 /* src4.m */; }; - 952C886DFBDC454200000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFBDC454200000000 /* src2.m */; }; + 952C886D80E2A65800000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C80E2A65800000000 /* src2.m */; }; + 952C886D99A5382C00000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C99A5382C00000000 /* src1.mm */; }; + 952C886DB150C3F800000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB150C3F800000000 /* main.m */; }; + 952C886DB6E4997A00000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB6E4997A00000000 /* src3.m */; }; + 952C886DD6AD0DEF00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD6AD0DEF00000000 /* src4.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -38,32 +38,32 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 25889F7C0C7E2AEB00000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = ""; }; + 25889F7C0DFE4FDE00000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_simple/Library/xibs/xib.xib"; sourceTree = ""; }; + 25889F7C11A6302600000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = ""; }; 25889F7C126E22AB00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_simple/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C15A44EDA00000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = SOURCE_ROOT; }; 25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; path = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C24A5994500000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/pch/PCHFile.pch"; sourceTree = SOURCE_ROOT; }; - 25889F7C34B26C1B00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; - 25889F7C39C9E93A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C433D88E100000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C448A695C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C301CC73800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; + 25889F7C32F6AA5C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C477067CE00000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = ""; }; - 25889F7C5297EC6100000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C5C9F8A3B00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = SOURCE_ROOT; }; - 25889F7C6709162600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C6812AE2500000000 /* src1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src1.mm; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/XCTest/srcs/src1.mm"; sourceTree = SOURCE_ROOT; }; - 25889F7C7844320400000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = SOURCE_ROOT; }; + 25889F7C6079DDB000000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C80E2A65800000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = ""; }; 25889F7C80E959BE00000000 /* lib_idx_Library_744889E2_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_744889E2_ios_min10.0.a; path = lib_idx_Library_744889E2_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8DD92E1800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C84A85CEE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/Application-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C8FC56C5400000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C978361E600000000 /* SimpleDataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv1.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv1.xcdatamodel; sourceTree = ""; }; - 25889F7C9994E5B500000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7C9F36DAFC00000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/xibs/xib.xib"; sourceTree = SOURCE_ROOT; }; - 25889F7CC99B11C800000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C99A5382C00000000 /* src1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src1.mm; path = "tulsi-workspace/tulsi_e2e_simple/XCTest/srcs/src1.mm"; sourceTree = ""; }; + 25889F7CAF25182F00000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "tulsi-workspace/tulsi_e2e_simple/Library/pch/PCHFile.pch"; sourceTree = ""; }; + 25889F7CB150C3F800000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = ""; }; + 25889F7CB6E4997A00000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = ""; }; + 25889F7CB7C2A0EE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CCF6C202B00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = ""; }; + 25889F7CD6AD0DEF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = ""; }; + 25889F7CEA45B29C00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = ""; }; 25889F7CEBE4382E00000000 /* TargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TargetApplication.app; path = TargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CF7949E6000000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = SOURCE_ROOT; }; - 25889F7CF8F057AE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_simple/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CFBDC454200000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "SimpleProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = SOURCE_ROOT; }; + 25889F7CEC8BA1B100000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; + 25889F7CFC41714700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple/Application/Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -82,7 +82,7 @@ 45D056291D99E09D00000000 /* xibs */ = { isa = PBXGroup; children = ( - 25889F7C9F36DAFC00000000 /* xib.xib */, + 25889F7C0DFE4FDE00000000 /* xib.xib */, ); name = xibs; sourceTree = ""; @@ -90,9 +90,9 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7C39C9E93A00000000 /* Info.plist */, - 25889F7C5C9F8A3B00000000 /* Launch.storyboard */, - 25889F7C34B26C1B00000000 /* entitlements.entitlements */, + 25889F7CFC41714700000000 /* Info.plist */, + 25889F7CEA45B29C00000000 /* Launch.storyboard */, + 25889F7C6079DDB000000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -124,7 +124,7 @@ 45D056294C3C17AD00000000 /* TargetApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C448A695C00000000 /* Info.plist */, + 25889F7C32F6AA5C00000000 /* Info.plist */, ); name = "TargetApplication-intermediates"; sourceTree = ""; @@ -144,7 +144,7 @@ 45D056296592723000000000 /* hdrs */ = { isa = PBXGroup; children = ( - 25889F7C5297EC6100000000 /* HdrsHeader.h */, + 25889F7C301CC73800000000 /* HdrsHeader.h */, ); name = hdrs; sourceTree = ""; @@ -152,7 +152,7 @@ 45D0562991BACA9000000000 /* pch */ = { isa = PBXGroup; children = ( - 25889F7C24A5994500000000 /* PCHFile.pch */, + 25889F7CAF25182F00000000 /* PCHFile.pch */, ); name = pch; sourceTree = ""; @@ -178,7 +178,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CF8F057AE00000000 /* Info.plist */, + 25889F7C84A85CEE00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -227,7 +227,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C6709162600000000 /* main.m */, + 25889F7CB150C3F800000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -235,11 +235,11 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CF7949E6000000000 /* SrcsHeader.h */, - 25889F7C15A44EDA00000000 /* src1.m */, - 25889F7CFBDC454200000000 /* src2.m */, - 25889F7C433D88E100000000 /* src3.m */, - 25889F7CC99B11C800000000 /* src4.m */, + 25889F7CEC8BA1B100000000 /* SrcsHeader.h */, + 25889F7C11A6302600000000 /* src1.m */, + 25889F7C80E2A65800000000 /* src2.m */, + 25889F7CB6E4997A00000000 /* src3.m */, + 25889F7CD6AD0DEF00000000 /* src4.m */, ); name = srcs; sourceTree = ""; @@ -247,7 +247,7 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C6812AE2500000000 /* src1.mm */, + 25889F7C99A5382C00000000 /* src1.mm */, ); name = srcs; sourceTree = ""; @@ -255,7 +255,7 @@ 45D05629D4BE17CD00000000 /* textual_hdrs */ = { isa = PBXGroup; children = ( - 25889F7C9994E5B500000000 /* TextualHdrsHeader.h */, + 25889F7C0C7E2AEB00000000 /* TextualHdrsHeader.h */, ); name = textual_hdrs; sourceTree = ""; @@ -263,7 +263,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8DD92E1800000000 /* Info.plist */, + 25889F7CB7C2A0EE00000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -472,7 +472,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D6812AE2500000000 /* src1.mm in srcs */, + 952C886D99A5382C00000000 /* src1.mm in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -481,7 +481,7 @@ buildActionMask = 0; files = ( 952C886D3EFFE63100000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */, - 952C886D6709162600000000 /* main.m in srcs */, + 952C886DB150C3F800000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -489,10 +489,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D15A44EDA00000000 /* src1.m in srcs */, - 952C886DFBDC454200000000 /* src2.m in srcs */, - 952C886D433D88E100000000 /* src3.m in srcs */, - 952C886DC99B11C800000000 /* src4.m in srcs */, + 952C886D11A6302600000000 /* src1.m in srcs */, + 952C886D80E2A65800000000 /* src2.m in srcs */, + 952C886DB6E4997A00000000 /* src3.m in srcs */, + 952C886DD6AD0DEF00000000 /* src4.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -502,7 +502,7 @@ 0EEA156AC83AE7C200000000 /* One.storyboard */ = { isa = PBXVariantGroup; children = ( - 25889F7C7844320400000000 /* Base */, + 25889F7CCF6C202B00000000 /* Base */, ); name = One.storyboard; sourceTree = ""; @@ -612,10 +612,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -655,7 +653,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests"; @@ -710,14 +708,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -745,7 +741,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ApplicationLibrary_5E9B8EB0_ios_min10.0; @@ -757,9 +753,9 @@ 0207AA2838C3D90E00000005 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_EXECUTION_ROOT)/relative/Library/include/path "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_Library_744889E2_ios_min10.0; @@ -776,7 +772,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests"; @@ -831,14 +827,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -866,7 +860,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_ApplicationLibrary_5E9B8EB0_ios_min10.0; @@ -878,9 +872,9 @@ 0207AA28616216BF00000005 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_PREFIX_HEADER = "$(TULSI_EXECUTION_ROOT)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; + GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch"; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_EXECUTION_ROOT)/relative/Library/include/path "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1"; PRODUCT_NAME = _idx_Library_744889E2_ios_min10.0; @@ -976,10 +970,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SimpleProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj index f9423151..e8d90795 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D174E047500000000 /* src.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C174E047500000000 /* src.m */; }; + 952C886DEDCF2DAE00000000 /* src.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CEDCF2DAE00000000 /* src.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -20,15 +20,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C174E047500000000 /* src.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src.m; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSLibrary/srcs/src.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C37D91EBF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSExtension/Info.plist"; sourceTree = ""; }; 25889F7C48DB2D6200000000 /* tvOSExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = tvOSExtension.appex; path = tvOSExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C4A0F121D00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSApplication/Info.plist"; sourceTree = ""; }; 25889F7C5837CF4400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_tvos_project/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C7F65FCF700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSApplication/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C846EA2E600000000 /* lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a; path = lib_idx_tvOSLibrary_4AB12B40_tvos_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C9D3CA8C400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CBBF8F11400000000 /* tvOSApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = tvOSApplication.app; path = tvOSApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CBF403E7A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_tvos_project/tvOSExtension/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CDAF45CAB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SkylarkBundlingProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CD78F682300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSExtension-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CEDCF2DAE00000000 /* src.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src.m; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSLibrary/srcs/src.m"; sourceTree = ""; }; + 25889F7CFE74A21000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSApplication-intermediates/Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -74,7 +74,7 @@ 45D056292F90A87300000000 /* tvOSExtension */ = { isa = PBXGroup; children = ( - 25889F7CBF403E7A00000000 /* Info.plist */, + 25889F7C37D91EBF00000000 /* Info.plist */, ); name = tvOSExtension; sourceTree = ""; @@ -98,7 +98,7 @@ 45D05629372B05BE00000000 /* tvOSApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C9D3CA8C400000000 /* Info.plist */, + 25889F7CFE74A21000000000 /* Info.plist */, ); name = "tvOSApplication-intermediates"; sourceTree = ""; @@ -106,7 +106,7 @@ 45D05629425A73C800000000 /* tvOSExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CDAF45CAB00000000 /* Info.plist */, + 25889F7CD78F682300000000 /* Info.plist */, ); name = "tvOSExtension-intermediates"; sourceTree = ""; @@ -122,7 +122,7 @@ 45D05629AC3D7ED000000000 /* tvOSApplication */ = { isa = PBXGroup; children = ( - 25889F7C7F65FCF700000000 /* Info.plist */, + 25889F7C4A0F121D00000000 /* Info.plist */, ); name = tvOSApplication; sourceTree = ""; @@ -148,7 +148,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C174E047500000000 /* src.m */, + 25889F7CEDCF2DAE00000000 /* src.m */, ); name = srcs; sourceTree = ""; @@ -285,7 +285,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D174E047500000000 /* src.m in srcs */, + 952C886DEDCF2DAE00000000 /* src.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -333,10 +333,8 @@ SDKROOT = appletvos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -418,14 +416,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = appletvos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -437,7 +433,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_tvOSLibrary_4AB12B40_tvos_min10.0; SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 10.0; @@ -504,14 +500,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = appletvos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -523,7 +517,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_tvOSLibrary_4AB12B40_tvos_min10.0; SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 10.0; @@ -599,10 +593,8 @@ SDKROOT = appletvos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SkylarkBundlingProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj index 74abb257..d1be4aa9 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D2F4161CE00000000 /* c.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F4161CE00000000 /* c.swift */; }; - 952C886D771DF59700000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C771DF59700000000 /* b.swift */; }; - 952C886D8291613A00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C8291613A00000000 /* a.swift */; }; - 952C886D8E0BD87B00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C8E0BD87B00000000 /* b.swift */; }; - 952C886DAB5E399B00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CAB5E399B00000000 /* a.swift */; }; - 952C886DC30E4A2200000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC30E4A2200000000 /* a.swift */; }; - 952C886DC680F8C400000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC680F8C400000000 /* b.swift */; }; + 952C886D2F678D0900000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F678D0900000000 /* b.swift */; }; + 952C886D3887B3BE00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3887B3BE00000000 /* b.swift */; }; + 952C886D4C13D11700000000 /* c.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C4C13D11700000000 /* c.swift */; }; + 952C886D721A835100000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C721A835100000000 /* b.swift */; }; + 952C886D7EE3C1D900000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C7EE3C1D900000000 /* a.swift */; }; + 952C886D96574DF200000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C96574DF200000000 /* a.swift */; }; + 952C886D9937DBCA00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9937DBCA00000000 /* a.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,21 +32,21 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C2F4161CE00000000 /* c.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = c.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SubSwiftLibrary/srcs/c.swift"; sourceTree = SOURCE_ROOT; }; - 25889F7C771DF59700000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; - 25889F7C8291613A00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7C2F678D0900000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = ""; }; + 25889F7C3887B3BE00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = ""; }; + 25889F7C4C13D11700000000 /* c.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = c.swift; path = "tulsi-workspace/tulsi_e2e_swift/SubSwiftLibrary/srcs/c.swift"; sourceTree = ""; }; + 25889F7C71B5994C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_swift/Application-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C721A835100000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = ""; }; + 25889F7C7EE3C1D900000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = ""; }; 25889F7C85BADF0E00000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; path = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C889EFE9900000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_swift/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; 25889F7C8A02DDE400000000 /* _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework; path = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C8E0BD87B00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; + 25889F7C92490AD400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_swift/Info.plist"; sourceTree = ""; }; + 25889F7C96574DF200000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = ""; }; + 25889F7C9937DBCA00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = ""; }; 25889F7CAAC072EA00000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; path = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CAAD5E37A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_swift/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CAB5E399B00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; - 25889F7CC30E4A2200000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = SOURCE_ROOT; }; - 25889F7CC680F8C400000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = SOURCE_ROOT; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CD678C71C00000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; path = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CFD30C2C500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "SwiftProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_swift/Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -129,7 +129,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CAAD5E37A00000000 /* Info.plist */, + 25889F7C71B5994C00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -148,7 +148,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C2F4161CE00000000 /* c.swift */, + 25889F7C4C13D11700000000 /* c.swift */, ); name = srcs; sourceTree = ""; @@ -156,8 +156,8 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CAB5E399B00000000 /* a.swift */, - 25889F7C771DF59700000000 /* b.swift */, + 25889F7C96574DF200000000 /* a.swift */, + 25889F7C3887B3BE00000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -165,8 +165,8 @@ 45D05629CC62AD9600000002 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CC30E4A2200000000 /* a.swift */, - 25889F7C8E0BD87B00000000 /* b.swift */, + 25889F7C9937DBCA00000000 /* a.swift */, + 25889F7C721A835100000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -174,8 +174,8 @@ 45D05629CC62AD9600000003 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C8291613A00000000 /* a.swift */, - 25889F7CC680F8C400000000 /* b.swift */, + 25889F7C7EE3C1D900000000 /* a.swift */, + 25889F7C2F678D0900000000 /* b.swift */, ); name = srcs; sourceTree = ""; @@ -192,7 +192,7 @@ isa = PBXGroup; children = ( 25889F7C889EFE9900000000 /* BUILD */, - 25889F7CFD30C2C500000000 /* Info.plist */, + 25889F7C92490AD400000000 /* Info.plist */, 45D0562939DF9C9F00000000 /* SubSwiftLibrary */, 45D0562973F84CD700000000 /* SwiftLibrary */, 45D056294538659E00000000 /* SwiftLibraryV3 */, @@ -353,7 +353,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D2F4161CE00000000 /* c.swift in srcs */, + 952C886D4C13D11700000000 /* c.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -361,8 +361,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DC30E4A2200000000 /* a.swift in srcs */, - 952C886D8E0BD87B00000000 /* b.swift in srcs */, + 952C886D9937DBCA00000000 /* a.swift in srcs */, + 952C886D721A835100000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,8 +370,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D8291613A00000000 /* a.swift in srcs */, - 952C886DC680F8C400000000 /* b.swift in srcs */, + 952C886D7EE3C1D900000000 /* a.swift in srcs */, + 952C886D2F678D0900000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -379,8 +379,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DAB5E399B00000000 /* a.swift in srcs */, - 952C886D771DF59700000000 /* b.swift in srcs */, + 952C886D96574DF200000000 /* a.swift in srcs */, + 952C886D3887B3BE00000000 /* b.swift in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -433,10 +433,8 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -493,15 +491,13 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -529,13 +525,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DSUB_LIBRARY_DEFINE"; OTHER_SWIFT_FLAGS = "$(inherited) -DSUB_LIBRARY_DEFINE"; PRODUCT_NAME = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -543,13 +539,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V3"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3"; PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -557,13 +553,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V4"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4"; PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -571,13 +567,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE -DSUB_LIBRARY_DEFINE"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Debug; }; @@ -606,15 +602,13 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -642,13 +636,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DSUB_LIBRARY_DEFINE"; OTHER_SWIFT_FLAGS = "$(inherited) -DSUB_LIBRARY_DEFINE"; PRODUCT_NAME = _idx_SubSwiftLibrary_1CB322B5_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -656,13 +650,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V3"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3"; PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -670,13 +664,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE_V4"; OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4"; PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -684,13 +678,13 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; OTHER_CFLAGS = "-DLIBRARY_DEFINE -DSUB_LIBRARY_DEFINE"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.swift.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE"; PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0; SDKROOT = iphoneos; - SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; + SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_swift"; }; name = Release; }; @@ -729,10 +723,8 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; SWIFT_VERSION = 4; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = SwiftProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj index 366f338d..4d158b96 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D4987C55700000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C4987C55700000000 /* XCTest.m */; }; - 952C886D661AD82A00000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C661AD82A00000000 /* XCTest.m */; }; - 952C886D83067C0F00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C83067C0F00000000 /* XCTest.m */; }; - 952C886DB43102EC00000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CB43102EC00000000 /* LogicTest.m */; }; - 952C886DC859951600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CC859951600000000 /* main.m */; }; + 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; + 952C886D5D1BD9FD00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C5D1BD9FD00000000 /* XCTest.m */; }; + 952C886D96D67B6F00000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C96D67B6F00000000 /* XCTest.m */; }; + 952C886D9F3B3D3900000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C9F3B3D3900000000 /* LogicTest.m */; }; + 952C886DA25B0A0200000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CA25B0A0200000000 /* XCTest.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,24 +32,24 @@ /* Begin PBXFileReference section */ 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C2E28BE8E00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C32811BB200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/One/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C4987C55700000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/XCTest.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; 25889F7C516E750000000000 /* Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Two-XCTest.xctest"; path = "Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C5417796100000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C574E98E200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C5801CD8000000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C5D1BD9FD00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = ""; }; + 25889F7C5D33246900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/LogicTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C5F8D5C0800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/One/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C661AD82A00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/One/XCTest.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C6AECD35B00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C7D90560D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C83067C0F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Two/XCTest.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C96D67B6F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = ""; }; + 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; + 25889F7C9F3B3D3900000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = ""; }; 25889F7CA014E18400000000 /* One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "One-XCTest.xctest"; path = "One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CA25B0A0200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = ""; }; 25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CB2E3D3A200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/One/LogicTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CB43102EC00000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/One/LogicTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CC859951600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CCFF620F800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteExplicitXCTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CBA3A60B600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CC44C976600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CF16496E600000000 /* Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Three-XCTest.xctest"; path = "Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -70,7 +70,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C5417796100000000 /* Info.plist */, + 25889F7C9BDE3CEF00000000 /* Info.plist */, 45D05629D43882ED00000001 /* One */, 45D0562978986CA000000001 /* Three */, 45D056290913F81B00000001 /* Two */, @@ -90,7 +90,7 @@ isa = PBXGroup; children = ( 25889F7C2E28BE8E00000000 /* BUILD */, - 25889F7C83067C0F00000000 /* XCTest.m */, + 25889F7C5D1BD9FD00000000 /* XCTest.m */, ); name = Two; sourceTree = ""; @@ -98,7 +98,7 @@ 45D056290F1598EF00000000 /* LogicTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CB2E3D3A200000000 /* Info.plist */, + 25889F7C5D33246900000000 /* Info.plist */, ); name = "LogicTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -106,7 +106,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C6AECD35B00000000 /* Info.plist */, + 25889F7CDF260A6500000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -161,7 +161,7 @@ isa = PBXGroup; children = ( 25889F7CADBB0ACA00000000 /* BUILD */, - 25889F7C4987C55700000000 /* XCTest.m */, + 25889F7C96D67B6F00000000 /* XCTest.m */, ); name = Three; sourceTree = ""; @@ -195,7 +195,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CC859951600000000 /* main.m */, + 25889F7C35F4A86400000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -213,8 +213,8 @@ isa = PBXGroup; children = ( 25889F7C5F8D5C0800000000 /* BUILD */, - 25889F7CB43102EC00000000 /* LogicTest.m */, - 25889F7C661AD82A00000000 /* XCTest.m */, + 25889F7C9F3B3D3900000000 /* LogicTest.m */, + 25889F7CA25B0A0200000000 /* XCTest.m */, ); name = One; sourceTree = ""; @@ -222,7 +222,7 @@ 45D05629F281D9F700000000 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C32811BB200000000 /* Info.plist */, + 25889F7CBA3A60B600000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -230,7 +230,7 @@ 45D05629F281D9F700000001 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CCFF620F800000000 /* Info.plist */, + 25889F7C574E98E200000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -238,7 +238,7 @@ 45D05629F281D9F700000002 /* XCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C7D90560D00000000 /* Info.plist */, + 25889F7CC44C976600000000 /* Info.plist */, ); name = "XCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -549,7 +549,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D4987C55700000000 /* XCTest.m in Three */, + 952C886D96D67B6F00000000 /* XCTest.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -557,7 +557,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D661AD82A00000000 /* XCTest.m in One */, + 952C886DA25B0A0200000000 /* XCTest.m in One */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -565,7 +565,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D83067C0F00000000 /* XCTest.m in Two */, + 952C886D5D1BD9FD00000000 /* XCTest.m in Two */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -573,7 +573,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DB43102EC00000000 /* LogicTest.m in One */, + 952C886D9F3B3D3900000000 /* LogicTest.m in One */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -581,7 +581,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DC859951600000000 /* main.m in srcs */, + 952C886D35F4A86400000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -742,10 +742,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -786,7 +784,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -824,7 +822,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -845,7 +843,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -883,14 +881,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -904,7 +900,7 @@ BAZEL_TARGET = "//TestSuite/One:LogicTest"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests; @@ -920,7 +916,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -936,7 +932,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -974,7 +970,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -995,7 +991,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -1033,14 +1029,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -1054,7 +1048,7 @@ BAZEL_TARGET = "//TestSuite/One:LogicTest"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests; @@ -1070,7 +1064,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -1221,10 +1215,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteExplicitXCTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj index 35f789be..95c4c8f7 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D12D28F0B00000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */; }; - 952C886D600243E000000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C600243E000000000 /* main.m */; }; + 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; + 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C6518C99300000000 /* TestSuiteXCTest.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,15 +27,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = SOURCE_ROOT; }; 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C4B620CEF00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C600243E000000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C77164C0A00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C8B08BD5A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteLocalTaggedTestsProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; + 25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = ""; }; 25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C8EF3881F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -53,7 +53,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C77164C0A00000000 /* Info.plist */, + 25889F7C9BDE3CEF00000000 /* Info.plist */, 45D0562906FE71CF00000002 /* TestSuite */, ); name = TestSuite; @@ -62,7 +62,7 @@ 45D0562906FE71CF00000002 /* TestSuite */ = { isa = PBXGroup; children = ( - 25889F7C12D28F0B00000000 /* TestSuiteXCTest.m */, + 25889F7C6518C99300000000 /* TestSuiteXCTest.m */, ); name = TestSuite; sourceTree = ""; @@ -70,7 +70,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C4B620CEF00000000 /* Info.plist */, + 25889F7CDF260A6500000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -131,7 +131,7 @@ 45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8B08BD5A00000000 /* Info.plist */, + 25889F7C8EF3881F00000000 /* Info.plist */, ); name = "TestSuiteXCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -147,7 +147,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C600243E000000000 /* main.m */, + 25889F7C35F4A86400000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -306,7 +306,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D12D28F0B00000000 /* TestSuiteXCTest.m in TestSuite */, + 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -314,7 +314,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D600243E000000000 /* main.m in srcs */, + 952C886D35F4A86400000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -419,10 +419,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -437,7 +435,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -492,14 +490,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -510,7 +506,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -526,7 +522,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -581,14 +577,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -599,7 +593,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -694,10 +688,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteLocalTaggedTestsProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj index 8e67e49d..7007ec73 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 952C886D01C2CD4800000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */; }; - 952C886D52849A8300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C52849A8300000000 /* TestSuiteXCTest.m */; }; - 952C886D7498207500000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C7498207500000000 /* tagged_xctest_2.m */; }; - 952C886D9C44F01B00000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9C44F01B00000000 /* main.m */; }; + 952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; }; + 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C6518C99300000000 /* TestSuiteXCTest.m */; }; + 952C886D66D4941800000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C66D4941800000000 /* tagged_xctest_2.m */; }; + 952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -29,29 +29,29 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/tagged_xctest_1.m"; sourceTree = SOURCE_ROOT; }; 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C3011578800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7C52849A8300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C740EA12000000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C7498207500000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Three/tagged_xctest_2.m"; sourceTree = SOURCE_ROOT; }; - 25889F7C8ABF500100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = ""; }; + 25889F7C4273558500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = ""; }; + 25889F7C66D4941800000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_2.m"; sourceTree = ""; }; + 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_1.m"; sourceTree = ""; }; 25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_1.xctest; path = tagged_xctest_1.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C8EF3881F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C9402028700000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_2.xctest; path = tagged_xctest_2.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C9C44F01B00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/TestSuite/Application/srcs/main.m"; sourceTree = SOURCE_ROOT; }; + 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = ""; }; 25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CB79A166100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CE48AB56300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "TestSuiteRecursiveTestSuiteProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ 45D0562904015BAC00000000 /* tagged_xctest_1.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CB79A166100000000 /* Info.plist */, + 25889F7C4273558500000000 /* Info.plist */, ); name = "tagged_xctest_1.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -71,7 +71,7 @@ children = ( 45D0562933ECA2A800000000 /* Application */, 25889F7C35687C6800000000 /* BUILD */, - 25889F7C740EA12000000000 /* Info.plist */, + 25889F7C9BDE3CEF00000000 /* Info.plist */, 45D0562906FE71CF00000002 /* TestSuite */, 45D0562978986CA000000001 /* Three */, ); @@ -81,7 +81,7 @@ 45D0562906FE71CF00000002 /* TestSuite */ = { isa = PBXGroup; children = ( - 25889F7C52849A8300000000 /* TestSuiteXCTest.m */, + 25889F7C6518C99300000000 /* TestSuiteXCTest.m */, ); name = TestSuite; sourceTree = ""; @@ -89,7 +89,7 @@ 45D05629143ABA8700000000 /* TestApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C3011578800000000 /* Info.plist */, + 25889F7CDF260A6500000000 /* Info.plist */, ); name = "TestApplication-intermediates"; sourceTree = ""; @@ -144,8 +144,8 @@ isa = PBXGroup; children = ( 25889F7CADBB0ACA00000000 /* BUILD */, - 25889F7C01C2CD4800000000 /* tagged_xctest_1.m */, - 25889F7C7498207500000000 /* tagged_xctest_2.m */, + 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */, + 25889F7C66D4941800000000 /* tagged_xctest_2.m */, ); name = Three; sourceTree = ""; @@ -161,7 +161,7 @@ 45D05629AC87744D00000000 /* tagged_xctest_2.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C8ABF500100000000 /* Info.plist */, + 25889F7C9402028700000000 /* Info.plist */, ); name = "tagged_xctest_2.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -179,7 +179,7 @@ 45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */ = { isa = PBXGroup; children = ( - 25889F7CE48AB56300000000 /* Info.plist */, + 25889F7C8EF3881F00000000 /* Info.plist */, ); name = "TestSuiteXCTest.__internal__.__test_bundle-intermediates"; sourceTree = ""; @@ -195,7 +195,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7C9C44F01B00000000 /* main.m */, + 25889F7C35F4A86400000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -458,7 +458,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D7498207500000000 /* tagged_xctest_2.m in Three */, + 952C886D66D4941800000000 /* tagged_xctest_2.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -466,7 +466,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D01C2CD4800000000 /* tagged_xctest_1.m in Three */, + 952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -474,7 +474,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D52849A8300000000 /* TestSuiteXCTest.m in TestSuite */, + 952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -482,7 +482,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D9C44F01B00000000 /* main.m in srcs */, + 952C886D35F4A86400000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -643,10 +643,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -661,7 +659,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -699,7 +697,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -720,7 +718,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -758,14 +756,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -776,7 +772,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -792,7 +788,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -830,7 +826,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -851,7 +847,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; @@ -889,14 +885,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -907,7 +901,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0; SDKROOT = iphoneos; @@ -1058,10 +1052,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj index 738519eb..7826affc 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 952C886DDFF9E56300000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CDFF9E56300000000 /* main.m */; }; - 952C886DFDFAAD9800000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */; }; + 952C886D295E8D8E00000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */; }; + 952C886D9FFA61B100000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9FFA61B100000000 /* main.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,24 +27,24 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C0445906000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchApplication-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C0627242400000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; 25889F7C0C556C9200000000 /* lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a; path = lib_idx_ApplicationLibrary_B45268BB_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C0E6614C000000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = ""; }; + 25889F7C11BBAF6C00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Application/Info.plist"; sourceTree = ""; }; + 25889F7C1CA7A4F200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchApplication-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7C1CE4D8AB00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchExtension-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C209FA0FE00000000 /* WatchExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = WatchExtension.appex; path = WatchExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C294B272800000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = SOURCE_ROOT; }; - 25889F7C339161CD00000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = SOURCE_ROOT; }; - 25889F7C369EB1A400000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = SOURCE_ROOT; }; + 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "tulsi-workspace/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = ""; }; + 25889F7C35DA0F1D00000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = ""; }; 25889F7C4DAFC77200000000 /* WatchApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = WatchApplication.app; path = WatchApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C57FDF36800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Application/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C69FDDDAB00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = ""; }; + 25889F7C6CA77FEE00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = ""; }; 25889F7C6EE78B0C00000000 /* lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a; path = lib_idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C71E0CE2500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Application-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7C77AC5BF100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/tulsi_e2e_watch/WatchExtension-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7C97FBB66F00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = ""; }; + 25889F7C9FFA61B100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = ""; }; + 25889F7CAC45F02F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Application-intermediates/Info.plist"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7CDFF9E56300000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = SOURCE_ROOT; }; - 25889F7CE4A35BDF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; + 25889F7CE643C43000000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = ""; }; 25889F7CEB058C2A00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_watch/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; - 25889F7CFBB58FAD00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = SOURCE_ROOT; }; - 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "WatchProject.xcodeproj/.tulsi/tulsi-execution-root/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -63,7 +63,7 @@ 45D056291F7B9D7400000000 /* ext_infoplists */ = { isa = PBXGroup; children = ( - 25889F7CE4A35BDF00000000 /* Info.plist */, + 25889F7C69FDDDAB00000000 /* Info.plist */, ); name = ext_infoplists; sourceTree = ""; @@ -71,8 +71,8 @@ 45D0562933ECA2A800000000 /* Application */ = { isa = PBXGroup; children = ( - 25889F7C57FDF36800000000 /* Info.plist */, - 25889F7C294B272800000000 /* entitlements.entitlements */, + 25889F7C11BBAF6C00000000 /* Info.plist */, + 25889F7C6CA77FEE00000000 /* entitlements.entitlements */, ); name = Application; sourceTree = ""; @@ -96,7 +96,7 @@ 45D0562942A1278900000000 /* WatchExtension-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C77AC5BF100000000 /* Info.plist */, + 25889F7C1CE4D8AB00000000 /* Info.plist */, ); name = "WatchExtension-intermediates"; sourceTree = ""; @@ -112,7 +112,7 @@ 45D05629503AFC9300000000 /* WatchApplication-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C0445906000000000 /* Info.plist */, + 25889F7C1CA7A4F200000000 /* Info.plist */, ); name = "WatchApplication-intermediates"; sourceTree = ""; @@ -128,11 +128,11 @@ 45D056296F53D75600000000 /* Watch2Extension */ = { isa = PBXGroup; children = ( - 25889F7C339161CD00000000 /* Interface.storyboard */, + 25889F7CE643C43000000000 /* Interface.storyboard */, 45D0562972177E7200000000 /* app_infoplists */, - 25889F7C0627242400000000 /* ext_entitlements.entitlements */, + 25889F7C35DA0F1D00000000 /* ext_entitlements.entitlements */, 45D056291F7B9D7400000000 /* ext_infoplists */, - 25889F7C369EB1A400000000 /* ext_resources.file */, + 25889F7C0E6614C000000000 /* ext_resources.file */, ); name = Watch2Extension; sourceTree = ""; @@ -140,7 +140,7 @@ 45D0562972177E7200000000 /* app_infoplists */ = { isa = PBXGroup; children = ( - 25889F7CFBB58FAD00000000 /* Info.plist */, + 25889F7C97FBB66F00000000 /* Info.plist */, ); name = app_infoplists; sourceTree = ""; @@ -188,7 +188,7 @@ 45D05629BBA58A3000000000 /* Application-intermediates */ = { isa = PBXGroup; children = ( - 25889F7C71E0CE2500000000 /* Info.plist */, + 25889F7CAC45F02F00000000 /* Info.plist */, ); name = "Application-intermediates"; sourceTree = ""; @@ -205,7 +205,7 @@ 45D05629CC62AD9600000000 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CDFF9E56300000000 /* main.m */, + 25889F7C9FFA61B100000000 /* main.m */, ); name = srcs; sourceTree = ""; @@ -213,7 +213,7 @@ 45D05629CC62AD9600000001 /* srcs */ = { isa = PBXGroup; children = ( - 25889F7CFDFAAD9800000000 /* watch2_extension_binary.m */, + 25889F7C295E8D8E00000000 /* watch2_extension_binary.m */, ); name = srcs; sourceTree = ""; @@ -400,7 +400,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DDFF9E56300000000 /* main.m in srcs */, + 952C886D9FFA61B100000000 /* main.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -408,7 +408,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DFDFAAD9800000000 /* watch2_extension_binary.m in srcs */, + 952C886D295E8D8E00000000 /* watch2_extension_binary.m in srcs */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -460,10 +460,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -570,14 +568,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -639,7 +635,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_B45268BB_ios_min10.0; SDKROOT = iphoneos; @@ -651,7 +647,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0; SDKROOT = watchos; USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; @@ -684,14 +680,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x"; + HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; SDKROOT = iphoneos; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; @@ -753,7 +747,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_NAME = _idx_ApplicationLibrary_B45268BB_ios_min10.0; SDKROOT = iphoneos; @@ -765,7 +759,7 @@ isa = XCBuildConfiguration; buildSettings = { GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ "; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; PRODUCT_NAME = _idx_WatchExtensionLibrary_2A5269B8_watchos_min3.0; SDKROOT = watchos; USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; @@ -807,10 +801,8 @@ SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; - TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root"; + TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; - TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base"; TULSI_PROJECT = WatchProject; TULSI_VERSION = 9.99.999.9999; TULSI_WR = "${SRCROOT}/.."; diff --git a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift index 47d218ef..9f7cf8e6 100644 --- a/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift +++ b/src/TulsiGeneratorTests/BazelSettingsProviderTests.swift @@ -19,7 +19,6 @@ import XCTest class BazelSettingsProviderTests: XCTestCase { let bazel = "/path/to/bazel" let bazelExecRoot = "__MOCK_EXEC_ROOT__" - let bazelOutputBase = "__MOCK_OUTPUT_BASE__" let features = Set() let buildRuleEntries = Set() let bazelSettingsProvider = BazelSettingsProvider(universalFlags: BazelFlags()) @@ -29,7 +28,6 @@ class BazelSettingsProviderTests: XCTestCase { let settings = bazelSettingsProvider.buildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, - bazelOutputBase: bazelOutputBase, options: options, features: features, buildRuleEntries: buildRuleEntries) diff --git a/src/TulsiGeneratorTests/BuildSettingsTests.swift b/src/TulsiGeneratorTests/BuildSettingsTests.swift index f07319d4..94e6af1c 100644 --- a/src/TulsiGeneratorTests/BuildSettingsTests.swift +++ b/src/TulsiGeneratorTests/BuildSettingsTests.swift @@ -130,7 +130,6 @@ BazelFlagsSet( func testBazelBuildSettingsPythonable() { let bazel = "/path/to/bazel" let bazelExecRoot = "__MOCK_EXEC_ROOT__" - let bazelOutputBase = "__MOCK_OUTPUT_BASE__" let defaultIdentifier = "fake_config" let platformConfigurationFlags = [ "fake_config": ["a", "b"], @@ -158,7 +157,6 @@ BazelFlagsSet( let settings = BazelBuildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, - bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: defaultIdentifier, platformConfigurationFlags: platformConfigurationFlags, swiftTargets: swiftTargets, @@ -176,7 +174,6 @@ BazelFlagsSet( BazelBuildSettings( '\(bazel)', '\(bazelExecRoot)', - '\(bazelOutputBase)', '\(defaultIdentifier)', \(platformConfigurationFlags.toPython(" ")), \(swiftTargets.toPython(" ")), diff --git a/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift b/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift index 89ca01d1..40041f62 100644 --- a/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift +++ b/src/TulsiGeneratorTests/MockWorkspaceInfoExtractor.swift @@ -33,7 +33,6 @@ class MockBazelSettingsProvider: BazelSettingsProviderProtocol { func buildSettings( bazel: String, bazelExecRoot: String, - bazelOutputBase: String, options: TulsiOptionSet, features: Set, buildRuleEntries: Set @@ -41,7 +40,6 @@ class MockBazelSettingsProvider: BazelSettingsProviderProtocol { return BazelBuildSettings( bazel: bazel, bazelExecRoot: bazelExecRoot, - bazelOutputBase: bazelOutputBase, defaultPlatformConfigIdentifier: "", platformConfigurationFlags: nil, swiftTargets: [], @@ -70,8 +68,6 @@ class MockWorkspaceInfoExtractor: BazelWorkspaceInfoExtractorProtocol { var bazelBinPath = "bazel-bin" var bazelExecutionRoot = "/private/var/tmp/_bazel_localhost/1234567890abcdef1234567890abcdef/execroot/workspace_dir" - var bazelOutputBase - = "/private/var/tmp/_bazel_localhost/1234567890abcdef1234567890abcdef" var workspaceRootURL = URL(fileURLWithPath: "") func extractRuleInfoFromProject(_ project: TulsiProject) -> [RuleInfo] { diff --git a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift index 355c77ea..6aa40316 100644 --- a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift +++ b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift @@ -263,15 +263,13 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { "GCC_WARN_UNINITIALIZED_AUTOS": "YES", "GCC_WARN_UNUSED_FUNCTION": "YES", "GCC_WARN_UNUSED_VARIABLE": "YES", - "HEADER_SEARCH_PATHS": "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " - + "$(TULSI_EXECUTION_ROOT)/\(PBXTargetGenerator.tulsiIncludesPath)", + "HEADER_SEARCH_PATHS": "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " + + "$(TULSI_BWRS)/\(PBXTargetGenerator.tulsiIncludesPath)", "ONLY_ACTIVE_ARCH": "YES", "PYTHONIOENCODING": "utf8", "TULSI_VERSION": testTulsiVersion, - PBXTargetGenerator.WorkspaceRootVarName: "$(SRCROOT)", - PBXTargetGenerator.BazelExecutionRootSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, - PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, - PBXTargetGenerator.BazelOutputBaseSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiOutputBaseSymlinkPath, + "TULSI_WR": "$(SRCROOT)", + "TULSI_BWRS": "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace", ] XCTAssertNotNil(topLevelConfigs["Debug"]) @@ -321,16 +319,14 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { "GCC_WARN_UNINITIALIZED_AUTOS": "YES", "GCC_WARN_UNUSED_FUNCTION": "YES", "GCC_WARN_UNUSED_VARIABLE": "YES", - "HEADER_SEARCH_PATHS": "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " - + "$(TULSI_EXECUTION_ROOT)/\(PBXTargetGenerator.tulsiIncludesPath)", + "HEADER_SEARCH_PATHS": "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles " + + "$(TULSI_BWRS)/\(PBXTargetGenerator.tulsiIncludesPath)", "SDKROOT": projectSDKROOT, "ONLY_ACTIVE_ARCH": "YES", "PYTHONIOENCODING": "utf8", "TULSI_VERSION": testTulsiVersion, - PBXTargetGenerator.WorkspaceRootVarName: "$(SRCROOT)", - PBXTargetGenerator.BazelExecutionRootSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, - PBXTargetGenerator.BazelExecutionRootSymlinkLegacyVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiExecutionRootSymlinkPath, - PBXTargetGenerator.BazelOutputBaseSymlinkVarName: "$(PROJECT_FILE_PATH)/" + PBXTargetGenerator.TulsiOutputBaseSymlinkPath, + "TULSI_WR": "$(SRCROOT)", + "TULSI_BWRS": "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace", ] XCTAssertNotNil(topLevelConfigs["Debug"]) @@ -2591,7 +2587,7 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { validateIndexerTarget( indexerTargetName, sourceFileNames: sourceFileNames, - bridgingHeader: "$(TULSI_EXECUTION_ROOT)/\(bridgingHeaderFilePath)", + bridgingHeader: "$(TULSI_BWRS)/\(bridgingHeaderFilePath)", inTargets: targets) } @@ -3496,7 +3492,7 @@ class PBXTargetGeneratorTestsWithFiles: XCTestCase { expectedBuildSettings["USER_HEADER_SEARCH_PATHS"] = "$(TULSI_WR)" } if let pchFile = pchFile { - expectedBuildSettings["GCC_PREFIX_HEADER"] = "$(TULSI_EXECUTION_ROOT)/\(pchFile.path!)" + expectedBuildSettings["GCC_PREFIX_HEADER"] = "$(TULSI_BWRS)/\(pchFile.path!)" } if let bridgingHeader = bridgingHeader { expectedBuildSettings["SWIFT_OBJC_BRIDGING_HEADER"] = bridgingHeader diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift index 9c1234aa..0241166a 100644 --- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift +++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift @@ -388,14 +388,8 @@ class XcodeProjectGeneratorTests: XCTestCase { let projectURL = URL(fileURLWithPath: xcodeProjectPath, isDirectory: true) mockFileManager.allowedDirectoryCreates.insert(projectURL.path) - let tulsiExecRoot = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiExecutionRootSymlinkPath) - mockFileManager.allowedDirectoryCreates.insert(tulsiExecRoot.path) - - let tulsiLegacyExecRoot = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiExecutionRootSymlinkLegacyPath) - mockFileManager.allowedDirectoryCreates.insert(tulsiLegacyExecRoot.path) - - let tulsiOutputBase = projectURL.appendingPathComponent(PBXTargetGenerator.TulsiOutputBaseSymlinkPath) - mockFileManager.allowedDirectoryCreates.insert(tulsiOutputBase.path) + let tulsiworkspace = projectURL.appendingPathComponent("tulsi-workspace") + mockFileManager.allowedDirectoryCreates.insert(tulsiworkspace.path) let bazelCacheReaderURL = mockFileManager.homeDirectoryForCurrentUser.appendingPathComponent( "Library/Application Support/Tulsi/Scripts", isDirectory: true) @@ -445,7 +439,7 @@ class XcodeProjectGeneratorTests: XCTestCase { tulsiVersion: testTulsiVersion, fileManager: mockFileManager, pbxTargetGeneratorType: MockPBXTargetGenerator.self) - generator.redactSymlinksToBazelOutput = true + generator.redactWorkspaceSymlink = true generator.suppressModifyingUserDefaults = true generator.suppressGeneratingBuildSettings = true generator.writeDataHandler = { (url, _) in @@ -586,7 +580,8 @@ final class MockPBXTargetGenerator: PBXTargetGeneratorProtocol { options: TulsiOptionSet, localizedMessageLogger: LocalizedMessageLogger, workspaceRootURL: URL, - suppressCompilerDefines: Bool + suppressCompilerDefines: Bool, + redactWorkspaceSymlink: Bool ) { self.project = project } From ea2d59e0f82390edbedd709e1816a80ed84f50ad Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Fri, 11 Jun 2021 20:18:56 +0000 Subject: [PATCH 16/48] Prevent a crash in lldb-rpc-server that can occur after migrating a rule in the build graph to use Swift explicit modules. - Updates the Tulsi outputs aspect to output the Swift explicit modules generated from a build. - Bundles the module cache pruning tool with the Tulsi app bundle and installs it to the same location as the bazel_cache_reader. - Runs the module cache pruning tool after each Tulsi build, providing the output from the aspect, to prevent lldb from loading the outdated implicit module. PiperOrigin-RevId: 378936605 (cherry picked from commit 98d6f255b23e7f14c4e81cbf9b4fe187b12808eb) --- BUILD | 1 + .../Bazel/tulsi/tulsi_aspects.bzl | 51 +++++++++++++++---- src/TulsiGenerator/Scripts/bazel_build.py | 25 +++++++++ .../XcodeProjectGenerator.swift | 46 +++++++++++------ .../en.lproj/Localizable.strings | 3 ++ .../EndToEndIntegrationTestCase.swift | 2 + src/TulsiGeneratorTests/BUILD | 1 + 7 files changed, 104 insertions(+), 25 deletions(-) diff --git a/BUILD b/BUILD index 99635889..5bce6bde 100644 --- a/BUILD +++ b/BUILD @@ -62,6 +62,7 @@ macos_application( name = "tulsi", additional_contents = { "//src/tools/bazel_cache_reader": "MacOS", + "//src/tools/module_cache_pruner": "MacOS", }, app_icons = ["//src/Tulsi:Icon"], bundle_id = "com.google.Tulsi", diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl index e0538ea2..28c8c237 100644 --- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl +++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl @@ -149,7 +149,9 @@ Filtering information for this target. Only for test target, otherwise is None. ) TulsiOutputAspectInfo = provider( + doc = """Provides information about an Apple target's outputs.""", fields = { + "transitive_explicit_modules": "Depset of all explicit modules built by this target.", "transitive_generated_files": "Depset of tulsi generated files.", "transitive_embedded_bundles": "Depset of all bundles embedded into this target.", }, @@ -649,13 +651,31 @@ def _collect_swift_modules(target): if module.swift ] -def _collect_module_maps(target): - """Returns a list of Clang module maps found on the given target.""" - return [ - module.clang.module_map - for module in target[SwiftInfo].transitive_modules.to_list() - if module.clang and type(module.clang.module_map) == "File" - ] +def _collect_clang_modules(target): + """Returns a struct with lists of Clang pcms and module maps found on the given target.""" + if not _is_swift_target(target): + return struct(module_maps = [], precompiled_modules = []) + + module_maps = [] + precompiled_modules = [] + + for module in target[SwiftInfo].transitive_modules.to_list(): + if module.clang == None: + continue + + # Collect precompiled modules + if module.clang.precompiled_module: + precompiled_module = struct( + module = module.clang.precompiled_module, + name = module.name, + ) + precompiled_modules.append(precompiled_module) + + # Collect module maps + if type(module.clang.module_map) == "File": + module_maps.append(module.clang.module_map) + + return struct(module_maps = module_maps, precompiled_modules = precompiled_modules) def _collect_objc_strict_includes(target, rule_attr): """Returns a depset of strict includes found on the deps of given target.""" @@ -753,8 +773,9 @@ def _tulsi_sources_aspect(target, ctx): is_swift_target = _is_swift_target(target) if is_swift_target: + clang_modules = _collect_clang_modules(target) swift_transitive_modules = depset([_file_metadata(f) for f in _collect_swift_modules(target)]) - objc_module_maps = depset([_file_metadata(f) for f in _collect_module_maps(target)]) + objc_module_maps = depset([_file_metadata(f) for f in clang_modules.module_maps]) else: swift_transitive_modules = depset() objc_module_maps = depset() @@ -1092,12 +1113,16 @@ def _tulsi_outputs_aspect(target, ctx): # A list of bundle infos corresponding to the dependencies of this target. direct_embedded_bundles = [] + # A list of all explicit modules that have been built from this targets dependencies. + transitive_explicit_modules = [] + for attr_name in _TULSI_COMPILE_DEPS: deps = _collect_dependencies(rule_attr, attr_name) for dep in deps: if TulsiOutputAspectInfo in dep: transitive_generated_files.append(dep[TulsiOutputAspectInfo].transitive_generated_files) transitive_embedded_bundles.append(dep[TulsiOutputAspectInfo].transitive_embedded_bundles) + transitive_explicit_modules.append(dep[TulsiOutputAspectInfo].transitive_explicit_modules) # Retrieve the bundle info for embeddable attributes. if attr_name not in _TULSI_NON_EMBEDDEDABLE_ATTRS: @@ -1162,10 +1187,11 @@ def _tulsi_outputs_aspect(target, ctx): if cc_info: all_files_depsets.append(cc_info.compilation_context.headers) + clang_modules = _collect_clang_modules(target) if _is_swift_target(target): all_files_depsets.append(_collect_swift_header(target)) all_files_depsets.append(depset(_collect_swift_modules(target))) - all_files_depsets.append(depset(_collect_module_maps(target))) + all_files_depsets.append(depset(clang_modules.module_maps)) source_files = [ x @@ -1187,6 +1213,11 @@ def _tulsi_outputs_aspect(target, ctx): transitive = transitive_generated_files, ) + explicit_modules = depset([ + struct(name = m.name, path = m.module.path) + for m in clang_modules.precompiled_modules + ], transitive = transitive_explicit_modules) + has_dsym = _has_dsym(target) info = _struct_omitting_none( @@ -1197,6 +1228,7 @@ def _tulsi_outputs_aspect(target, ctx): bundle_name = bundle_name, embedded_bundles = embedded_bundles.to_list(), has_dsym = has_dsym, + explicit_modules = explicit_modules.to_list(), ) output = ctx.actions.declare_file(target.label.name + ".tulsiouts") @@ -1205,6 +1237,7 @@ def _tulsi_outputs_aspect(target, ctx): return [ OutputGroupInfo(tulsi_outputs = [output]), TulsiOutputAspectInfo( + transitive_explicit_modules = explicit_modules, transitive_generated_files = generated_files, transitive_embedded_bundles = embedded_bundles, ), diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index be2c87a6..cc4792b4 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -427,6 +427,11 @@ class BazelBuildBridge(object): BUILD_EVENTS_FILE = 'build_events.json' + XCODE_MODULE_CACHE_DIRECTORY = os.path.expanduser( + '~/Library/Developer/Xcode/DerivedData/ModuleCache.noindex') + MODULE_CACHE_PRUNER_EXECUTABLE = os.path.expanduser( + '~/Library/Application Support/Tulsi/Scripts/module_cache_pruner') + def __init__(self, build_settings): self.build_settings = build_settings self.verbose = 0 @@ -651,6 +656,8 @@ def Run(self, args): if exit_code: return exit_code + self._PruneLLDBModuleCache(outputs) + # Starting with Xcode 8, .lldbinit files are honored during Xcode debugging # sessions. This allows use of the target.source-map field to remap the # debug symbol paths encoded in the binary to the paths expected by Xcode. @@ -1470,6 +1477,24 @@ def _ExtractSigningAttribute(self, signed_bundle, attribute): self.codesign_attributes[signed_bundle] = bundle_attributes return bundle_attributes.Get(attribute) + def _PruneLLDBModuleCache(self, output_files): + """Run the module cache pruner tool as a subprocess.""" + if not os.path.exists(BazelBuildBridge.MODULE_CACHE_PRUNER_EXECUTABLE): + _PrintXcodeWarning( + 'Could find module cache pruner executable at %s. ' + 'You may need to manually remove %s if lldb-rpc-server crashes.' % + (BazelBuildBridge.MODULE_CACHE_PRUNER_EXECUTABLE, + BazelBuildBridge.XCODE_MODULE_CACHE_DIRECTORY)) + return + + timer = Timer('Pruning module cache', 'prune_module_cache').Start() + for output_file in output_files: + self._RunSubprocess([ + BazelBuildBridge.MODULE_CACHE_PRUNER_EXECUTABLE, + BazelBuildBridge.XCODE_MODULE_CACHE_DIRECTORY, output_file + ]) + timer.End() + def _UpdateLLDBInit(self, clear_source_map=False): """Updates lldbinit to enable debugging of Bazel binaries.""" diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index 9df39637..8ceee972 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -70,6 +70,7 @@ final class XcodeProjectGenerator { private static let SettingsScript = "bazel_build_settings.py" private static let CleanScript = "bazel_clean.sh" private static let ShellCommandsUtil = "bazel_cache_reader" + private static let ModuleCachePrunerUtil = "module_cache_pruner" private static let ShellCommandsCleanScript = "clean_symbol_cache" private static let LLDBInitBootstrapScript = "bootstrap_lldbinit" private static let CustomLLDBInit = "lldbinit" @@ -113,6 +114,9 @@ final class XcodeProjectGenerator { /// Exposed for testing. Do not attempt to update/install files related to DBGShellCommands. var suppressUpdatingShellCommands = false + /// Exposed for testing. Do not install the module cache pruning tool. + var suppressModuleCachePrunerInstallation = false + /// Exposed for testing. Do not modify user defaults. var suppressModifyingUserDefaults = false @@ -611,6 +615,18 @@ final class XcodeProjectGenerator { bootstrapLLDBInit() } } + + if !suppressModuleCachePrunerInstallation { + do { + _ = try installAuxiliaryExecutable(XcodeProjectGenerator.ModuleCachePrunerUtil) + } catch { + self.localizedMessageLogger.warning("InstallModuleCachePrunerFailed", + comment: LocalizedMessageLogger.bugWorthyComment("Failed to install the module cache pruner executable."), + context: self.config.projectName, + values: "\(error)") + } + } + return GeneratedProjectInfo(project: xcodeProject, buildRuleEntries: targetRules, testSuiteRuleEntries: testSuiteRules, @@ -1112,8 +1128,11 @@ final class XcodeProjectGenerator { } } - /// Copy the bazel_cache_reader to a subfolder in the user's Library, return the absolute path. - private func installShellCommands(atURL supportScriptsAbsoluteURL: URL) throws -> String { + /// Copy an auxiliary executable to a subfolder in the user's Library, return the absolute path. + private func installAuxiliaryExecutable(_ auxiliaryExecutable: String) throws -> String { + // Construct a URL to ~/Library/Application Support/Tulsi/Scripts. + let supportScriptsAbsoluteURL = fileManager.homeDirectoryForCurrentUser.appendingPathComponent( + XcodeProjectGenerator.SupportScriptsPath, isDirectory: true) // Create all intermediate directories if they aren't present. var isDir = ObjCBool(false) @@ -1123,20 +1142,19 @@ final class XcodeProjectGenerator { attributes: nil) } - // Find bazel_cache_reader in Tulsi.app's Utilities folder. + // Find the executable in Tulsi.app's Utilities folder. let bundle = Bundle(for: type(of: self)) - let symbolCacheSourceURL = bundle.url(forAuxiliaryExecutable: XcodeProjectGenerator.ShellCommandsUtil)! + let sourceURL = bundle.url(forAuxiliaryExecutable: auxiliaryExecutable)! - // Copy bazel_cache_reader to ~/Library/Application Support/Tulsi/Scripts - installFiles([(symbolCacheSourceURL, XcodeProjectGenerator.ShellCommandsUtil)], - toDirectory: supportScriptsAbsoluteURL) + // Copy the executable to ~/Library/Application Support/Tulsi/Scripts + installFiles([(sourceURL, auxiliaryExecutable)], toDirectory: supportScriptsAbsoluteURL) - // Return the absolute path to ~/Library/Application Support/Tulsi/Scripts/bazel_cache_reader. - let shellCommandsURL = - supportScriptsAbsoluteURL.appendingPathComponent(XcodeProjectGenerator.ShellCommandsUtil, + // Return the absolute path to the installed executable. + let auxiliaryBinaryURL = + supportScriptsAbsoluteURL.appendingPathComponent(auxiliaryExecutable, isDirectory: false) - return shellCommandsURL.path + return auxiliaryBinaryURL.path } /// Update the global user defaults to reference bazel_cache_reader @@ -1193,12 +1211,8 @@ final class XcodeProjectGenerator { private func updateShellCommands() throws { guard !suppressUpdatingShellCommands else { return } - // Construct a URL to ~/Library/Application Support/Tulsi/Scripts. - let supportScriptsAbsoluteURL = fileManager.homeDirectoryForCurrentUser.appendingPathComponent( - XcodeProjectGenerator.SupportScriptsPath, isDirectory: true) - // Install the latest version of the app to ~/Library/Application Support/Tulsi/Scripts/. - let shellCommandsAppPath = try installShellCommands(atURL: supportScriptsAbsoluteURL) + let shellCommandsAppPath = try installAuxiliaryExecutable(XcodeProjectGenerator.ShellCommandsUtil) // Add a reference to it in global user defaults. updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: shellCommandsAppPath) diff --git a/src/TulsiGenerator/en.lproj/Localizable.strings b/src/TulsiGenerator/en.lproj/Localizable.strings index e4e3d385..f1a1b38e 100644 --- a/src/TulsiGenerator/en.lproj/Localizable.strings +++ b/src/TulsiGenerator/en.lproj/Localizable.strings @@ -118,3 +118,6 @@ /* Warning shown when failing to update the tulsi-workspace symlink to the Bazel execution root. tulsi-workspace path is in %1$@, additional error context in %2$@. */ "UpdatingTulsiWorkspaceSymlinkFailed" = "Failed to update the %1$@ symlink to the Bazel execution root. Additional context: %2$@"; + +/* Warning when installing the module cache pruner executable to ~/Library/Application Support/Tulsi failed. */ +"InstallModuleCachePrunerFailed" = "Failed to install the module cache pruner executable used avoid an lldb crash during the explicit module migration: received error '%1$@'."; \ No newline at end of file diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift index 07ad6b48..3e4ca576 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift @@ -248,6 +248,8 @@ class EndToEndIntegrationTestCase : BazelIntegrationTestCase { projectGenerator.xcodeProjectGenerator.suppressCompilerDefines = true // Don't update shell command utilities. projectGenerator.xcodeProjectGenerator.suppressUpdatingShellCommands = true + // Don't install module cache pruner tool. + projectGenerator.xcodeProjectGenerator.suppressModuleCachePrunerInstallation = true // The username is forced to a known value. projectGenerator.xcodeProjectGenerator.usernameFetcher = { "_TEST_USER_" } // The workspace symlink is forced to a known value. diff --git a/src/TulsiGeneratorTests/BUILD b/src/TulsiGeneratorTests/BUILD index 760254b5..2b7a3783 100644 --- a/src/TulsiGeneratorTests/BUILD +++ b/src/TulsiGeneratorTests/BUILD @@ -14,6 +14,7 @@ macos_unit_test( name = "TulsiGeneratorTests", additional_contents = { "//src/tools/bazel_cache_reader": "MacOS", + "//src/tools/module_cache_pruner": "MacOS", }, minimum_os_version = "10.13", deps = [":TulsiGeneratorTestsLib"], From fb42ee455d0be30b5aa411d17cf50fc08ff050db Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Mon, 14 Jun 2021 15:32:49 +0000 Subject: [PATCH 17/48] Updates version number to 0.4.374498161.20210614. Significant changes: - Fixed a crash with lldb-rpc-server that can occur after migrating a rule to use Swift explicit modules. PiperOrigin-RevId: 379284179 (cherry picked from commit e4fcc3cd941fa3dbae8c19b75458f2bc01859a30) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index 0885e350..f1036809 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "374474001" +TULSI_VERSION_FIXLEVEL = "374498161" -TULSI_VERSION_DATE = "20210518" +TULSI_VERSION_DATE = "20210614" TULSI_VERSION_COPYRIGHT = "2015-2018" From 547c9727d9b29957701ddaab16d416f1b6655bfb Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 29 Jun 2021 13:52:14 +0000 Subject: [PATCH 18/48] Add @discardableResult to pruneModuleCache function so we can avoid needing to explicitly drop the return value when not using it. PiperOrigin-RevId: 382075141 (cherry picked from commit 552b35601b04e585e4582ea3b77258ab6bcdb87d) --- src/tools/module_cache_pruner/ModuleCachePruner.swift | 4 +++- src/tools/module_cache_pruner/main.swift | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tools/module_cache_pruner/ModuleCachePruner.swift b/src/tools/module_cache_pruner/ModuleCachePruner.swift index 28a3b885..ed0b247c 100644 --- a/src/tools/module_cache_pruner/ModuleCachePruner.swift +++ b/src/tools/module_cache_pruner/ModuleCachePruner.swift @@ -24,7 +24,9 @@ let prunedModulesTokenFilename = "modules.hash" /// an explicit module counterpart exists. /// Returns: A list of URLs of the modules that were removed or nil if pruning was skipped all /// together. -func pruneModuleCache(moduleCachePath: String, explicitModuleMetadataFile: String) -> [URL]? { +@discardableResult public func pruneModuleCache( + moduleCachePath: String, explicitModuleMetadataFile: String +) -> [URL]? { os_log( "Pruning implicit module cache at %@ of explicit modules in %@.", log: logger, type: .default, moduleCachePath, explicitModuleMetadataFile) diff --git a/src/tools/module_cache_pruner/main.swift b/src/tools/module_cache_pruner/main.swift index 99759ca6..9f3df3a2 100644 --- a/src/tools/module_cache_pruner/main.swift +++ b/src/tools/module_cache_pruner/main.swift @@ -15,7 +15,7 @@ import Foundation if CommandLine.arguments.count == 3 { - _ = pruneModuleCache( + pruneModuleCache( moduleCachePath: CommandLine.arguments[1], explicitModuleMetadataFile: CommandLine.arguments[2]) } else { print( From f77310d3ae75ef75704c2d713441fdb4080a4e6c Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 30 Jun 2021 18:26:50 +0000 Subject: [PATCH 19/48] Move entitlements handling into the rule implementations. This allows us to remove the special internal entitlements rule and convert nearly all of the existing macro-wrapped rules into pure rules, with the exception of some macOS rules which still have some straggling items to migrate. PiperOrigin-RevId: 382347912 (cherry picked from commit 286d21bfae8829a68b212466f606f5a6f6eb8d91) --- src/TulsiGeneratorIntegrationTests/AspectTests.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/TulsiGeneratorIntegrationTests/AspectTests.swift b/src/TulsiGeneratorIntegrationTests/AspectTests.swift index 8641d5fe..a99691c8 100644 --- a/src/TulsiGeneratorIntegrationTests/AspectTests.swift +++ b/src/TulsiGeneratorIntegrationTests/AspectTests.swift @@ -398,6 +398,9 @@ class TulsiSourcesAspectTests: BazelIntegrationTestCase { .dependsTransitivelyOn("//tulsi_test:AppClipLibrary") .hasAttribute(.supporting_files, value: [["is_dir": false, + "path": "tulsi_test/AppClip/app_entitlements.entitlements", + "src": true], + ["is_dir": false, "path": "tulsi_test/AppClip/app_infoplists/Info.plist", "src": true]] as NSArray) } From 72346f3a32ee0e8592e982e8d2eba9d45efe7fb1 Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Thu, 1 Jul 2021 16:10:59 +0000 Subject: [PATCH 20/48] Move usage of bazel_cache_reader behind a Tulsi option and leave it disabled by default. bazel_cache_reader has been observed to result in significant hits to symbolication in some cases. PiperOrigin-RevId: 382537207 (cherry picked from commit 6fe2926e0b13bd240f5c2b7fa812032e06aed210) --- src/TulsiGenerator/Scripts/bazel_build.py | 19 ++++--- src/TulsiGenerator/TulsiOptionSet.swift | 6 ++- .../XcodeProjectGenerator.swift | 52 ++++++++++++++++--- src/TulsiGenerator/en.lproj/Options.strings | 3 ++ .../XcodeProjectGeneratorTests.swift | 23 ++++++-- 5 files changed, 84 insertions(+), 19 deletions(-) diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py index cc4792b4..5c935801 100755 --- a/src/TulsiGenerator/Scripts/bazel_build.py +++ b/src/TulsiGenerator/Scripts/bazel_build.py @@ -459,7 +459,9 @@ def __init__(self, build_settings): self.direct_debug_prefix_map = False self.normalized_prefix_map = False - self.update_symbol_cache = UpdateSymbolCache() + self.update_symbol_cache = None + if os.environ.get('TULSI_USE_BAZEL_CACHE_READER') is not None: + self.update_symbol_cache = UpdateSymbolCache() # Path into which generated artifacts should be copied. self.built_products_dir = os.environ['BUILT_PRODUCTS_DIR'] @@ -1691,13 +1693,14 @@ def _CreateUUIDPlist(self, dsym_bundle_path, uuid, arch, source_maps): return False # Update the dSYM symbol cache with a reference to this dSYM bundle. - err_msg = self.update_symbol_cache.UpdateUUID(uuid, - dsym_bundle_path, - arch) - if err_msg: - _PrintXcodeWarning('Attempted to save (uuid, dsym_bundle_path, arch) ' - 'to DBGShellCommands\' dSYM cache, but got error ' - '\"%s\".' % err_msg) + if self.update_symbol_cache is not None: + err_msg = self.update_symbol_cache.UpdateUUID(uuid, + dsym_bundle_path, + arch) + if err_msg: + _PrintXcodeWarning('Attempted to save (uuid, dsym_bundle_path, arch) ' + 'to DBGShellCommands\' dSYM cache, but got error ' + '\"%s\".' % err_msg) return True diff --git a/src/TulsiGenerator/TulsiOptionSet.swift b/src/TulsiGenerator/TulsiOptionSet.swift index 7f498434..81b3821c 100644 --- a/src/TulsiGenerator/TulsiOptionSet.swift +++ b/src/TulsiGenerator/TulsiOptionSet.swift @@ -87,7 +87,10 @@ public enum TulsiOptionKey: String { PreBuildPhaseRunScript, // Custom build phase run script that runs after bazel build. - PostBuildPhaseRunScript + PostBuildPhaseRunScript, + + // Option to use a fallback approach to finding dSYMs. + UseBazelCacheReader // Options for build invocations. case BazelBuildOptionsDebug, @@ -337,6 +340,7 @@ public class TulsiOptionSet: Equatable { addBoolOption(.TreeArtifactOutputs, .Generic, true) addBoolOption(.Use64BitWatchSimulator, .Generic, false) addBoolOption(.DisableCustomLLDBInit, .Generic, false) + addBoolOption(.UseBazelCacheReader, .Generic, false) let defaultIdentifier = PlatformConfiguration.defaultConfiguration.identifier let platformCPUIdentifiers = PlatformConfiguration.allValidConfigurations.map { $0.identifier } diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index 8ceee972..d7c91ae7 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -551,6 +551,7 @@ final class XcodeProjectGenerator { generator.generateBazelCleanTarget(cleanScriptPath, workingDirectory: workingDirectory, startupOptions: startupOptions) } + let useBazelCacheReader = config.options[.UseBazelCacheReader].commonValueAsBool == true profileAction("generating_top_level_build_configs") { var buildSettings = [String: String]() if let sdkroot = XcodeProjectGenerator.projectSDKROOT(targetRules) { @@ -577,6 +578,10 @@ final class XcodeProjectGenerator { buildSettings["TULSI_LLDBINIT_FILE"] = customLLDBInitFile } + if useBazelCacheReader { + buildSettings["TULSI_USE_BAZEL_CACHE_READER"] = "YES" + } + buildSettings["TULSI_PROJECT"] = config.projectName generator.generateTopLevelBuildConfigurations(buildSettings) } @@ -598,7 +603,7 @@ final class XcodeProjectGenerator { } profileAction("updating_dbgshellcommands") { do { - try updateShellCommands() + try updateShellCommands(useBazelCacheReader: useBazelCacheReader) } catch { self.localizedMessageLogger.warning("UpdatingDBGShellCommandsFailed", comment: LocalizedMessageLogger.bugWorthyComment("Failed to update the script to find cached dSYM bundles via DBGShellCommands."), @@ -1157,6 +1162,35 @@ final class XcodeProjectGenerator { return auxiliaryBinaryURL.path } + /// Update the global user defaults to remove any reference to bazel_cache_reader + private func removeShellCommandsFromGlobalUserDefaults(shellCommandsBasename: String) { + // Find if there is an existing entry for com.apple.DebugSymbols. + let dbgDefaults = UserDefaults.standard.persistentDomain(forName: "com.apple.DebugSymbols") + + guard var currentDBGDefaults = dbgDefaults else { + // No com.apple.DebugSymbols exists, nothing to remove. + return + } + + var newShellCommands : [String] = [] + + if let currentShellCommands = currentDBGDefaults["DBGShellCommands"] as? [String] { + // Copy all the current shell commands to the new DBGShellCommands array excluding the + // bazel_cache_reader command. + newShellCommands = currentShellCommands.filter { !$0.contains(shellCommandsBasename) } + } else if let currentShellCommand = currentDBGDefaults["DBGShellCommands"] as? String { + // Check that the single path at DBGShellCommands contains the shellCommandsBasename. + guard currentShellCommand.contains(shellCommandsBasename) else { + // Otherwise there is no need to remove anything. + return + } + } + + // Replace DBGShellCommands in the existing com.apple.DebugSymbols defaults. + currentDBGDefaults["DBGShellCommands"] = newShellCommands.isEmpty ? nil : newShellCommands + UserDefaults.standard.setPersistentDomain(currentDBGDefaults, forName: "com.apple.DebugSymbols") + } + /// Update the global user defaults to reference bazel_cache_reader private func updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: String) { guard !suppressModifyingUserDefaults else { return } @@ -1207,15 +1241,19 @@ final class XcodeProjectGenerator { UserDefaults.standard.setPersistentDomain(currentDBGDefaults, forName: "com.apple.DebugSymbols") } - /// Install the latest bazel_cache_reader. - private func updateShellCommands() throws { + /// Install or remove bazel_cache_reader. + private func updateShellCommands(useBazelCacheReader: Bool) throws { guard !suppressUpdatingShellCommands else { return } - // Install the latest version of the app to ~/Library/Application Support/Tulsi/Scripts/. - let shellCommandsAppPath = try installAuxiliaryExecutable(XcodeProjectGenerator.ShellCommandsUtil) + if useBazelCacheReader { + // Install the latest version of the app to ~/Library/Application Support/Tulsi/Scripts/. + let shellCommandsAppPath = try installAuxiliaryExecutable(XcodeProjectGenerator.ShellCommandsUtil) - // Add a reference to it in global user defaults. - updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: shellCommandsAppPath) + // Add a reference to it in global user defaults. + updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: shellCommandsAppPath) + } else { + removeShellCommandsFromGlobalUserDefaults(shellCommandsBasename: XcodeProjectGenerator.ShellCommandsUtil) + } } private func executePythonProcess(_ scriptFileName: String, onError: @escaping (Int32, String) -> Void) { diff --git a/src/TulsiGenerator/en.lproj/Options.strings b/src/TulsiGenerator/en.lproj/Options.strings index 8515d905..65cc6217 100644 --- a/src/TulsiGenerator/en.lproj/Options.strings +++ b/src/TulsiGenerator/en.lproj/Options.strings @@ -44,6 +44,9 @@ "DisableCustomLLDBInit" = "Disable project-level lldbinit"; "DisableCustomLLDBInit_DESC" = "When this option is enabled, Tulsi will revert to using and modifying the global lldbinit to import the shared ~/.lldbinit-tulsiproj file. When this option is disabled (default), Tulsi will generate a dedicated lldbinit and bundle it with an Xcode project. The dedicated lldbinit will import the global lldbinit file."; +"UseBazelCacheReader" = "Enable fallback dSYM searches"; +"UseBazelCacheReader_DESC" = "When this option is enabled, Tulsi will maintain a SQL database to track dSYMs and query the table for each executable/library in all debug sessions. This may result in a hit on debugging attach times, so enable this option only when dSYMs are required and Spotlight is unable to find dSYMs automatically."; + "CLANG_CXX_LANGUAGE_STANDARD" = "C++ language standard"; "CLANG_CXX_LANGUAGE_STANDARD_DESC" = "Sets the C++ language standard project wide to prevent any false live issue errors involving certain C++ features."; diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift index 0241166a..3067674b 100644 --- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift +++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift @@ -102,7 +102,7 @@ class XcodeProjectGeneratorTests: XCTestCase { let cacheReaderURL = supportScriptsURL.appendingPathComponent( "bazel_cache_reader", isDirectory: false) - XCTAssert(mockFileManager.copyOperations.keys.contains(cacheReaderURL.path)) + XCTAssertFalse(mockFileManager.copyOperations.keys.contains(cacheReaderURL.path)) let xcp = "\(xcodeProjectPath)/xcuserdata/USER.xcuserdatad/xcschemes/xcschememanagement.plist" XCTAssert(!mockFileManager.attributesMap.isEmpty) @@ -115,6 +115,24 @@ class XcodeProjectGeneratorTests: XCTestCase { } } + func testSuccessfulGenerationWithBazelCacheReader() { + let ruleEntries = XcodeProjectGeneratorTests.labelToRuleEntryMapForLabels(buildTargetLabels) + let options = TulsiOptionSet() + options[.UseBazelCacheReader].projectValue = "YES" + prepareGenerator(ruleEntries, options: options) + do { + _ = try generator.generateXcodeProjectInFolder(outputFolderURL) + mockLocalizedMessageLogger.assertNoErrors() + mockLocalizedMessageLogger.assertNoWarnings() + + let cacheReaderURL = mockFileManager.homeDirectoryForCurrentUser.appendingPathComponent( + "Library/Application Support/Tulsi/Scripts/bazel_cache_reader", isDirectory: false) + XCTAssert(mockFileManager.copyOperations.keys.contains(cacheReaderURL.path)) + } catch let e { + XCTFail("Unexpected exception \(e)") + } + } + func testExtensionPlistGeneration() { @discardableResult func addRule( @@ -375,8 +393,7 @@ class XcodeProjectGeneratorTests: XCTestCase { extensionType: extensionType) } - private func prepareGenerator(_ ruleEntries: [BuildLabel: RuleEntry]) { - let options = TulsiOptionSet() + private func prepareGenerator(_ ruleEntries: [BuildLabel: RuleEntry], options: TulsiOptionSet = TulsiOptionSet()) { // To avoid creating ~/Library folders and changing UserDefaults during CI testing. config = TulsiGeneratorConfig( projectName: XcodeProjectGeneratorTests.projectName, From 44d020025d91cd799f2df7b1852fe12fd0610768 Mon Sep 17 00:00:00 2001 From: davg Date: Thu, 1 Jul 2021 18:48:01 +0000 Subject: [PATCH 21/48] Skip over unsupported test targets in test_suites PiperOrigin-RevId: 382571317 (cherry picked from commit d3e35367c958a452d930f8edb29ecfc812e54d0a) --- .../XcodeProjectGenerator.swift | 28 +- .../EndToEndGenerationTests.swift | 7 +- .../SimpleProject.xcodeproj/project.pbxproj | 279 +++++++++++++++++- .../xcschemes/AllTests_Suite.xcscheme | 92 ++++++ .../xcschemes/_idx_Scheme.xcscheme | 6 + .../xcshareddata/xcschemes/ccTest.xcscheme | 88 ++++++ .../xcschemes/xcschememanagement.plist | 10 + .../Resources/Simple.BUILD | 15 + 8 files changed, 512 insertions(+), 13 deletions(-) create mode 100644 src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/AllTests_Suite.xcscheme create mode 100644 src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/ccTest.xcscheme diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index d7c91ae7..6809662f 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift @@ -339,6 +339,10 @@ final class XcodeProjectGenerator { /// Mapping from label to top-level build target. let topLevelBuildTargetsByLabel: [BuildLabel: PBXNativeTarget] + + /// Test targets from `test_suite` rules which were silently dropped since + /// their rule kind is unsupported. + let ignoredTestTargets: Set } /// Throws an exception if the Xcode project path is found to be in a forbidden location, @@ -447,15 +451,23 @@ final class XcodeProjectGenerator { let ruleEntryMap = try loadRuleEntryMap() try validateConfigReferences(ruleEntryMap) + // Expand test_suites recursively into their respective tests, ignoring + // unsupported target types. + var ignoredTests = Set() var expandedTargetLabels = Set() var testSuiteRules = [BuildLabel: RuleEntry]() - func expandTargetLabels(_ labels: T) where T.Iterator.Element == BuildLabel { + func expandTargetLabels(_ labels: T, inTestSuite: Bool) where T.Iterator.Element == BuildLabel { for label in labels { // Effectively we will only be using the last RuleEntry in the case of duplicates. // We could log about duplicates here, but this would only lead to duplicate logging. let ruleEntries = ruleEntryMap.ruleEntries(buildLabel: label) for ruleEntry in ruleEntries { if ruleEntry.type != "test_suite" { + // Ignore unsupported target types in `test_suite`s. + guard !inTestSuite || ruleEntry.pbxTargetType != nil else { + ignoredTests.insert(label) + continue + } // Add the RuleEntry itself and any registered extensions + app clips so they are // automatically added as buildable schemes in the project. expandedTargetLabels.insert(label) @@ -463,16 +475,16 @@ final class XcodeProjectGenerator { expandedTargetLabels.formUnion(ruleEntry.appClips) // Recursively expand extensions. Currently used by App -> Watch App -> Watch Extension. - expandTargetLabels(ruleEntry.extensions) + expandTargetLabels(ruleEntry.extensions, inTestSuite: false) } else { // Expand the test_suite to its set of tests. testSuiteRules[ruleEntry.label] = ruleEntry - expandTargetLabels(ruleEntry.testSuiteDependencies) + expandTargetLabels(ruleEntry.testSuiteDependencies, inTestSuite: true) } } } } - expandTargetLabels(config.buildTargetLabels) + expandTargetLabels(config.buildTargetLabels, inTestSuite: false) var targetRules = Set() var hostTargetLabels = [BuildLabel: BuildLabel]() @@ -636,7 +648,8 @@ final class XcodeProjectGenerator { buildRuleEntries: targetRules, testSuiteRuleEntries: testSuiteRules, indexerTargets: indexerTargets, - topLevelBuildTargetsByLabel: targetsByLabel) + topLevelBuildTargetsByLabel: targetsByLabel, + ignoredTestTargets: ignoredTests) } private func installWorkspaceSettings(_ projectURL: URL) throws { @@ -943,6 +956,11 @@ final class XcodeProjectGenerator { var suiteHostTarget: PBXTarget? = nil var validTests = Set() for testEntryLabel in testSuite.testSuiteDependencies { + // Skip over tests which were dropped since they were unsupported. + guard !info.ignoredTestTargets.contains(testEntryLabel) else { + continue + } + if let recursiveTestSuite = info.testSuiteRuleEntries[testEntryLabel] { let (recursiveTests, recursiveSuiteHostTarget) = extractTestTargets(recursiveTestSuite) validTests.formUnion(recursiveTests) diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift index 9a51661b..635aeaf3 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift @@ -33,16 +33,15 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { let appLabel = BuildLabel("//\(testDir):Application") let targetLabel = BuildLabel("//\(testDir):TargetApplication") - let hostLabels = Set([appLabel]) let buildTargets = [RuleInfo(label: appLabel, type: "ios_application", linkedTargetLabels: []), RuleInfo(label: targetLabel, type: "ios_application", linkedTargetLabels: []), - RuleInfo(label: BuildLabel("//\(testDir):XCTest"), - type: "ios_unit_test", - linkedTargetLabels: hostLabels)] + RuleInfo(label: BuildLabel("//\(testDir):AllTests"), + type: "test_suite", + linkedTargetLabels: [])] let additionalFilePaths = ["\(testDir)/BUILD"] let projectName = "SimpleProject" diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj index aaba919b..90835b97 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj @@ -8,11 +8,14 @@ /* Begin PBXBuildFile section */ 952C886D11A6302600000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C11A6302600000000 /* src1.m */; }; + 952C886D22AC943500000000 /* primaryTest.cc in Test */ = {isa = PBXBuildFile; fileRef = 25889F7C22AC943500000000 /* primaryTest.cc */; }; 952C886D3EFFE63100000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */ = {isa = PBXBuildFile; fileRef = D0BE1A9D3EFFE63100000000 /* SimpleTest.xcdatamodeld */; }; + 952C886D60909B5B00000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C60909B5B00000000 /* src1.c */; }; 952C886D80E2A65800000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C80E2A65800000000 /* src2.m */; }; 952C886D99A5382C00000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C99A5382C00000000 /* src1.mm */; }; 952C886DB150C3F800000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB150C3F800000000 /* main.m */; }; 952C886DB6E4997A00000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB6E4997A00000000 /* src3.m */; }; + 952C886DB830152D00000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CB830152D00000000 /* src2.c */; }; 952C886DD6AD0DEF00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7CD6AD0DEF00000000 /* src4.m */; }; /* End PBXBuildFile section */ @@ -23,6 +26,12 @@ proxyType = 1; remoteGlobalIDString = 7E9AFE62036907F800000000; }; + 30E8372A57F3F38900000000 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9034464B7A2998D600000000 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7E9AFE6257F3F38800000000; + }; 30E8372A67D9455100000000 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 9034464B7A2998D600000000 /* Project object */; @@ -43,10 +52,14 @@ 25889F7C11A6302600000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = ""; }; 25889F7C126E22AB00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_simple/BUILD; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.python; }; 25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; path = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 25889F7C22AC943500000000 /* primaryTest.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = primaryTest.cc; path = "tulsi-workspace/tulsi_e2e_simple/Test/primaryTest.cc"; sourceTree = ""; }; + 25889F7C22FB051400000000 /* lib_idx_ccLibrary_F3CA84BB_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_F3CA84BB_ios_min8.0.a; path = lib_idx_ccLibrary_F3CA84BB_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C301CC73800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = ""; }; 25889F7C32F6AA5C00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = ""; }; 25889F7C477067CE00000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = ""; }; 25889F7C6079DDB000000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = ""; }; + 25889F7C60909B5B00000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src1.c"; sourceTree = ""; }; + 25889F7C76D5FB2400000000 /* ccTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; name = ccTest; path = ccTest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C80E2A65800000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = ""; }; 25889F7C80E959BE00000000 /* lib_idx_Library_744889E2_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_744889E2_ios_min10.0.a; path = lib_idx_Library_744889E2_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C84A85CEE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/Application-intermediates/Info.plist"; sourceTree = ""; }; @@ -57,9 +70,11 @@ 25889F7CB150C3F800000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = ""; }; 25889F7CB6E4997A00000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = ""; }; 25889F7CB7C2A0EE00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_simple/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = ""; }; + 25889F7CB830152D00000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.c"; sourceTree = ""; }; 25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CCF6C202B00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = ""; }; 25889F7CD6AD0DEF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = ""; }; + 25889F7CDB83A02400000000 /* lib_idx_ccTest_9CA2C56A_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccTest_9CA2C56A_ios_min8.0.a; path = lib_idx_ccTest_9CA2C56A_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CEA45B29C00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = ""; }; 25889F7CEBE4382E00000000 /* TargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TargetApplication.app; path = TargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CEC8BA1B100000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = ""; }; @@ -75,6 +90,7 @@ 25889F7CEBE4382E00000000 /* TargetApplication.app */, 25889F7C8FC56C5400000000 /* XCTest.xctest */, 45D05629A259EF0200000000 /* bazel-tulsi-includes */, + 25889F7C76D5FB2400000000 /* ccTest */, ); name = Products; sourceTree = ""; @@ -149,6 +165,14 @@ name = hdrs; sourceTree = ""; }; + 45D056297F3F98D100000000 /* Test */ = { + isa = PBXGroup; + children = ( + 25889F7C22AC943500000000 /* primaryTest.cc */, + ); + name = Test; + sourceTree = ""; + }; 45D0562991BACA9000000000 /* pch */ = { isa = PBXGroup; children = ( @@ -201,6 +225,7 @@ 25889F7C126E22AB00000000 /* BUILD */, 45D0562954A7395500000000 /* Library */, D0BE1A9D3EFFE63100000000 /* SimpleTest.xcdatamodeld */, + 45D056297F3F98D100000000 /* Test */, 45D0562942C10F8D00000000 /* XCTest */, ); name = tulsi_e2e_simple; @@ -211,6 +236,8 @@ children = ( 25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */, 25889F7C80E959BE00000000 /* lib_idx_Library_744889E2_ios_min10.0.a */, + 25889F7C22FB051400000000 /* lib_idx_ccLibrary_F3CA84BB_ios_min8.0.a */, + 25889F7CDB83A02400000000 /* lib_idx_ccTest_9CA2C56A_ios_min8.0.a */, ); name = Indexer; sourceTree = ""; @@ -236,7 +263,9 @@ isa = PBXGroup; children = ( 25889F7CEC8BA1B100000000 /* SrcsHeader.h */, + 25889F7C60909B5B00000000 /* src1.c */, 25889F7C11A6302600000000 /* src1.m */, + 25889F7CB830152D00000000 /* src2.c */, 25889F7C80E2A65800000000 /* src2.m */, 25889F7CB6E4997A00000000 /* src3.m */, 25889F7CD6AD0DEF00000000 /* src4.m */, @@ -337,6 +366,22 @@ productReference = 25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */; productType = "com.apple.product-type.library.static"; }; + 7E9AFE6257F3F38800000000 /* _idx_ccLibrary_F3CA84BB_ios_min8.0 */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4222DED57FC029E00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_F3CA84BB_ios_min8.0" */; + buildPhases = ( + 04BFD5160000000000000003 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + 89B1AEB39734745D00000000 /* PBXTargetDependency */, + ); + name = _idx_ccLibrary_F3CA84BB_ios_min8.0; + productName = _idx_ccLibrary_F3CA84BB_ios_min8.0; + productReference = 25889F7C22FB051400000000 /* lib_idx_ccLibrary_F3CA84BB_ios_min8.0.a */; + productType = "com.apple.product-type.library.static"; + }; 7E9AFE6267D9455000000000 /* Application */ = { isa = PBXNativeTarget; buildConfigurationList = F4222DED4A42893600000000 /* Build configuration list for PBXNativeTarget "Application" */; @@ -353,6 +398,22 @@ productReference = 25889F7CCCCE004E00000000 /* Application.app */; productType = "com.apple.product-type.application"; }; + 7E9AFE6276D5FB2400000000 /* ccTest */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4222DEDF60B122100000000 /* Build configuration list for PBXNativeTarget "ccTest" */; + buildPhases = ( + 978262ABC9A216BB00000000 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 89B1AEB39734745D00000000 /* PBXTargetDependency */, + ); + name = ccTest; + productName = ccTest; + productReference = 25889F7C76D5FB2400000000 /* ccTest */; + productType = "com.apple.product-type.tool"; + }; 7E9AFE6285821F1A00000000 /* XCTest */ = { isa = PBXNativeTarget; buildConfigurationList = F4222DED6042BF8400000000 /* Build configuration list for PBXNativeTarget "XCTest" */; @@ -372,6 +433,23 @@ productReference = 25889F7C8FC56C5400000000 /* XCTest.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + 7E9AFE628D50BA7A00000000 /* _idx_ccTest_9CA2C56A_ios_min8.0 */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4222DEDEE68153500000000 /* Build configuration list for PBXNativeTarget "_idx_ccTest_9CA2C56A_ios_min8.0" */; + buildPhases = ( + 04BFD5160000000000000004 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + 89B1AEB39734745D00000000 /* PBXTargetDependency */, + 89B1AEB357F3F38900000000 /* PBXTargetDependency */, + ); + name = _idx_ccTest_9CA2C56A_ios_min8.0; + productName = _idx_ccTest_9CA2C56A_ios_min8.0; + productReference = 25889F7CDB83A02400000000 /* lib_idx_ccTest_9CA2C56A_ios_min8.0.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -401,6 +479,9 @@ 01F2CBCF9734745C00000000 /* _bazel_clean_ */, 7E9AFE6229A25C1600000000 /* _idx_ApplicationLibrary_5E9B8EB0_ios_min10.0 */, 7E9AFE62036907F800000000 /* _idx_Library_744889E2_ios_min10.0 */, + 7E9AFE6257F3F38800000000 /* _idx_ccLibrary_F3CA84BB_ios_min8.0 */, + 7E9AFE628D50BA7A00000000 /* _idx_ccTest_9CA2C56A_ios_min8.0 */, + 7E9AFE6276D5FB2400000000 /* ccTest */, ); }; /* End PBXProject section */ @@ -435,6 +516,21 @@ shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose "; showEnvVarsInLog = 1; }; + 978262ABC9A216BB00000000 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 0; + files = ( + ); + inputPaths = ( + "$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple:ccTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose "; + showEnvVarsInLog = 1; + }; 978262ABE22EC94700000000 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 0; @@ -496,6 +592,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 04BFD5160000000000000003 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 952C886D60909B5B00000000 /* src1.c in srcs */, + 952C886DB830152D00000000 /* src2.c in srcs */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 04BFD5160000000000000004 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 952C886D22AC943500000000 /* primaryTest.cc in Test */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ @@ -514,6 +627,10 @@ isa = PBXTargetDependency; targetProxy = 30E8372A036907F900000000 /* PBXContainerItemProxy */; }; + 89B1AEB357F3F38900000000 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + targetProxy = 30E8372A57F3F38900000000 /* PBXContainerItemProxy */; + }; 89B1AEB367D9455100000000 /* PBXTargetDependency */ = { isa = PBXTargetDependency; targetProxy = 30E8372A67D9455100000000 /* PBXContainerItemProxy */; @@ -609,7 +726,6 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PYTHONIOENCODING = utf8; - SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; @@ -645,6 +761,30 @@ }; name = __TulsiTestRunner_Release; }; + 0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//tulsi_e2e_simple:ccTest"; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "--version"; + OTHER_LDFLAGS = "--version"; + OTHER_SWIFT_FLAGS = "--version"; + PRODUCT_NAME = ccTest; + SDKROOT = macosx; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; + TULSI_BUILD_PATH = tulsi_e2e_simple; + TULSI_XCODE_VERSION = 12.4.0.12D4e; + }; + name = __TulsiTestRunner_Release; + }; 0207AA2838C3D90E00000000 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -711,7 +851,6 @@ HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; - SDKROOT = iphoneos; TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; TULSI_PROJECT = SimpleProject; @@ -764,6 +903,48 @@ }; name = Debug; }; + 0207AA2838C3D90E00000006 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; + PRODUCT_NAME = _idx_ccLibrary_F3CA84BB_ios_min8.0; + SDKROOT = iphoneos; + USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; + }; + name = Debug; + }; + 0207AA2838C3D90E00000007 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; + PRODUCT_NAME = _idx_ccTest_9CA2C56A_ios_min8.0; + SDKROOT = iphoneos; + USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; + }; + name = Debug; + }; + 0207AA2838C3D90E00000008 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//tulsi_e2e_simple:ccTest"; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PRODUCT_NAME = ccTest; + SDKROOT = macosx; + TULSI_BUILD_PATH = tulsi_e2e_simple; + TULSI_XCODE_VERSION = 12.4.0.12D4e; + }; + name = Debug; + }; 0207AA28616216BF00000000 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -830,7 +1011,6 @@ HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x"; ONLY_ACTIVE_ARCH = YES; PYTHONIOENCODING = utf8; - SDKROOT = iphoneos; TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit"; TULSI_PROJECT = SimpleProject; @@ -883,6 +1063,48 @@ }; name = Release; }; + 0207AA28616216BF00000006 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ "; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; + PRODUCT_NAME = _idx_ccLibrary_F3CA84BB_ios_min8.0; + SDKROOT = iphoneos; + USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; + }; + name = Release; + }; + 0207AA28616216BF00000007 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; + HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ $(TULSI_WR)/external/bazel_tools $(TULSI_BWRS)/bazel-tulsi-includes/x/x/external/bazel_tools "; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1"; + PRODUCT_NAME = _idx_ccTest_9CA2C56A_ios_min8.0; + SDKROOT = iphoneos; + USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)"; + }; + name = Release; + }; + 0207AA28616216BF00000008 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//tulsi_e2e_simple:ccTest"; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PRODUCT_NAME = ccTest; + SDKROOT = macosx; + TULSI_BUILD_PATH = tulsi_e2e_simple; + TULSI_XCODE_VERSION = 12.4.0.12D4e; + }; + name = Release; + }; 0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -967,7 +1189,6 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PYTHONIOENCODING = utf8; - SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace"; @@ -1003,6 +1224,30 @@ }; name = __TulsiTestRunner_Debug; }; + 0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//tulsi_e2e_simple:ccTest"; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "--version"; + OTHER_LDFLAGS = "--version"; + OTHER_SWIFT_FLAGS = "--version"; + PRODUCT_NAME = ccTest; + SDKROOT = macosx; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; + TULSI_BUILD_PATH = tulsi_e2e_simple; + TULSI_XCODE_VERSION = 12.4.0.12D4e; + }; + name = __TulsiTestRunner_Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1040,6 +1285,14 @@ ); defaultConfigurationIsVisible = 0; }; + F4222DED57FC029E00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_F3CA84BB_ios_min8.0" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0207AA2838C3D90E00000006 /* Debug */, + 0207AA28616216BF00000006 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; F4222DED6042BF8400000000 /* Build configuration list for PBXNativeTarget "XCTest" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1050,6 +1303,24 @@ ); defaultConfigurationIsVisible = 0; }; + F4222DEDEE68153500000000 /* Build configuration list for PBXNativeTarget "_idx_ccTest_9CA2C56A_ios_min8.0" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0207AA2838C3D90E00000007 /* Debug */, + 0207AA28616216BF00000007 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + F4222DEDF60B122100000000 /* Build configuration list for PBXNativeTarget "ccTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0207AA2838C3D90E00000008 /* Debug */, + 0207AA28616216BF00000008 /* Release */, + 0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */, + 0207AA281FC531E700000004 /* __TulsiTestRunner_Release */, + ); + defaultConfigurationIsVisible = 0; + }; F4222DEDF8038DB600000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/AllTests_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/AllTests_Suite.xcscheme new file mode 100644 index 00000000..533bab1c --- /dev/null +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/AllTests_Suite.xcscheme @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme index b1f212f6..544595f9 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme @@ -2,12 +2,18 @@ + + + + + + diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/ccTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/ccTest.xcscheme new file mode 100644 index 00000000..68b930be --- /dev/null +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/ccTest.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist index 8286d524..787fdf61 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,6 +4,11 @@ SchemeUserState + AllTests_Suite.xcscheme_^#shared#^_ + + isShown + + Application.xcscheme_^#shared#^_ isShown @@ -24,6 +29,11 @@ isShown + ccTest.xcscheme_^#shared#^_ + + isShown + + SuppressBuildableAutocreation diff --git a/src/TulsiGeneratorIntegrationTests/Resources/Simple.BUILD b/src/TulsiGeneratorIntegrationTests/Resources/Simple.BUILD index b700e7a2..3b517c7a 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/Simple.BUILD +++ b/src/TulsiGeneratorIntegrationTests/Resources/Simple.BUILD @@ -17,6 +17,7 @@ load( "@build_bazel_rules_apple//apple:ios.bzl", "ios_application", + "ios_build_test", "ios_unit_test", ) @@ -141,6 +142,14 @@ objc_library( ], ) +ios_build_test( + name = "TestLibraryBuildTest", + minimum_os_version = "10.0", + targets = [ + ":TestLibrary", + ], +) + ios_unit_test( name = "XCTest", minimum_os_version = "10.0", @@ -150,3 +159,9 @@ ios_unit_test( ":TestLibrary", ], ) + +# Contains all tests, but Tulsi will drop the `ios_build_test` +# since it's unsupported. +test_suite( + name = "AllTests", +) From c9ffd2487305e7996561bf5c258180de6d70fd9f Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Tue, 13 Jul 2021 19:37:28 +0000 Subject: [PATCH 22/48] Updates version number to 0.4.384524523.20210713. Significant changes: - Unsupported tests in test_suites are now skipped instead of throwing an error. - Disable fallback dSYM searching by default. The fallback can be reenabled with the "Enable fallback dSYM searches" option. Reenabling is only recommended if Spotlight is disabled as it can impact time to symbolicate a binary. - Fixed a crash with lldb-rpc-server that can occur after migrating a rule to use Swift explicit modules. PiperOrigin-RevId: 384527057 (cherry picked from commit 7440ba02fbaf5ea341063121bf23c08c3229d24f) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index f1036809..dda548ee 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "374498161" +TULSI_VERSION_FIXLEVEL = "384524523" -TULSI_VERSION_DATE = "20210614" +TULSI_VERSION_DATE = "20210713" TULSI_VERSION_COPYRIGHT = "2015-2018" From 96b352ed812044931973dd8dce81609d93eab7b5 Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 26 Jul 2021 10:44:10 -0400 Subject: [PATCH 23/48] Automatic code cleanup. PiperOrigin-RevId: 386871254 (cherry picked from commit febfc91298fd17d34506eabbe106d3eb8edf4a81) --- src/TulsiGeneratorIntegrationTests/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TulsiGeneratorIntegrationTests/BUILD b/src/TulsiGeneratorIntegrationTests/BUILD index c6d6bdc1..3bd52b4a 100644 --- a/src/TulsiGeneratorIntegrationTests/BUILD +++ b/src/TulsiGeneratorIntegrationTests/BUILD @@ -47,6 +47,7 @@ swift_library( tulsi_integration_test( name = "PlatformDependentEndToEndGenerationTests", + timeout = "long", srcs = ["PlatformDependentEndToEndGenerationTests.swift"], env = { "SWIFT_DETERMINISTIC_HASHING": "1", From 8ff249a3d01c4e0e04fd69fdbcc08e14fb2b049e Mon Sep 17 00:00:00 2001 From: davg Date: Tue, 10 Aug 2021 11:23:32 -0400 Subject: [PATCH 24/48] Improve failure messages when goldens are outdated Show the entire diff at once instead of line-by-line PiperOrigin-RevId: 389889488 (cherry picked from commit d16d1840f879fc13030f0bae7862bf742b9498c4) --- .../EndToEndGenerationTests.swift | 31 ++++++++++--------- .../EndToEndIntegrationTestCase.swift | 9 +++--- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift index 635aeaf3..db05bfbb 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift @@ -79,7 +79,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { options: options) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_MultiExtensionProject() throws { @@ -112,7 +112,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { outputDir: "tulsi_e2e_output") let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_AppClipProject() throws { @@ -137,7 +137,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_BrokenSourceBUILD() { @@ -231,7 +231,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, options: projectOptions, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_SwiftProject() throws { @@ -256,7 +256,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, swift: true, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_watchProject() throws { @@ -281,7 +281,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_tvOSProject() throws { @@ -295,7 +295,8 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { ] let additionalFilePaths = ["\(testDir)/BUILD"] - let projectURL = try generateProjectNamed("SkylarkBundlingProject", + let projectName = "SkylarkBundlingProject" + let projectURL = try generateProjectNamed(projectName, buildTargets: buildTargets, pathFilters: ["\(testDir)/...", "bazel-bin/\(testDir)/...", @@ -305,8 +306,8 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) - let diffLines = diffProjectAt(projectURL, againstGoldenProject: "SkylarkBundlingProject") - validateDiff(diffLines) + let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) + validateDiff(diffLines, for: projectName) } func test_macProject() throws { @@ -335,7 +336,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_macTestsProject() throws { @@ -370,7 +371,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_simpleCCProject() throws { @@ -392,7 +393,7 @@ class EndToEndGenerationTests: EndToEndIntegrationTestCase { try validateBuildCommandForProject(projectURL, targets: [appLabel.value]) let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } } @@ -436,7 +437,7 @@ class TestSuiteEndToEndGenerationTests: EndToEndIntegrationTestCase { let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_TestSuiteLocalTaggedTestsProject() throws { @@ -457,7 +458,7 @@ class TestSuiteEndToEndGenerationTests: EndToEndIntegrationTestCase { let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } func test_TestSuiteRecursiveTestSuiteProject() throws { @@ -478,6 +479,6 @@ class TestSuiteEndToEndGenerationTests: EndToEndIntegrationTestCase { let diffLines = diffProjectAt(projectURL, againstGoldenProject: projectName) - validateDiff(diffLines) + validateDiff(diffLines, for: projectName) } } diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift index 3e4ca576..00a5a991 100644 --- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift @@ -34,10 +34,10 @@ class EndToEndIntegrationTestCase : BazelIntegrationTestCase { let fakeBazelURL = URL(fileURLWithPath: "/fake/tulsi_test_bazel", isDirectory: false) let testTulsiVersion = "9.99.999.9999" - final func validateDiff(_ diffLines: [String], file: StaticString = #file, line: UInt = #line) { - for diff in diffLines { - XCTFail(diff, file: file, line: line) - } + final func validateDiff(_ diffLines: [String], for resourceName: String, file: StaticString = #file, line: UInt = #line) { + guard !diffLines.isEmpty else { return } + let message = "\(resourceName) xcodeproj does not match its golden. Diff output:\n\(diffLines.joined(separator: "\n"))" + XCTFail(message, file: file, line: line) } final func diffProjectAt(_ projectURL: URL, @@ -49,7 +49,6 @@ class EndToEndIntegrationTestCase : BazelIntegrationTestCase { XCTFail("Must define environment variable \"SWIFT_DETERMINISTIC_HASHING=1\", or golden tests will fail.") return [] } - let bundle = Bundle(for: type(of: self)) let goldenProjectURL = workspaceRootURL.appendingPathComponent(fakeBazelWorkspace .resourcesPathBase, isDirectory: true) From e65f9854704dfcc2b107e70867df377c58cd4035 Mon Sep 17 00:00:00 2001 From: davg Date: Tue, 10 Aug 2021 13:02:50 -0400 Subject: [PATCH 25/48] Improve performance of fetching build/bzl files for a project ``` buildfiles(deps($T1)+deps($T2)+deps($T3)+[...]) ``` is equivalent to, but generally much slower than ``` buildfiles(deps($T1+$T2+$T3+[...])) ``` PiperOrigin-RevId: 389912462 (cherry picked from commit a5ef86ecdd7d0946eb2f3f87f8d392ed080d35e3) --- src/TulsiGenerator/BazelQueryInfoExtractor.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/TulsiGenerator/BazelQueryInfoExtractor.swift b/src/TulsiGenerator/BazelQueryInfoExtractor.swift index 6ae40335..0efb2080 100644 --- a/src/TulsiGenerator/BazelQueryInfoExtractor.swift +++ b/src/TulsiGenerator/BazelQueryInfoExtractor.swift @@ -81,9 +81,8 @@ final class BazelQueryInfoExtractor: QueuedLogging { let profilingStart = localizedMessageLogger.startProfiling("extracting_skylark_files", message: "Finding Skylark files for \(targets.count) rules") - let labelDeps = targets.map {"deps(\($0.value))"} - let joinedLabelDeps = labelDeps.joined(separator: "+") - let query = "buildfiles(\(joinedLabelDeps))" + let joinedLabels = targets.map { $0.value }.joined(separator: " + ") + let query = "buildfiles(deps(\(joinedLabels)))" let buildFiles: Set do { // Errors in the BUILD structure being examined should not prevent partial extraction, so this From 2bb443235f19ec49da7ecaddd2dbb73efed45042 Mon Sep 17 00:00:00 2001 From: davg Date: Wed, 11 Aug 2021 13:25:36 -0400 Subject: [PATCH 26/48] Swap to build and test with Xcode 12.5.1 Also fix an issue with the OSS tests. PiperOrigin-RevId: 390164332 (cherry picked from commit d1a4d3ca491715b3b8c0f698b7160e1931e958c8) # Conflicts: # .bazelci/presubmit.yml # .bazelrc # WORKSPACE --- .bazelci/presubmit.yml | 2 +- README.md | 2 +- build_and_run.sh | 2 +- .../BazelIntegrationTestCase.swift | 2 +- .../AppClipProject.xcodeproj/project.pbxproj | 16 ++++---- .../project.pbxproj | 24 +++++------ .../MacOSProject.xcodeproj/project.pbxproj | 24 +++++------ .../project.pbxproj | 32 +++++++-------- .../project.pbxproj | 24 +++++------ .../SimpleCCProject.xcodeproj/project.pbxproj | 8 ++-- .../SimpleProject.xcodeproj/project.pbxproj | 32 +++++++-------- .../project.pbxproj | 16 ++++---- .../SwiftProject.xcodeproj/project.pbxproj | 8 ++-- .../xcshareddata/WorkspaceSettings.xcsettings | 2 + .../project.pbxproj | 40 +++++++++---------- .../project.pbxproj | 16 ++++---- .../project.pbxproj | 32 +++++++-------- .../WatchProject.xcodeproj/project.pbxproj | 24 +++++------ .../update_goldens.sh | 2 +- 19 files changed, 155 insertions(+), 153 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 6b3fdb1a..c6b387c0 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -2,7 +2,7 @@ x_defaults: common: &common platform: macos - xcode_version: "12.4" + xcode_version: "12.5.1" build_targets: - "//:tulsi" test_flags: diff --git a/README.md b/README.md index 5dc9b417..d8761c4a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Run `build_and_run.sh`. This will install Tulsi.app inside `$HOME/Applications` * `-b`: Bazel binary that Tulsi should use to build and install the app (Default is `bazel`) * `-d`: The folder where to install the Tulsi app into (Default is `$HOME/Applications`) -* `-x`: The Xcode version Tulsi should be built for (Default is `12.4`) +* `-x`: The Xcode version Tulsi should be built for (Default is `12.5.1`) ## Notes diff --git a/build_and_run.sh b/build_and_run.sh index 704cd2a9..496608c9 100755 --- a/build_and_run.sh +++ b/build_and_run.sh @@ -23,7 +23,7 @@ set -eu unzip_dir="$HOME/Applications" bazel_path="bazel" -xcode_version="12.4" +xcode_version="12.5.1" while getopts ":b:d:x:h" opt; do case ${opt} in diff --git a/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift index f3d18d4c..4b28529d 100644 --- a/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift @@ -89,7 +89,7 @@ class BazelIntegrationTestCase: XCTestCase { // Explicitly set Xcode version to use. Must use the same version or the golden files // won't match. - bazelBuildOptions.append("--xcode_version=12.4") + bazelBuildOptions.append("--xcode_version=12.5.1") // Disable the Swift worker as it adds extra dependencies. bazelBuildOptions.append("--define=RULES_SWIFT_BUILD_DUMMY_WORKER=1") diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj index ef1ddd2c..9fbb578b 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj @@ -379,7 +379,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -404,7 +404,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -459,7 +459,7 @@ PRODUCT_NAME = AppClip; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -476,7 +476,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -543,7 +543,7 @@ PRODUCT_NAME = AppClip; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -560,7 +560,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -640,7 +640,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -665,7 +665,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj index cc5071af..2075f0c6 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj @@ -930,7 +930,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -955,7 +955,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -1022,7 +1022,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -1043,7 +1043,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -1060,7 +1060,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -1114,7 +1114,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -1226,7 +1226,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1243,7 +1243,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1297,7 +1297,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1416,7 +1416,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1441,7 +1441,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1508,7 +1508,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj index d29ec203..21ad6440 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj @@ -468,7 +468,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -493,7 +493,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -518,7 +518,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -572,7 +572,7 @@ PRODUCT_NAME = MyCommandLineApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -589,7 +589,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -606,7 +606,7 @@ PRODUCT_NAME = MyTodayExtension; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -672,7 +672,7 @@ PRODUCT_NAME = MyCommandLineApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -689,7 +689,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -706,7 +706,7 @@ PRODUCT_NAME = MyTodayExtension; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -785,7 +785,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -810,7 +810,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -835,7 +835,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj index 1a09a0ca..2f1ace18 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj @@ -587,7 +587,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -612,7 +612,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -640,7 +640,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -708,7 +708,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -728,7 +728,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -745,7 +745,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -766,7 +766,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -822,7 +822,7 @@ SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -854,7 +854,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -871,7 +871,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -892,7 +892,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -948,7 +948,7 @@ SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -987,7 +987,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1012,7 +1012,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1040,7 +1040,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1108,7 +1108,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj index 93c778dc..8a10acb3 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj @@ -348,7 +348,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -373,7 +373,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -398,7 +398,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -452,7 +452,7 @@ PRODUCT_NAME = ApplicationOne; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -469,7 +469,7 @@ PRODUCT_NAME = ApplicationTwo; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -486,7 +486,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -540,7 +540,7 @@ PRODUCT_NAME = ApplicationOne; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -557,7 +557,7 @@ PRODUCT_NAME = ApplicationTwo; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -574,7 +574,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -641,7 +641,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -666,7 +666,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -691,7 +691,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj index b5a315b8..9b2893c7 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj @@ -328,7 +328,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -407,7 +407,7 @@ PRODUCT_NAME = ccBinary; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -486,7 +486,7 @@ PRODUCT_NAME = ccBinary; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -552,7 +552,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj index 90835b97..ea3e40f6 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj @@ -666,7 +666,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -691,7 +691,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -757,7 +757,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -781,7 +781,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -802,7 +802,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -819,7 +819,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -872,7 +872,7 @@ PRODUCT_NAME = TargetApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -941,7 +941,7 @@ PRODUCT_NAME = ccTest; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -962,7 +962,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -979,7 +979,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1032,7 +1032,7 @@ PRODUCT_NAME = TargetApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1101,7 +1101,7 @@ PRODUCT_NAME = ccTest; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1129,7 +1129,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1154,7 +1154,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1220,7 +1220,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1244,7 +1244,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj index e8d90795..d0ba9b03 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj @@ -361,7 +361,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Release; @@ -386,7 +386,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Release; @@ -453,7 +453,7 @@ PRODUCT_NAME = tvOSApplication; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Debug; @@ -470,7 +470,7 @@ PRODUCT_NAME = tvOSExtension; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Debug; @@ -537,7 +537,7 @@ PRODUCT_NAME = tvOSApplication; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Release; @@ -554,7 +554,7 @@ PRODUCT_NAME = tvOSExtension; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Release; @@ -621,7 +621,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Debug; @@ -646,7 +646,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Debug; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj index d1be4aa9..10c472cf 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj @@ -462,7 +462,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -517,7 +517,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -628,7 +628,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -752,7 +752,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 273ed622..a821c466 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -4,6 +4,8 @@ BuildSystemType Original + DisableBuildSystemDeprecationDiagnostic + DisableBuildSystemDeprecationWarning IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj index 4d158b96..5a2cfe2c 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj @@ -623,7 +623,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -648,7 +648,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -676,7 +676,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -704,7 +704,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -772,7 +772,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -793,7 +793,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -810,7 +810,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -831,7 +831,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -852,7 +852,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -908,7 +908,7 @@ SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -941,7 +941,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -958,7 +958,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -979,7 +979,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1000,7 +1000,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1056,7 +1056,7 @@ SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -1096,7 +1096,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1121,7 +1121,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1149,7 +1149,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1177,7 +1177,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1245,7 +1245,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj index 95c4c8f7..02e9fa0e 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj @@ -356,7 +356,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -381,7 +381,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -444,7 +444,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -461,7 +461,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -531,7 +531,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -548,7 +548,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -625,7 +625,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -650,7 +650,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj index 7007ec73..72b9582d 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj @@ -524,7 +524,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -549,7 +549,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -577,7 +577,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -605,7 +605,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -668,7 +668,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -685,7 +685,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -706,7 +706,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -727,7 +727,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -797,7 +797,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -814,7 +814,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -835,7 +835,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -856,7 +856,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -933,7 +933,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -958,7 +958,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -986,7 +986,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -1014,7 +1014,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj index 7826affc..0a042ccf 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj @@ -489,7 +489,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Release; }; @@ -513,7 +513,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Release; @@ -538,7 +538,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Release; @@ -593,7 +593,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Debug; }; @@ -609,7 +609,7 @@ PRODUCT_NAME = WatchApplication; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Debug; @@ -626,7 +626,7 @@ PRODUCT_NAME = WatchExtension; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Debug; @@ -705,7 +705,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = Release; }; @@ -721,7 +721,7 @@ PRODUCT_NAME = WatchApplication; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Release; @@ -738,7 +738,7 @@ PRODUCT_NAME = WatchExtension; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Release; @@ -830,7 +830,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; }; name = __TulsiTestRunner_Debug; }; @@ -854,7 +854,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Debug; @@ -879,7 +879,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.4.0.12D4e; + TULSI_XCODE_VERSION = 12.5.1.12E507; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Debug; diff --git a/src/TulsiGeneratorIntegrationTests/update_goldens.sh b/src/TulsiGeneratorIntegrationTests/update_goldens.sh index 35e7b7ee..fc4b2444 100755 --- a/src/TulsiGeneratorIntegrationTests/update_goldens.sh +++ b/src/TulsiGeneratorIntegrationTests/update_goldens.sh @@ -17,7 +17,7 @@ set -eu # Update this whenever the version of Xcode needed to generate the goldens # changes. -readonly XCODE_VERSION=12.4 +readonly XCODE_VERSION=12.5.1 readonly WORKSPACE=$(bazel info workspace) readonly TEST_PATH="src/TulsiGeneratorIntegrationTests" From 2eb1def2e6e077d079faffe4dc100d2ca9c0cedc Mon Sep 17 00:00:00 2001 From: davg Date: Wed, 18 Aug 2021 12:36:15 -0400 Subject: [PATCH 27/48] Updates version number to 0.4.391542404.20210818. Significant changes: - Improved performance when querying for BUILD/bzl files PiperOrigin-RevId: 391546363 (cherry picked from commit 53d31b0546ad48f0480ce6b1ca848439cc4af087) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index dda548ee..7ffad496 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "384524523" +TULSI_VERSION_FIXLEVEL = "391542404" -TULSI_VERSION_DATE = "20210713" +TULSI_VERSION_DATE = "20210818" TULSI_VERSION_COPYRIGHT = "2015-2018" From d88dacc0feae920c2a2fe9e5e1c18f583aef8141 Mon Sep 17 00:00:00 2001 From: davg Date: Mon, 30 Aug 2021 12:43:44 -0400 Subject: [PATCH 28/48] Slight tweaks to build flags used for project generation - Use the newer `--run_validations` flag - Disable the `dsyms` output group that some folks might manually enable by accident PiperOrigin-RevId: 393791135 (cherry picked from commit 043040df1bc175b5f71d7af80877af0fa98e28f1) --- src/TulsiGenerator/BazelAspectInfoExtractor.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/TulsiGenerator/BazelAspectInfoExtractor.swift b/src/TulsiGenerator/BazelAspectInfoExtractor.swift index 6db19b8d..9b284dbb 100644 --- a/src/TulsiGenerator/BazelAspectInfoExtractor.swift +++ b/src/TulsiGenerator/BazelAspectInfoExtractor.swift @@ -231,12 +231,15 @@ final class BazelAspectInfoExtractor: QueuedLogging { "--features=-parse_headers", // Don't run validation actions during project generation; validation actions could // slow down the project generation or fail it. - "--experimental_run_validations=0", + "--norun_validations", // The following flags WILL affect Bazel analysis caching. // Keep this consistent with bazel_build.py. "--aspects", "@tulsi//:tulsi/tulsi_aspects.bzl%\(aspect)", - "--output_groups=tulsi_info,-_,-default", // Build only the aspect artifacts. + // Build only the aspect artifacts. We explicitly disable the + // rules_apple `dsyms` output group since it may trigger a full build + // and we've seen some folks enabling it in their rc file. + "--output_groups=tulsi_info,-dsyms", ]) arguments.append(contentsOf: targets) From 498a68037b402d726f6da6d0ab86d460db9f37a3 Mon Sep 17 00:00:00 2001 From: davg Date: Wed, 15 Sep 2021 17:06:10 -0400 Subject: [PATCH 29/48] Updates version number to 0.4.396915249.20210915. PiperOrigin-RevId: 396918740 (cherry picked from commit f151befb3900ae1f122fdf5a4dc2b0870dffd95c) --- version.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.bzl b/version.bzl index 7ffad496..671caed2 100644 --- a/version.bzl +++ b/version.bzl @@ -4,9 +4,9 @@ # Version number (recorded into the Info.plist) TULSI_VERSION_MAJOR = "0" -TULSI_VERSION_FIXLEVEL = "391542404" +TULSI_VERSION_FIXLEVEL = "396915249" -TULSI_VERSION_DATE = "20210818" +TULSI_VERSION_DATE = "20210915" TULSI_VERSION_COPYRIGHT = "2015-2018" From dcaf13d3d1d9294d820682f12db9a889659c63c7 Mon Sep 17 00:00:00 2001 From: davg Date: Wed, 29 Sep 2021 17:55:49 -0400 Subject: [PATCH 30/48] Update iOS sim device to use for E2E tests Updated to be in sync with our current Xcode target of Xcode 12.5.1 PiperOrigin-RevId: 399783838 (cherry picked from commit a3dec4cc165ca4044215f523bac06b1bf7623861) --- src/TulsiEndToEndTests/TulsiEndToEndTest.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TulsiEndToEndTests/TulsiEndToEndTest.swift b/src/TulsiEndToEndTests/TulsiEndToEndTest.swift index 88b5e2a7..b5fd2a43 100644 --- a/src/TulsiEndToEndTests/TulsiEndToEndTest.swift +++ b/src/TulsiEndToEndTests/TulsiEndToEndTest.swift @@ -21,7 +21,7 @@ import XCTest // generated xcodeproj by running the projects unit tests. class TulsiEndToEndTest: BazelIntegrationTestCase { fileprivate static let simulatorName = "tulsie2e-\(UUID().uuidString.prefix(8))" - fileprivate static let targetVersion = "14.2" + fileprivate static let targetVersion = "14.5" let fileManager = FileManager.default var runfilesWorkspaceURL: URL! = nil @@ -36,7 +36,7 @@ class TulsiEndToEndTest: BazelIntegrationTestCase { override class func setUp() { super.setUp() - let targetDevice = "iPhone XS" + let targetDevice = "iPhone 12 Pro" let deviceName = targetDevice.replacingOccurrences(of: " ", with: "-") let deviceVersion = TulsiEndToEndTest.targetVersion.replacingOccurrences(of: ".", with: "-") let typeId = "com.apple.CoreSimulator.SimDeviceType.\(deviceName)" From 739fdcbc428e8c07a901a60f8531df28b5feec4f Mon Sep 17 00:00:00 2001 From: ivanhernandez Date: Mon, 18 Oct 2021 17:01:02 -0400 Subject: [PATCH 31/48] Update Tulsi to Xcode 13.0. PiperOrigin-RevId: 404053261 (cherry picked from commit 4fd4d4caa99220b55fb592488bddc89c73b86d22) --- .bazelci/presubmit.yml | 2 +- README.md | 2 +- build_and_run.sh | 2 +- .../BazelIntegrationTestCase.swift | 2 +- .../AppClipProject.xcodeproj/project.pbxproj | 16 ++++---- .../project.pbxproj | 24 +++++------ .../MacOSProject.xcodeproj/project.pbxproj | 24 +++++------ .../project.pbxproj | 32 +++++++-------- .../project.pbxproj | 24 +++++------ .../SimpleCCProject.xcodeproj/project.pbxproj | 8 ++-- .../SimpleProject.xcodeproj/project.pbxproj | 32 +++++++-------- .../project.pbxproj | 16 ++++---- .../SwiftProject.xcodeproj/project.pbxproj | 8 ++-- .../project.pbxproj | 40 +++++++++---------- .../project.pbxproj | 16 ++++---- .../project.pbxproj | 32 +++++++-------- .../WatchProject.xcodeproj/project.pbxproj | 24 +++++------ .../update_goldens.sh | 2 +- 18 files changed, 153 insertions(+), 153 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index c6b387c0..d45bd4b3 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -2,7 +2,7 @@ x_defaults: common: &common platform: macos - xcode_version: "12.5.1" + xcode_version: "13.0" build_targets: - "//:tulsi" test_flags: diff --git a/README.md b/README.md index d8761c4a..1db9a5aa 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Run `build_and_run.sh`. This will install Tulsi.app inside `$HOME/Applications` * `-b`: Bazel binary that Tulsi should use to build and install the app (Default is `bazel`) * `-d`: The folder where to install the Tulsi app into (Default is `$HOME/Applications`) -* `-x`: The Xcode version Tulsi should be built for (Default is `12.5.1`) +* `-x`: The Xcode version Tulsi should be built for (Default is `13.0.0`) ## Notes diff --git a/build_and_run.sh b/build_and_run.sh index 496608c9..3cd8e9c0 100755 --- a/build_and_run.sh +++ b/build_and_run.sh @@ -23,7 +23,7 @@ set -eu unzip_dir="$HOME/Applications" bazel_path="bazel" -xcode_version="12.5.1" +xcode_version="13.0" while getopts ":b:d:x:h" opt; do case ${opt} in diff --git a/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift index 4b28529d..1240acb3 100644 --- a/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift +++ b/src/TulsiGeneratorIntegrationTests/BazelIntegrationTestCase.swift @@ -89,7 +89,7 @@ class BazelIntegrationTestCase: XCTestCase { // Explicitly set Xcode version to use. Must use the same version or the golden files // won't match. - bazelBuildOptions.append("--xcode_version=12.5.1") + bazelBuildOptions.append("--xcode_version=13.0.0") // Disable the Swift worker as it adds extra dependencies. bazelBuildOptions.append("--define=RULES_SWIFT_BUILD_DUMMY_WORKER=1") diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj index 9fbb578b..6ac66d4b 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/AppClipProject.xcodeproj/project.pbxproj @@ -379,7 +379,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -404,7 +404,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -459,7 +459,7 @@ PRODUCT_NAME = AppClip; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -476,7 +476,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -543,7 +543,7 @@ PRODUCT_NAME = AppClip; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -560,7 +560,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -640,7 +640,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -665,7 +665,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_app_clip; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj index 2075f0c6..f90c0bad 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj @@ -930,7 +930,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -955,7 +955,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -1022,7 +1022,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -1043,7 +1043,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -1060,7 +1060,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -1114,7 +1114,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -1226,7 +1226,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1243,7 +1243,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1297,7 +1297,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1416,7 +1416,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_complex; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1441,7 +1441,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1508,7 +1508,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_complex; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj index 21ad6440..7947eeba 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj @@ -468,7 +468,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -493,7 +493,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -518,7 +518,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -572,7 +572,7 @@ PRODUCT_NAME = MyCommandLineApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -589,7 +589,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -606,7 +606,7 @@ PRODUCT_NAME = MyTodayExtension; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -672,7 +672,7 @@ PRODUCT_NAME = MyCommandLineApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -689,7 +689,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -706,7 +706,7 @@ PRODUCT_NAME = MyTodayExtension; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -785,7 +785,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -810,7 +810,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -835,7 +835,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj index 2f1ace18..5b8689e7 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj @@ -587,7 +587,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -612,7 +612,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -640,7 +640,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -708,7 +708,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -728,7 +728,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -745,7 +745,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -766,7 +766,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -822,7 +822,7 @@ SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -854,7 +854,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -871,7 +871,7 @@ PRODUCT_NAME = MyMacOSApp; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -892,7 +892,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -948,7 +948,7 @@ SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -987,7 +987,7 @@ TEST_TARGET_NAME = MyMacOSApp; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1012,7 +1012,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1040,7 +1040,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1108,7 +1108,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_mac; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj index 8a10acb3..6131e4e0 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MultiExtensionProject.xcodeproj/project.pbxproj @@ -348,7 +348,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -373,7 +373,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -398,7 +398,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -452,7 +452,7 @@ PRODUCT_NAME = ApplicationOne; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -469,7 +469,7 @@ PRODUCT_NAME = ApplicationTwo; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -486,7 +486,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -540,7 +540,7 @@ PRODUCT_NAME = ApplicationOne; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -557,7 +557,7 @@ PRODUCT_NAME = ApplicationTwo; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -574,7 +574,7 @@ PRODUCT_NAME = TodayExtension; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -641,7 +641,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -666,7 +666,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -691,7 +691,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_multi_extension; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj index 9b2893c7..53d05911 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj @@ -328,7 +328,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -407,7 +407,7 @@ PRODUCT_NAME = ccBinary; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -486,7 +486,7 @@ PRODUCT_NAME = ccBinary; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -552,7 +552,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_ccsimple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj index ea3e40f6..06d511da 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj @@ -666,7 +666,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -691,7 +691,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -757,7 +757,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -781,7 +781,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -802,7 +802,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -819,7 +819,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -872,7 +872,7 @@ PRODUCT_NAME = TargetApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -941,7 +941,7 @@ PRODUCT_NAME = ccTest; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -962,7 +962,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -979,7 +979,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1032,7 +1032,7 @@ PRODUCT_NAME = TargetApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1101,7 +1101,7 @@ PRODUCT_NAME = ccTest; SDKROOT = macosx; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1129,7 +1129,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application"; TULSI_BUILD_PATH = tulsi_e2e_simple; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1154,7 +1154,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1220,7 +1220,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1244,7 +1244,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_simple; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj index d0ba9b03..ca9c8f54 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj @@ -361,7 +361,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Release; @@ -386,7 +386,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Release; @@ -453,7 +453,7 @@ PRODUCT_NAME = tvOSApplication; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Debug; @@ -470,7 +470,7 @@ PRODUCT_NAME = tvOSExtension; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Debug; @@ -537,7 +537,7 @@ PRODUCT_NAME = tvOSApplication; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Release; @@ -554,7 +554,7 @@ PRODUCT_NAME = tvOSExtension; SDKROOT = appletvos; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Release; @@ -621,7 +621,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Debug; @@ -646,7 +646,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_tvos_project; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; TVOS_DEPLOYMENT_TARGET = 10.0; }; name = __TulsiTestRunner_Debug; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj index 10c472cf..2e8e7175 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj @@ -462,7 +462,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -517,7 +517,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -628,7 +628,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -752,7 +752,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_swift; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj index 5a2cfe2c..e5f42ccb 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj @@ -623,7 +623,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -648,7 +648,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -676,7 +676,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -704,7 +704,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -772,7 +772,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -793,7 +793,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -810,7 +810,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -831,7 +831,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -852,7 +852,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -908,7 +908,7 @@ SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -941,7 +941,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -958,7 +958,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -979,7 +979,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1000,7 +1000,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1056,7 +1056,7 @@ SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -1096,7 +1096,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1121,7 +1121,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1149,7 +1149,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1177,7 +1177,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1245,7 +1245,7 @@ SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj index 02e9fa0e..6ee7b044 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj @@ -356,7 +356,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -381,7 +381,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -444,7 +444,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -461,7 +461,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -531,7 +531,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -548,7 +548,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -625,7 +625,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -650,7 +650,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj index 72b9582d..8e338cf8 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj @@ -524,7 +524,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -549,7 +549,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -577,7 +577,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -605,7 +605,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -668,7 +668,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -685,7 +685,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -706,7 +706,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -727,7 +727,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -797,7 +797,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -814,7 +814,7 @@ PRODUCT_NAME = TestApplication; SDKROOT = iphoneos; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -835,7 +835,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -856,7 +856,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -933,7 +933,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -958,7 +958,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = TestSuite; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -986,7 +986,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -1014,7 +1014,7 @@ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; TULSI_BUILD_PATH = TestSuite; TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj index 0a042ccf..b96f365d 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj @@ -489,7 +489,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Release; }; @@ -513,7 +513,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Release; @@ -538,7 +538,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Release; @@ -593,7 +593,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Debug; }; @@ -609,7 +609,7 @@ PRODUCT_NAME = WatchApplication; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Debug; @@ -626,7 +626,7 @@ PRODUCT_NAME = WatchExtension; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Debug; @@ -705,7 +705,7 @@ PRODUCT_NAME = Application; SDKROOT = iphoneos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = Release; }; @@ -721,7 +721,7 @@ PRODUCT_NAME = WatchApplication; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Release; @@ -738,7 +738,7 @@ PRODUCT_NAME = WatchExtension; SDKROOT = watchos; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = Release; @@ -830,7 +830,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; }; name = __TulsiTestRunner_Debug; }; @@ -854,7 +854,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Debug; @@ -879,7 +879,7 @@ SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TULSI_BUILD_PATH = tulsi_e2e_watch; - TULSI_XCODE_VERSION = 12.5.1.12E507; + TULSI_XCODE_VERSION = 13.0.0.13A233; WATCHOS_DEPLOYMENT_TARGET = 3.0; }; name = __TulsiTestRunner_Debug; diff --git a/src/TulsiGeneratorIntegrationTests/update_goldens.sh b/src/TulsiGeneratorIntegrationTests/update_goldens.sh index fc4b2444..02c8282d 100755 --- a/src/TulsiGeneratorIntegrationTests/update_goldens.sh +++ b/src/TulsiGeneratorIntegrationTests/update_goldens.sh @@ -17,7 +17,7 @@ set -eu # Update this whenever the version of Xcode needed to generate the goldens # changes. -readonly XCODE_VERSION=12.5.1 +readonly XCODE_VERSION=13.0 readonly WORKSPACE=$(bazel info workspace) readonly TEST_PATH="src/TulsiGeneratorIntegrationTests" From fe2721c8191c39e8150f366d03e561e45706149d Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 28 Oct 2021 10:50:16 -0400 Subject: [PATCH 32/48] Automatic code cleanup. PiperOrigin-RevId: 406138012 (cherry picked from commit 152959785010edc7cc99afde2bbb5e6a54f0a5bf) --- src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl index 28c8c237..8ce110ec 100644 --- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl +++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl @@ -1255,7 +1255,6 @@ tulsi_sources_aspect = aspect( )), }, toolchains = ["@bazel_tools//tools/cpp:toolchain_type"], - incompatible_use_toolchain_transition = True, fragments = [ "apple", "cpp", From afd7ee90d2ed529225356289ebe9d9ed82c38587 Mon Sep 17 00:00:00 2001 From: davg Date: Fri, 29 Oct 2021 14:03:56 -0400 Subject: [PATCH 33/48] Fix some warnings in the Tulsi module Also remove some sneaky semicolons. PiperOrigin-RevId: 406397098 (cherry picked from commit fe0cc3c1f39cf9d66346dbba45f795900e1b9a73) --- src/Tulsi/MessageViewController.swift | 2 +- src/Tulsi/ProjectEditorConfigManagerViewController.swift | 2 +- src/Tulsi/ProjectEditorPackageManagerViewController.swift | 2 +- src/TulsiGenerator/PBXObjects.swift | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Tulsi/MessageViewController.swift b/src/Tulsi/MessageViewController.swift index 787d2d85..e5035ef1 100644 --- a/src/Tulsi/MessageViewController.swift +++ b/src/Tulsi/MessageViewController.swift @@ -52,7 +52,7 @@ final class MessageViewController: NSViewController, NSTableViewDelegate, NSUser ValueTransformer.setValueTransformer(MessageTypeToImageValueTransformer(), forName: NSValueTransformerName(rawValue: "MessageTypeToImageValueTransformer")) super.loadView() - bind(NSBindingName(rawValue: "messageCount"), to: messageArrayController, withKeyPath: "arrangedObjects.@count", options: nil) + bind(NSBindingName(rawValue: "messageCount"), to: messageArrayController!, withKeyPath: "arrangedObjects.@count", options: nil) } @IBAction func copy(_ sender: AnyObject?) { diff --git a/src/Tulsi/ProjectEditorConfigManagerViewController.swift b/src/Tulsi/ProjectEditorConfigManagerViewController.swift index b504fe45..2e62afdb 100644 --- a/src/Tulsi/ProjectEditorConfigManagerViewController.swift +++ b/src/Tulsi/ProjectEditorConfigManagerViewController.swift @@ -85,7 +85,7 @@ final class ProjectEditorConfigManagerViewController: NSViewController { forName: NSValueTransformerName(rawValue: "IsOneValueTransformer")) super.loadView() bind(NSBindingName(rawValue: "numSelectedConfigs"), - to: configArrayController, + to: configArrayController!, withKeyPath: "selectedObjects.@count", options: nil) self.generateButton.keyEquivalent = "\r" diff --git a/src/Tulsi/ProjectEditorPackageManagerViewController.swift b/src/Tulsi/ProjectEditorPackageManagerViewController.swift index cbc209b8..5d7991be 100644 --- a/src/Tulsi/ProjectEditorPackageManagerViewController.swift +++ b/src/Tulsi/ProjectEditorPackageManagerViewController.swift @@ -48,7 +48,7 @@ final class ProjectEditorPackageManagerViewController: NSViewController, NewProj forName: NSValueTransformerName(rawValue: "PackagePathValueTransformer")) super.loadView() bind(NSBindingName(rawValue: "numSelectedPackagePaths"), - to: packageArrayController, + to: packageArrayController!, withKeyPath: "selectedObjects.@count", options: nil) } diff --git a/src/TulsiGenerator/PBXObjects.swift b/src/TulsiGenerator/PBXObjects.swift index 417b5063..d3fd384c 100644 --- a/src/TulsiGenerator/PBXObjects.swift +++ b/src/TulsiGenerator/PBXObjects.swift @@ -146,7 +146,7 @@ class PBXReference: PBXObjectProtocol { fileprivate weak var _parent: PBXReference? init(name: String, path: String?, sourceTree: SourceTree, parent: PBXReference? = nil) { - self.name = name; + self.name = name self.path = path self.sourceTree = sourceTree self._parent = parent @@ -1321,8 +1321,8 @@ final class PBXProject: PBXObjectProtocol { try serializer.addField("attributes", attributes) try serializer.addField("buildConfigurationList", buildConfigurationList) try serializer.addField("compatibilityVersion", compatibilityVersion) - try serializer.addField("mainGroup", mainGroup); - try serializer.addField("targets", targetByName.values.sorted(by: {$0.name < $1.name})); + try serializer.addField("mainGroup", mainGroup) + try serializer.addField("targets", targetByName.values.sorted(by: {$0.name < $1.name})) // Hardcoded defaults to match Xcode behavior. try serializer.addField("developmentRegion", "English") From 9c7b6eb6c7ca35d1ad23921f616bec5f6215b7d2 Mon Sep 17 00:00:00 2001 From: davg Date: Wed, 3 Nov 2021 15:03:22 -0400 Subject: [PATCH 34/48] Fix some warnings in TulsiGenerator + a xib Just have some hashable warnings left now plus 2 xibs with clipping warnings. PiperOrigin-RevId: 407392908 (cherry picked from commit ec25d2f8b4076d7bfeb17ae1b5a925e3dc512aa1) --- src/Tulsi/Base.lproj/BazelOpenSheetAccessoryView.xib | 6 +++--- src/TulsiGenerator/TulsiOption.swift | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Tulsi/Base.lproj/BazelOpenSheetAccessoryView.xib b/src/Tulsi/Base.lproj/BazelOpenSheetAccessoryView.xib index e61d02e2..d3687424 100644 --- a/src/Tulsi/Base.lproj/BazelOpenSheetAccessoryView.xib +++ b/src/Tulsi/Base.lproj/BazelOpenSheetAccessoryView.xib @@ -1,7 +1,7 @@ - + - + @@ -17,7 +17,7 @@