@@ -15,29 +15,31 @@ import (
15
15
)
16
16
17
17
const (
18
- searchDirFlag = "dir"
19
- excludeFlag = "exclude"
20
- generalInfoFlag = "generalInfo"
21
- propertyStrategyFlag = "propertyStrategy"
22
- outputFlag = "output"
23
- outputTypesFlag = "outputTypes"
24
- parseVendorFlag = "parseVendor"
25
- parseDependencyFlag = "parseDependency"
26
- markdownFilesFlag = "markdownFiles"
27
- codeExampleFilesFlag = "codeExampleFiles"
28
- parseInternalFlag = "parseInternal"
29
- generatedTimeFlag = "generatedTime"
30
- requiredByDefaultFlag = "requiredByDefault"
31
- parseDepthFlag = "parseDepth"
32
- instanceNameFlag = "instanceName"
33
- overridesFileFlag = "overridesFile"
34
- parseGoListFlag = "parseGoList"
35
- quietFlag = "quiet"
36
- tagsFlag = "tags"
37
- parseExtensionFlag = "parseExtension"
38
- templateDelimsFlag = "templateDelims"
39
- packageName = "packageName"
40
- collectionFormatFlag = "collectionFormat"
18
+ searchDirFlag = "dir"
19
+ excludeFlag = "exclude"
20
+ generalInfoFlag = "generalInfo"
21
+ propertyStrategyFlag = "propertyStrategy"
22
+ outputFlag = "output"
23
+ outputTypesFlag = "outputTypes"
24
+ parseVendorFlag = "parseVendor"
25
+ parseDependencyFlag = "parseDependency"
26
+ parseDependencyLevelFlag = "parseDependencyLevel"
27
+ markdownFilesFlag = "markdownFiles"
28
+ codeExampleFilesFlag = "codeExampleFiles"
29
+ parseInternalFlag = "parseInternal"
30
+ generatedTimeFlag = "generatedTime"
31
+ requiredByDefaultFlag = "requiredByDefault"
32
+ parseDepthFlag = "parseDepth"
33
+ instanceNameFlag = "instanceName"
34
+ overridesFileFlag = "overridesFile"
35
+ parseGoListFlag = "parseGoList"
36
+ quietFlag = "quiet"
37
+ tagsFlag = "tags"
38
+ parseExtensionFlag = "parseExtension"
39
+ templateDelimsFlag = "templateDelims"
40
+ packageName = "packageName"
41
+ collectionFormatFlag = "collectionFormat"
42
+ packagePrefixFlag = "packagePrefix"
41
43
)
42
44
43
45
var initFlags = []cli.Flag {
@@ -84,6 +86,11 @@ var initFlags = []cli.Flag{
84
86
Name : parseVendorFlag ,
85
87
Usage : "Parse go files in 'vendor' folder, disabled by default" ,
86
88
},
89
+ & cli.IntFlag {
90
+ Name : parseDependencyLevelFlag ,
91
+ Aliases : []string {"pdl" },
92
+ Usage : "Parse go files inside dependency folder, 0 disabled, 1 only parse models, 2 only parse operations, 3 parse all" ,
93
+ },
87
94
& cli.BoolFlag {
88
95
Name : parseDependencyFlag ,
89
96
Aliases : []string {"pd" },
@@ -161,6 +168,11 @@ var initFlags = []cli.Flag{
161
168
Value : "csv" ,
162
169
Usage : "Set default collection format" ,
163
170
},
171
+ & cli.StringFlag {
172
+ Name : packagePrefixFlag ,
173
+ Value : "" ,
174
+ Usage : "Parse only packages whose import path match the given prefix, comma separated" ,
175
+ },
164
176
}
165
177
166
178
func initAction (ctx * cli.Context ) error {
@@ -198,6 +210,12 @@ func initAction(ctx *cli.Context) error {
198
210
return fmt .Errorf ("not supported %s collectionFormat" , ctx .String (collectionFormat ))
199
211
}
200
212
213
+ var pdv = ctx .Int (parseDependencyLevelFlag )
214
+ if pdv == 0 {
215
+ if ctx .Bool (parseDependencyFlag ) {
216
+ pdv = 1
217
+ }
218
+ }
201
219
return gen .New ().Build (& gen.Config {
202
220
SearchDir : ctx .String (searchDirFlag ),
203
221
Excludes : ctx .String (excludeFlag ),
@@ -207,7 +225,7 @@ func initAction(ctx *cli.Context) error {
207
225
OutputDir : ctx .String (outputFlag ),
208
226
OutputTypes : outputTypes ,
209
227
ParseVendor : ctx .Bool (parseVendorFlag ),
210
- ParseDependency : ctx . Bool ( parseDependencyFlag ) ,
228
+ ParseDependency : pdv ,
211
229
MarkdownFilesDir : ctx .String (markdownFilesFlag ),
212
230
ParseInternal : ctx .Bool (parseInternalFlag ),
213
231
GeneratedTime : ctx .Bool (generatedTimeFlag ),
@@ -223,6 +241,7 @@ func initAction(ctx *cli.Context) error {
223
241
PackageName : ctx .String (packageName ),
224
242
Debugger : logger ,
225
243
CollectionFormat : collectionFormat ,
244
+ PackagePrefix : ctx .String (packagePrefixFlag ),
226
245
})
227
246
}
228
247
0 commit comments