@@ -84,7 +84,12 @@ struct APIDiff: AsyncSwiftCommand {
8484        let  repository  =  GitRepository ( path:  packageRoot) 
8585        let  baselineRevision  =  try . resolveRevision ( identifier:  treeish) 
8686
87-         let  baselineDir  =  try ? . 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 . 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 . 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 . 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 . fileSystem. removeFileTree ( baselinePackageRoot) 
264269        } 
@@ -279,7 +284,7 @@ struct APIDiff: AsyncSwiftCommand {
279284        try . 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 . 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