diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/AccessibilityTests.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/AccessibilityTests.xcscheme index 2baaca726..6545757e6 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/AccessibilityTests.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/AccessibilityTests.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + + + + - - - - + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme index 16f0cd2ad..77e119b37 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - + buildImplicitDependencies = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/PreviewTests.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/PreviewTests.xcscheme index 9cbcccbb2..4bfd8d512 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/PreviewTests.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/PreviewTests.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - + buildImplicitDependencies = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme index cdf00b73b..40e9528bc 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + + + + - - - - + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - /#, with: "\">") + scheme.replace(#/\s*\s*<\/CommandLineArguments>/#, with: "") + scheme.replace(#/default = (?"[^"]*")(?\s*)reference = (?"[^"]*")/#) { match in + "reference = \(match.reference)\(match.indent)default = \(match.value)" + } + + // Xcode writes test plans last and omits the then redundant empty testables. + if let testPlans = scheme.firstMatch(of: #/\s*.*?<\/TestPlans>/#.dotMatchesNewlines()) { + scheme.removeSubrange(testPlans.range) + scheme.replace(#/\s*\s*<\/Testables>/#, with: "") + scheme.replace(#/\s*<\/TestAction>/#) { testPlans.output + $0.output } + } + + try scheme.write(to: url, atomically: true, encoding: .utf8) +} diff --git a/Tools/XcodeGen/postGenCommand.sh b/Tools/XcodeGen/postGenCommand.sh index 806da8fb2..454a2f93f 100644 --- a/Tools/XcodeGen/postGenCommand.sh +++ b/Tools/XcodeGen/postGenCommand.sh @@ -4,3 +4,6 @@ # Move file header template in project shared data folder cp IDETemplateMacros.plist ../../ElementX.xcodeproj/xcshareddata/ + +# Rewrite schemes the way Xcode saves them +swift normalizeSchemes.swift ../../ElementX.xcodeproj/xcshareddata/xcschemes