| 108 | |
| 109 | |
| 110 | def render_scheme( |
| 111 | scheme_name: str, |
| 112 | project_container: str, |
| 113 | app: Target, |
| 114 | testables: List[str], |
| 115 | ) -> str: |
| 116 | testables_block = "\n".join(testables) if testables else "" |
| 117 | return f"""<?xml version=\"1.0\" encoding=\"UTF-8\"?> |
| 118 | <Scheme |
| 119 | LastUpgradeVersion = \"0500\" |
| 120 | version = \"1.3\"> |
| 121 | <BuildAction |
| 122 | parallelizeBuildables = \"YES\" |
| 123 | buildImplicitDependencies = \"YES\"> |
| 124 | <BuildActionEntries> |
| 125 | <BuildActionEntry |
| 126 | buildForTesting = \"YES\" |
| 127 | buildForRunning = \"YES\" |
| 128 | buildForProfiling = \"YES\" |
| 129 | buildForArchiving = \"YES\" |
| 130 | buildForAnalyzing = \"YES\"> |
| 131 | <BuildableReference |
| 132 | BuildableIdentifier = \"primary\" |
| 133 | BlueprintIdentifier = \"{app.identifier}\" |
| 134 | BuildableName = \"{app.buildable_name}\" |
| 135 | BlueprintName = \"{app.name}\" |
| 136 | ReferencedContainer = \"container:{project_container}\"> |
| 137 | </BuildableReference> |
| 138 | </BuildActionEntry> |
| 139 | </BuildActionEntries> |
| 140 | </BuildAction> |
| 141 | <TestAction |
| 142 | selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\" |
| 143 | selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\" |
| 144 | shouldUseLaunchSchemeArgsEnv = \"YES\" |
| 145 | buildConfiguration = \"Debug\"> |
| 146 | <Testables> |
| 147 | {testables_block} |
| 148 | </Testables> |
| 149 | <MacroExpansion> |
| 150 | <BuildableReference |
| 151 | BuildableIdentifier = \"primary\" |
| 152 | BlueprintIdentifier = \"{app.identifier}\" |
| 153 | BuildableName = \"{app.buildable_name}\" |
| 154 | BlueprintName = \"{app.name}\" |
| 155 | ReferencedContainer = \"container:{project_container}\"> |
| 156 | </BuildableReference> |
| 157 | </MacroExpansion> |
| 158 | </TestAction> |
| 159 | <LaunchAction |
| 160 | selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\" |
| 161 | selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\" |
| 162 | launchStyle = \"0\" |
| 163 | useCustomWorkingDirectory = \"NO\" |
| 164 | buildConfiguration = \"Debug\" |
| 165 | ignoresPersistentStateOnLaunch = \"NO\" |
| 166 | debugDocumentVersioning = \"YES\" |
| 167 | allowLocationSimulation = \"YES\"> |