Skip to content

Commit 06113b0

Browse files
authored
Merge branch 'swaggo:master' into master
2 parents bc6baeb + 27b27bd commit 06113b0

File tree

24 files changed

+853
-245
lines changed

24 files changed

+853
-245
lines changed

cmd/swag/main.go

+43-24
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,31 @@ import (
1515
)
1616

1717
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"
4143
)
4244

4345
var initFlags = []cli.Flag{
@@ -84,6 +86,11 @@ var initFlags = []cli.Flag{
8486
Name: parseVendorFlag,
8587
Usage: "Parse go files in 'vendor' folder, disabled by default",
8688
},
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+
},
8794
&cli.BoolFlag{
8895
Name: parseDependencyFlag,
8996
Aliases: []string{"pd"},
@@ -161,6 +168,11 @@ var initFlags = []cli.Flag{
161168
Value: "csv",
162169
Usage: "Set default collection format",
163170
},
171+
&cli.StringFlag{
172+
Name: packagePrefixFlag,
173+
Value: "",
174+
Usage: "Parse only packages whose import path match the given prefix, comma separated",
175+
},
164176
}
165177

166178
func initAction(ctx *cli.Context) error {
@@ -198,6 +210,12 @@ func initAction(ctx *cli.Context) error {
198210
return fmt.Errorf("not supported %s collectionFormat", ctx.String(collectionFormat))
199211
}
200212

213+
var pdv = ctx.Int(parseDependencyLevelFlag)
214+
if pdv == 0 {
215+
if ctx.Bool(parseDependencyFlag) {
216+
pdv = 1
217+
}
218+
}
201219
return gen.New().Build(&gen.Config{
202220
SearchDir: ctx.String(searchDirFlag),
203221
Excludes: ctx.String(excludeFlag),
@@ -207,7 +225,7 @@ func initAction(ctx *cli.Context) error {
207225
OutputDir: ctx.String(outputFlag),
208226
OutputTypes: outputTypes,
209227
ParseVendor: ctx.Bool(parseVendorFlag),
210-
ParseDependency: ctx.Bool(parseDependencyFlag),
228+
ParseDependency: pdv,
211229
MarkdownFilesDir: ctx.String(markdownFilesFlag),
212230
ParseInternal: ctx.Bool(parseInternalFlag),
213231
GeneratedTime: ctx.Bool(generatedTimeFlag),
@@ -223,6 +241,7 @@ func initAction(ctx *cli.Context) error {
223241
PackageName: ctx.String(packageName),
224242
Debugger: logger,
225243
CollectionFormat: collectionFormat,
244+
PackagePrefix: ctx.String(packagePrefixFlag),
226245
})
227246
}
228247

enums_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@ func TestParseGlobalEnums(t *testing.T) {
2828
assert.Equal(t, 15, p.packages.packages[constsPath].ConstTable["octnum"].Value)
2929
assert.Equal(t, `aa\nbb\u8888cc`, p.packages.packages[constsPath].ConstTable["nonescapestr"].Value)
3030
assert.Equal(t, "aa\nbb\u8888cc", p.packages.packages[constsPath].ConstTable["escapestr"].Value)
31-
assert.Equal(t, '\u8888', p.packages.packages[constsPath].ConstTable["escapechar"].Value)
31+
assert.Equal(t, 1_000_000, p.packages.packages[constsPath].ConstTable["underscored"].Value)
32+
assert.Equal(t, 0b10001000, p.packages.packages[constsPath].ConstTable["binaryInteger"].Value)
3233
}

example/celler/go.mod

+25-16
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/swaggo/swag/example/celler
33
go 1.17
44

55
require (
6-
github.com/gin-gonic/gin v1.7.7
6+
github.com/gin-gonic/gin v1.9.1
77
github.com/gofrs/uuid v4.2.0+incompatible
88
github.com/swaggo/files v0.0.0-20210815190702-a29dd2bc99b2
99
github.com/swaggo/gin-swagger v1.4.2
@@ -14,27 +14,36 @@ require (
1414
github.com/KyleBanks/depth v1.2.1 // indirect
1515
github.com/PuerkitoBio/purell v1.1.1 // indirect
1616
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
17+
github.com/bytedance/sonic v1.9.1 // indirect
18+
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
19+
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
1720
github.com/gin-contrib/sse v0.1.0 // indirect
1821
github.com/go-openapi/jsonpointer v0.19.5 // indirect
1922
github.com/go-openapi/jsonreference v0.19.6 // indirect
2023
github.com/go-openapi/spec v0.20.4 // indirect
2124
github.com/go-openapi/swag v0.19.15 // indirect
22-
github.com/go-playground/locales v0.13.0 // indirect
23-
github.com/go-playground/universal-translator v0.17.0 // indirect
24-
github.com/go-playground/validator/v10 v10.4.1 // indirect
25-
github.com/golang/protobuf v1.3.3 // indirect
25+
github.com/go-playground/locales v0.14.1 // indirect
26+
github.com/go-playground/universal-translator v0.18.1 // indirect
27+
github.com/go-playground/validator/v10 v10.14.0 // indirect
28+
github.com/goccy/go-json v0.10.2 // indirect
2629
github.com/josharian/intern v1.0.0 // indirect
27-
github.com/json-iterator/go v1.1.9 // indirect
28-
github.com/leodido/go-urn v1.2.0 // indirect
30+
github.com/json-iterator/go v1.1.12 // indirect
31+
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
32+
github.com/leodido/go-urn v1.2.4 // indirect
2933
github.com/mailru/easyjson v0.7.6 // indirect
30-
github.com/mattn/go-isatty v0.0.12 // indirect
31-
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
32-
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 // indirect
33-
github.com/ugorji/go/codec v1.1.7 // indirect
34-
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect
35-
golang.org/x/net v0.7.0 // indirect
36-
golang.org/x/sys v0.5.0 // indirect
37-
golang.org/x/text v0.7.0 // indirect
38-
golang.org/x/tools v0.1.12 // indirect
34+
github.com/mattn/go-isatty v0.0.19 // indirect
35+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
36+
github.com/modern-go/reflect2 v1.0.2 // indirect
37+
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
38+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
39+
github.com/ugorji/go/codec v1.2.11 // indirect
40+
golang.org/x/arch v0.3.0 // indirect
41+
golang.org/x/crypto v0.9.0 // indirect
42+
golang.org/x/net v0.10.0 // indirect
43+
golang.org/x/sys v0.8.0 // indirect
44+
golang.org/x/text v0.9.0 // indirect
45+
golang.org/x/tools v0.6.0 // indirect
46+
google.golang.org/protobuf v1.30.0 // indirect
3947
gopkg.in/yaml.v2 v2.4.0 // indirect
48+
gopkg.in/yaml.v3 v3.0.1 // indirect
4049
)

0 commit comments

Comments
 (0)