mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 12:40:53 +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("README.mustache", apiPath, "README.md")
|
||||
.doNotOverwrite());
|
||||
supportingFiles.add(new SupportingFile("go.mod.mustache", "go.mod"));
|
||||
}
|
||||
|
||||
@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"
|
||||
|
||||
// WARNING!
|
||||
// Change this to a fully-qualified import path
|
||||
// once you place this file into your project.
|
||||
// For example,
|
||||
// Pass --git-repo-id and --git-user-id properties when generating the code
|
||||
//
|
||||
//sw "github.com/{{{gitUserId}}}/{{{gitRepoId}}}/{{{apiPath}}}"
|
||||
//
|
||||
sw "./{{apiPath}}"
|
||||
sw "{{gitHost}}/{{gitUserId}}/{{gitRepoId}}{{#isGoSubmodule}}/{{packageName}}{{/isGoSubmodule}}/{{apiPath}}"
|
||||
)
|
||||
|
||||
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
|
||||
api/openapi.yaml
|
||||
go.mod
|
||||
go/README.md
|
||||
go/api_pet.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"
|
||||
|
||||
// WARNING!
|
||||
// Change this to a fully-qualified import path
|
||||
// once you place this file into your project.
|
||||
// For example,
|
||||
// Pass --git-repo-id and --git-user-id properties when generating the code
|
||||
//
|
||||
//sw "github.com/GIT_USER_ID/GIT_REPO_ID/go"
|
||||
//
|
||||
sw "./go"
|
||||
sw "github.com/GIT_USER_ID/GIT_REPO_ID/go"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user