@@ -26,7 +26,6 @@ export default class DeployMetadataResume extends SfCommand<DeployResultJson> {
2626 public static readonly description = messages . getMessage ( 'description' ) ;
2727 public static readonly summary = messages . getMessage ( 'summary' ) ;
2828 public static readonly examples = messages . getMessages ( 'examples' ) ;
29- public static readonly requiresProject = true ;
3029 public static readonly aliases = [ 'deploy:metadata:resume' ] ;
3130 public static readonly deprecateAliases = true ;
3231
@@ -93,7 +92,17 @@ export default class DeployMetadataResume extends SfCommand<DeployResultJson> {
9392 const wait = flags . wait ?? Duration . minutes ( deployOpts . wait ) ;
9493 const { deploy } = await executeDeploy (
9594 // there will always be conflicts on a resume if anything deployed--the changes on the server are not synced to local
96- { ...deployOpts , wait, 'dry-run' : false , 'ignore-conflicts' : true } ,
95+ {
96+ ...deployOpts ,
97+ wait,
98+ 'dry-run' : false ,
99+ 'ignore-conflicts' : true ,
100+ // TODO: isMdapi is generated from 'metadata-dir' flag, but we don't have that flag here
101+ // change the cache value to actually cache the metadata-dir, and if there's a value, it isMdapi
102+ // deployCache~L38, so to tell the executeDeploy method it's ok to not have a project, we spoof a metadata-dir
103+ // in deploy~L140, it checks the if the id is present, so this metadata-dir value is never _really_ used
104+ 'metadata-dir' : deployOpts . isMdapi ? { type : 'file' , path : 'testing' } : undefined ,
105+ } ,
97106 this . config . bin ,
98107 this . project ,
99108 jobId
0 commit comments