@@ -25,6 +25,10 @@ Messages.importMessagesDirectory(__dirname);
2525const messages = Messages . loadMessages ( '@salesforce/plugin-deploy-retrieve' , 'deploy.metadata' ) ;
2626
2727const exclusiveFlags = [ 'manifest' , 'source-dir' , 'metadata' , 'metadata-dir' ] ;
28+ const mdapiFormatFlags = 'Metadata API Format' ;
29+ const sourceFormatFlags = 'Source Format' ;
30+ const testFlags = 'Test' ;
31+ const destructiveFlags = 'Delete' ;
2832
2933export default class DeployMetadata extends SfCommand < DeployResultJson > {
3034 public static readonly description = messages . getMessage ( 'description' ) ;
@@ -76,40 +80,46 @@ export default class DeployMetadata extends SfCommand<DeployResultJson> {
7680 summary : messages . getMessage ( 'flags.manifest.summary' ) ,
7781 exclusive : exclusiveFlags . filter ( ( f ) => f !== 'manifest' ) ,
7882 exists : true ,
83+ helpGroup : sourceFormatFlags ,
7984 } ) ,
8085 metadata : Flags . string ( {
8186 char : 'm' ,
8287 summary : messages . getMessage ( 'flags.metadata.summary' ) ,
8388 multiple : true ,
8489 exclusive : exclusiveFlags . filter ( ( f ) => f !== 'metadata' ) ,
90+ helpGroup : sourceFormatFlags ,
8591 } ) ,
8692 'metadata-dir' : fileOrDirFlag ( {
8793 summary : messages . getMessage ( 'flags.metadata-dir.summary' ) ,
8894 exclusive : exclusiveFlags . filter ( ( f ) => f !== 'metadata-dir' ) ,
8995 exists : true ,
96+ helpGroup : mdapiFormatFlags ,
9097 } ) ,
9198 'single-package' : Flags . boolean ( {
9299 summary : messages . getMessage ( 'flags.single-package.summary' ) ,
93100 dependsOn : [ 'metadata-dir' ] ,
101+ helpGroup : mdapiFormatFlags ,
94102 } ) ,
95103 'source-dir' : Flags . string ( {
96104 char : 'd' ,
97105 description : messages . getMessage ( 'flags.source-dir.description' ) ,
98106 summary : messages . getMessage ( 'flags.source-dir.summary' ) ,
99107 multiple : true ,
100108 exclusive : exclusiveFlags . filter ( ( f ) => f !== 'source-dir' ) ,
109+ helpGroup : sourceFormatFlags ,
101110 } ) ,
102111 'target-org' : Flags . requiredOrg ( {
103112 char : 'o' ,
104113 description : messages . getMessage ( 'flags.target-org.description' ) ,
105114 summary : messages . getMessage ( 'flags.target-org.summary' ) ,
106115 required : true ,
107116 } ) ,
108- tests : testsFlag ,
117+ tests : { ... testsFlag , helpGroup : testFlags } ,
109118 'test-level' : testLevelFlag ( {
110119 description : messages . getMessage ( 'flags.test-level.description' ) ,
111120 summary : messages . getMessage ( 'flags.test-level.summary' ) ,
112121 options : [ TestLevel . NoTestRun , TestLevel . RunSpecifiedTests , TestLevel . RunLocalTests , TestLevel . RunAllTestsInOrg ] ,
122+ helpGroup : testFlags ,
113123 } ) ,
114124 verbose : Flags . boolean ( {
115125 summary : messages . getMessage ( 'flags.verbose.summary' ) ,
@@ -129,20 +139,28 @@ export default class DeployMetadata extends SfCommand<DeployResultJson> {
129139 summary : messages . getMessage ( 'flags.purge-on-delete.summary' ) ,
130140 dependsOn : [ 'manifest' ] ,
131141 relationships : [ { type : 'some' , flags : [ 'pre-destructive-changes' , 'post-destructive-changes' ] } ] ,
142+ helpGroup : destructiveFlags ,
132143 } ) ,
133144 'pre-destructive-changes' : Flags . file ( {
134145 summary : messages . getMessage ( 'flags.pre-destructive-changes.summary' ) ,
135146 dependsOn : [ 'manifest' ] ,
147+ helpGroup : destructiveFlags ,
136148 } ) ,
137149 'post-destructive-changes' : Flags . file ( {
138150 summary : messages . getMessage ( 'flags.post-destructive-changes.summary' ) ,
139151 dependsOn : [ 'manifest' ] ,
152+ helpGroup : destructiveFlags ,
153+ } ) ,
154+ 'coverage-formatters' : { ...coverageFormattersFlag , helpGroup : testFlags } ,
155+ junit : Flags . boolean ( {
156+ summary : messages . getMessage ( 'flags.junit.summary' ) ,
157+ dependsOn : [ 'coverage-formatters' ] ,
158+ helpGroup : testFlags ,
140159 } ) ,
141- 'coverage-formatters' : coverageFormattersFlag ,
142- junit : Flags . boolean ( { summary : messages . getMessage ( 'flags.junit.summary' ) , dependsOn : [ 'coverage-formatters' ] } ) ,
143160 'results-dir' : Flags . directory ( {
144161 dependsOn : [ 'coverage-formatters' ] ,
145162 summary : messages . getMessage ( 'flags.results-dir.summary' ) ,
163+ helpGroup : testFlags ,
146164 } ) ,
147165 } ;
148166
0 commit comments