@@ -84,7 +84,12 @@ struct APIDiff: AsyncSwiftCommand {
8484 let repository = GitRepository ( path: packageRoot)
8585 let baselineRevision = try repository. resolveRevision ( identifier: treeish)
8686
87- let baselineDir = try overrideBaselineDir? . appending ( component: baselineRevision. identifier) ?? swiftCommandState. productsBuildParameters. apiDiff. appending ( component: " \( baselineRevision. identifier) -baselines " )
87+ let baselineDir : Basics . AbsolutePath
88+ if let overrideBaselineDir {
89+ baselineDir = overrideBaselineDir. appending ( component: baselineRevision. identifier)
90+ } else {
91+ baselineDir = try await swiftCommandState. productsBuildParameters. apiDiff. appending ( component: " \( baselineRevision. identifier) -baselines " )
92+ }
8893 let packageGraph = try await swiftCommandState. loadPackageGraph ( )
8994 let modulesToDiff = try Self . determineModulesToDiff (
9095 packageGraph: packageGraph,
@@ -115,7 +120,7 @@ struct APIDiff: AsyncSwiftCommand {
115120 }
116121
117122 private func runWithSwiftPMCoordinatedDiffing( _ swiftCommandState: SwiftCommandState , buildSystem: any BuildSystem , baselineRevision: Revision , modulesToDiff: Set < String > ) async throws {
118- let apiDigesterPath = try swiftCommandState. getTargetToolchain ( ) . getSwiftAPIDigester ( )
123+ let apiDigesterPath = try await swiftCommandState. getTargetToolchain ( ) . getSwiftAPIDigester ( )
119124 let apiDigesterTool = SwiftAPIDigester ( fileSystem: swiftCommandState. fileSystem, tool: apiDigesterPath)
120125
121126 // Build the current package.
@@ -198,7 +203,7 @@ struct APIDiff: AsyncSwiftCommand {
198203 let modulesWithBaselines = try await generateAPIBaselineUsingIntegratedAPIDigesterSupport ( swiftCommandState, baselineRevision: baselineRevision, baselineDir: baselineDir, modulesNeedingBaselines: modulesToDiff)
199204
200205 // Build the package and run a comparison agains the baselines.
201- var productsBuildParameters = try swiftCommandState. productsBuildParameters
206+ var productsBuildParameters = try await swiftCommandState. productsBuildParameters
202207 productsBuildParameters. apiDigesterMode = . compareToBaselines(
203208 baselinesDirectory: baselineDir,
204209 modulesToCompare: modulesWithBaselines,
@@ -258,7 +263,7 @@ struct APIDiff: AsyncSwiftCommand {
258263
259264 private func generateAPIBaselineUsingIntegratedAPIDigesterSupport( _ swiftCommandState: SwiftCommandState , baselineRevision: Revision , baselineDir: Basics . AbsolutePath , modulesNeedingBaselines: Set < String > ) async throws -> Set < String > {
260265 // Setup a temporary directory where we can checkout and build the baseline treeish.
261- let baselinePackageRoot = try swiftCommandState. productsBuildParameters. apiDiff. appending ( " \( baselineRevision. identifier) -checkout " )
266+ let baselinePackageRoot = try await swiftCommandState. productsBuildParameters. apiDiff. appending ( " \( baselineRevision. identifier) -checkout " )
262267 if swiftCommandState. fileSystem. exists ( baselinePackageRoot) {
263268 try swiftCommandState. fileSystem. removeFileTree ( baselinePackageRoot)
264269 }
@@ -279,7 +284,7 @@ struct APIDiff: AsyncSwiftCommand {
279284 try workingCopy. checkout ( revision: baselineRevision)
280285
281286 // Create the workspace for this package.
282- let workspace = try Workspace (
287+ let workspace = try await Workspace (
283288 forRootPackage: baselinePackageRoot,
284289 cancellator: swiftCommandState. cancellator
285290 )
@@ -307,7 +312,7 @@ struct APIDiff: AsyncSwiftCommand {
307312 }
308313
309314 // Update the data path input build parameters so it's built in the sandbox.
310- var productsBuildParameters = try swiftCommandState. productsBuildParameters
315+ var productsBuildParameters = try await swiftCommandState. productsBuildParameters
311316 productsBuildParameters. dataPath = workspace. location. scratchDirectory
312317 productsBuildParameters. apiDigesterMode = . generateBaselines( baselinesDirectory: baselineDir, modulesRequestingBaselines: modulesNeedingBaselines)
313318
0 commit comments