From 1568098c469c4ecade27b6259bf24bf0fc3b216b Mon Sep 17 00:00:00 2001 From: Hwi Han Date: Sat, 14 Jan 2023 10:40:40 +0900 Subject: [PATCH 1/3] feat: replace hyphen from docs package name --- gen/gen.go | 1 + go.mod | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gen/gen.go b/gen/gen.go index bf32014e6..2707aadd0 100644 --- a/gen/gen.go +++ b/gen/gen.go @@ -222,6 +222,7 @@ func (g *Gen) writeDocSwagger(config *Config, swagger *spec.Swagger) error { } packageName := filepath.Base(absOutputDir) + packageName = strings.ReplaceAll(packageName, "-", "_") docs, err := os.Create(docFileName) if err != nil { diff --git a/go.mod b/go.mod index dbc2eb3d4..358e9a47b 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,6 @@ go 1.18 require ( github.com/KyleBanks/depth v1.2.1 github.com/ghodss/yaml v1.0.0 - github.com/go-openapi/jsonreference v0.19.6 github.com/go-openapi/spec v0.20.4 github.com/stretchr/testify v1.7.0 github.com/urfave/cli/v2 v2.3.0 @@ -18,6 +17,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.6 // indirect github.com/go-openapi/swag v0.19.15 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/mailru/easyjson v0.7.6 // indirect From 12158ce12e624919d1971fbc02a66e367a76eed0 Mon Sep 17 00:00:00 2001 From: Hwi Han Date: Sat, 14 Jan 2023 11:41:12 +0900 Subject: [PATCH 2/3] feat: add packageName option --- cmd/swag/main.go | 7 +++++++ gen/gen.go | 12 ++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/cmd/swag/main.go b/cmd/swag/main.go index 1b2d9bb39..70c91b73d 100644 --- a/cmd/swag/main.go +++ b/cmd/swag/main.go @@ -35,6 +35,7 @@ const ( quietFlag = "quiet" tagsFlag = "tags" parseExtensionFlag = "parseExtension" + packageName = "packageName" ) var initFlags = []cli.Flag{ @@ -141,6 +142,11 @@ var initFlags = []cli.Flag{ Value: "", Usage: "A comma-separated list of tags to filter the APIs for which the documentation is generated.Special case if the tag is prefixed with the '!' character then the APIs with that tag will be excluded", }, + &cli.StringFlag{ + Name: packageName, + Value: "", + Usage: "A package name of docs.go, using output directory name by default (check `--output` option)", + }, } func initAction(ctx *cli.Context) error { @@ -181,6 +187,7 @@ func initAction(ctx *cli.Context) error { OverridesFile: ctx.String(overridesFileFlag), ParseGoList: ctx.Bool(parseGoListFlag), Tags: ctx.String(tagsFlag), + PackageName: ctx.String(packageName), Debugger: logger, }) } diff --git a/gen/gen.go b/gen/gen.go index 2707aadd0..c89c6db75 100644 --- a/gen/gen.go +++ b/gen/gen.go @@ -126,6 +126,9 @@ type Config struct { // include only tags mentioned when searching, comma separated Tags string + + // PackageName defines package name of generated `docs.go` + PackageName string } // Build builds swagger json file for given searchDir and mainAPIFile. Returns json. @@ -221,8 +224,13 @@ func (g *Gen) writeDocSwagger(config *Config, swagger *spec.Swagger) error { return err } - packageName := filepath.Base(absOutputDir) - packageName = strings.ReplaceAll(packageName, "-", "_") + var packageName string + if len(config.PackageName) > 0 { + packageName = config.PackageName + } else { + packageName = filepath.Base(absOutputDir) + packageName = strings.ReplaceAll(packageName, "-", "_") + } docs, err := os.Create(docFileName) if err != nil { From 607212ec12353bdd83d59538b041e697f736f7ea Mon Sep 17 00:00:00 2001 From: sdghchj Date: Tue, 21 Mar 2023 14:38:37 +0800 Subject: [PATCH 3/3] Update main.go --- cmd/swag/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/swag/main.go b/cmd/swag/main.go index d39c4a7a7..1b325865e 100644 --- a/cmd/swag/main.go +++ b/cmd/swag/main.go @@ -148,7 +148,7 @@ var initFlags = []cli.Flag{ Value: "", Usage: "A package name of docs.go, using output directory name by default (check `--output` option)", }, - &cli.StringFlag{ + &cli.StringFlag{ Name: collectionFormatFlag, Aliases: []string{"cf"}, Value: "csv",