diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 82e21c1..44d36e1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,7 +12,7 @@ jobs: Tests: strategy: matrix: - xcode_version: ["15.3"] + xcode_version: ["15.4", "16.0"] env: DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" runs-on: macos-14 diff --git a/Plugins/RevolutionaryPlugin/Plugin.swift b/Plugins/RevolutionaryPlugin/Plugin.swift index a81fd98..41296b5 100644 --- a/Plugins/RevolutionaryPlugin/Plugin.swift +++ b/Plugins/RevolutionaryPlugin/Plugin.swift @@ -10,7 +10,7 @@ struct SwiftTestingRevolutionaryPlugin: CommandPlugin { let revolutionaryExecutable = try context.tool(named: "swift-testing-revolutionary") let argumentsToExecute = arguments - try performTool(executablePath: revolutionaryExecutable.path.url, arguments: argumentsToExecute) + try performTool(executablePath: revolutionaryExecutable.url, arguments: argumentsToExecute) } } @@ -29,12 +29,12 @@ extension SwiftTestingRevolutionaryPlugin: XcodeCommandPlugin { } let allTestFiles = target.inputFiles - .filter { $0.path.lastComponent.hasSuffix("Tests.swift") } + .filter { $0.url.lastPathComponent.hasSuffix("Tests.swift") } return files + allTestFiles } - let argumentsToExecute = extractor.remainingArguments + allTestFiles.map { $0.path.string } - try performTool(executablePath: revolutionaryExecutable.path.url, arguments: argumentsToExecute) + let argumentsToExecute = extractor.remainingArguments + allTestFiles.map { $0.url.path() } + try performTool(executablePath: revolutionaryExecutable.url, arguments: argumentsToExecute) } } @@ -55,8 +55,18 @@ private func performTool(executablePath: URL, arguments: [String]) throws { } } +#if compiler(<6.0) + extension Path { fileprivate var url: URL { URL(filePath: string) } } + +extension PluginContext.Tool { + fileprivate var url: URL { + path.url + } +} + +#endif