mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
[GO] Add go.mod in go-gin-server generator (#15339)
* Add go.mod * Add test * Generate import path * Update samples
This commit is contained in:
parent
92bcdea2fa
commit
61aadb32bd
@ -191,6 +191,7 @@ public class GoGinServerCodegen extends AbstractGoCodegen {
|
|||||||
supportingFiles.add(new SupportingFile("routers.mustache", apiPath, "routers.go"));
|
supportingFiles.add(new SupportingFile("routers.mustache", apiPath, "routers.go"));
|
||||||
supportingFiles.add(new SupportingFile("README.mustache", apiPath, "README.md")
|
supportingFiles.add(new SupportingFile("README.mustache", apiPath, "README.md")
|
||||||
.doNotOverwrite());
|
.doNotOverwrite());
|
||||||
|
supportingFiles.add(new SupportingFile("go.mod.mustache", "go.mod"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
6
modules/openapi-generator/src/main/resources/go-gin-server/go.mod.mustache
vendored
Normal file
6
modules/openapi-generator/src/main/resources/go-gin-server/go.mod.mustache
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
module {{gitHost}}/{{gitUserId}}/{{gitRepoId}}{{#isGoSubmodule}}/{{packageName}}{{/isGoSubmodule}}
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require github.com/gin-gonic/gin v1.9.0
|
||||||
|
|
@ -5,13 +5,9 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
|
|
||||||
// WARNING!
|
// WARNING!
|
||||||
// Change this to a fully-qualified import path
|
// Pass --git-repo-id and --git-user-id properties when generating the code
|
||||||
// once you place this file into your project.
|
|
||||||
// For example,
|
|
||||||
//
|
//
|
||||||
//sw "github.com/{{{gitUserId}}}/{{{gitRepoId}}}/{{{apiPath}}}"
|
sw "{{gitHost}}/{{gitUserId}}/{{gitRepoId}}{{#isGoSubmodule}}/{{packageName}}{{/isGoSubmodule}}/{{apiPath}}"
|
||||||
//
|
|
||||||
sw "./{{apiPath}}"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
|
||||||
|
* Copyright 2018 SmartBear Software
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.openapitools.codegen.goginserver;
|
||||||
|
|
||||||
|
import org.openapitools.codegen.*;
|
||||||
|
import org.openapitools.codegen.config.CodegenConfigurator;
|
||||||
|
import org.openapitools.codegen.languages.GoClientCodegen;
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
public class GoGinServerCodegenTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void verifyGoMod() throws IOException {
|
||||||
|
File output = Files.createTempDirectory("test").toFile();
|
||||||
|
output.deleteOnExit();
|
||||||
|
|
||||||
|
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||||
|
.setGeneratorName("go-gin-server")
|
||||||
|
.setGitUserId("my-user")
|
||||||
|
.setGitRepoId("my-repo")
|
||||||
|
.setPackageName("my-package")
|
||||||
|
.setInputSpec("src/test/resources/3_0/petstore.yaml")
|
||||||
|
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||||
|
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
List<File> files = generator.opts(configurator.toClientOptInput()).generate();
|
||||||
|
files.forEach(File::deleteOnExit);
|
||||||
|
|
||||||
|
TestUtils.assertFileExists(Paths.get(output + "/go.mod"));
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/go.mod"),
|
||||||
|
"module github.com/my-user/my-repo");
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/go.mod"),
|
||||||
|
"require github.com/gin-gonic/gin v1.9.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
Dockerfile
|
Dockerfile
|
||||||
api/openapi.yaml
|
api/openapi.yaml
|
||||||
|
go.mod
|
||||||
go/README.md
|
go/README.md
|
||||||
go/api_pet.go
|
go/api_pet.go
|
||||||
go/api_store.go
|
go/api_store.go
|
||||||
|
6
samples/server/petstore/go-gin-api-server/go.mod
Normal file
6
samples/server/petstore/go-gin-api-server/go.mod
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
module github.com/GIT_USER_ID/GIT_REPO_ID
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require github.com/gin-gonic/gin v1.9.0
|
||||||
|
|
@ -13,13 +13,9 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
|
|
||||||
// WARNING!
|
// WARNING!
|
||||||
// Change this to a fully-qualified import path
|
// Pass --git-repo-id and --git-user-id properties when generating the code
|
||||||
// once you place this file into your project.
|
|
||||||
// For example,
|
|
||||||
//
|
//
|
||||||
//sw "github.com/GIT_USER_ID/GIT_REPO_ID/go"
|
sw "github.com/GIT_USER_ID/GIT_REPO_ID/go"
|
||||||
//
|
|
||||||
sw "./go"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user