[cli][gradle] filter deprecated generators by default when listing available generators (#3612)

* Filter deprecated generators from CLI list by default.
* [gradle] Exclude deprecated generators from list by default, add "include" option to allow for customization of list task.
* Update scripts to support the --include option of the list command
* Update gradle/cli docs for generators listing with "include" option.
This commit is contained in:
Jim Schubert 2019-08-12 08:25:52 -04:00 committed by GitHub
parent 4a92cd8dca
commit a5349cfde5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 272 additions and 159 deletions

View File

@ -61,7 +61,6 @@ declare -a scripts=(
"./bin/meta-codegen.sh" "./bin/meta-codegen.sh"
# OTHERS # OTHERS
"./bin/utils/export_docs_generators.sh" "./bin/utils/export_docs_generators.sh"
"./bin/utils/export_generators_docusaurus_index.sh"
"./bin/utils/copy-to-website.sh" "./bin/utils/copy-to-website.sh"
"./bin/utils/export_generators_readme.sh") "./bin/utils/export_generators_readme.sh")

View File

@ -5,7 +5,7 @@ echo "# START SCRIPT: ${SCRIPT}"
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar" executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
for GENERATOR in $(java -jar ${executable} list --short | sed -e 's/,/\'$'\n''/g') for GENERATOR in $(java -jar ${executable} list --short --include all | sed -e 's/,/\'$'\n''/g')
do do
./bin/utils/export_generator.sh ${GENERATOR} ./bin/utils/export_generator.sh ${GENERATOR}
done done

View File

@ -1,20 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
\rm -rf docs/generators.md
cat > docs/generators.md << EOF
---
id: generators
title: Generators List
---
EOF
java -jar $executable list --docsite >> docs/generators.md
echo "Wrote $(pwd)/docs/generators.md"

View File

@ -15,6 +15,6 @@ title: Generators List
EOF EOF
java -jar $executable list | sed -e 's/\([A-Z]*\) generators:/* \1 generators:/g' -e 's/- \([a-z0-9\-]*\)/- [\1]\(generators\/\1.md\)/g' >> docs/generators.md java -jar $executable list --docsite --include all >> docs/generators.md
echo "Wrote $(pwd)/docs/generators.md" echo "Wrote $(pwd)/docs/generators.md"

View File

@ -5,132 +5,132 @@ title: Generators List
The following generators are available: The following generators are available:
* CLIENT generators: ## CLIENT generators
- [ada](generators/ada.md) * [ada](generators/ada)
- [android](generators/android.md) * [android](generators/android)
- [apex](generators/apex.md) * [apex](generators/apex)
- [bash](generators/bash.md) * [bash](generators/bash)
- [c](generators/c.md) * [c](generators/c)
- [clojure](generators/clojure.md) * [clojure](generators/clojure)
- [cpp-qt5-client](generators/cpp-qt5-client.md) * [cpp-qt5-client](generators/cpp-qt5-client)
- [cpp-restsdk](generators/cpp-restsdk.md) * [cpp-restsdk](generators/cpp-restsdk)
- [cpp-tizen](generators/cpp-tizen.md) * [cpp-tizen](generators/cpp-tizen)
- [csharp](generators/csharp.md) * [csharp](generators/csharp)
- [csharp-dotnet2](generators/csharp-dotnet2.md) (deprecated) * [csharp-dotnet2 (deprecated)](generators/csharp-dotnet2)
- [csharp-netcore](generators/csharp-netcore.md) * [csharp-netcore](generators/csharp-netcore)
- [dart](generators/dart.md) * [dart](generators/dart)
- [dart-jaguar](generators/dart-jaguar.md) * [dart-jaguar](generators/dart-jaguar)
- [eiffel](generators/eiffel.md) * [eiffel](generators/eiffel)
- [elixir](generators/elixir.md) * [elixir](generators/elixir)
- [elm](generators/elm.md) * [elm](generators/elm)
- [erlang-client](generators/erlang-client.md) * [erlang-client](generators/erlang-client)
- [erlang-proper](generators/erlang-proper.md) * [erlang-proper](generators/erlang-proper)
- [flash](generators/flash.md) * [flash](generators/flash)
- [go](generators/go.md) * [go](generators/go)
- [go-experimental](generators/go-experimental.md) * [go-experimental (experimental)](generators/go-experimental)
- [groovy](generators/groovy.md) * [groovy](generators/groovy)
- [haskell-http-client](generators/haskell-http-client.md) * [haskell-http-client](generators/haskell-http-client)
- [java](generators/java.md) * [java](generators/java)
- [javascript](generators/javascript.md) * [javascript](generators/javascript)
- [javascript-closure-angular](generators/javascript-closure-angular.md) * [javascript-closure-angular](generators/javascript-closure-angular)
- [javascript-flowtyped](generators/javascript-flowtyped.md) * [javascript-flowtyped](generators/javascript-flowtyped)
- [jaxrs-cxf-client](generators/jaxrs-cxf-client.md) * [jaxrs-cxf-client](generators/jaxrs-cxf-client)
- [jmeter](generators/jmeter.md) * [jmeter](generators/jmeter)
- [kotlin](generators/kotlin.md) * [kotlin](generators/kotlin)
- [lua](generators/lua.md) * [lua](generators/lua)
- [objc](generators/objc.md) * [objc](generators/objc)
- [ocaml](generators/ocaml.md) * [ocaml](generators/ocaml)
- [perl](generators/perl.md) * [perl](generators/perl)
- [php](generators/php.md) * [php](generators/php)
- [powershell](generators/powershell.md) * [powershell](generators/powershell)
- [python](generators/python.md) * [python](generators/python)
- [python-experimental](generators/python-experimental.md) * [python-experimental (experimental)](generators/python-experimental)
- [r](generators/r.md) * [r](generators/r)
- [ruby](generators/ruby.md) * [ruby](generators/ruby)
- [rust](generators/rust.md) * [rust](generators/rust)
- [scala-akka](generators/scala-akka.md) * [scala-akka](generators/scala-akka)
- [scala-gatling](generators/scala-gatling.md) * [scala-gatling](generators/scala-gatling)
- [scala-httpclient-deprecated](generators/scala-httpclient-deprecated.md) (deprecated) * [scala-httpclient-deprecated (deprecated)](generators/scala-httpclient-deprecated)
- [scalaz](generators/scalaz.md) * [scalaz](generators/scalaz)
- [swift2-deprecated](generators/swift2-deprecated.md) (deprecated) * [swift2-deprecated (deprecated)](generators/swift2-deprecated)
- [swift3-deprecated](generators/swift3-deprecated.md) (deprecated) * [swift3-deprecated (deprecated)](generators/swift3-deprecated)
- [swift4](generators/swift4.md) * [swift4](generators/swift4)
- [typescript-angular](generators/typescript-angular.md) * [typescript-angular](generators/typescript-angular)
- [typescript-angularjs](generators/typescript-angularjs.md) * [typescript-angularjs](generators/typescript-angularjs)
- [typescript-aurelia](generators/typescript-aurelia.md) * [typescript-aurelia](generators/typescript-aurelia)
- [typescript-axios](generators/typescript-axios.md) * [typescript-axios](generators/typescript-axios)
- [typescript-fetch](generators/typescript-fetch.md) * [typescript-fetch](generators/typescript-fetch)
- [typescript-inversify](generators/typescript-inversify.md) * [typescript-inversify](generators/typescript-inversify)
- [typescript-jquery](generators/typescript-jquery.md) * [typescript-jquery](generators/typescript-jquery)
- [typescript-node](generators/typescript-node.md) * [typescript-node](generators/typescript-node)
- [typescript-rxjs](generators/typescript-rxjs.md) * [typescript-rxjs](generators/typescript-rxjs)
* SERVER generators: ## SERVER generators
- [ada-server](generators/ada-server.md) * [ada-server](generators/ada-server)
- [aspnetcore](generators/aspnetcore.md) * [aspnetcore](generators/aspnetcore)
- [cpp-pistache-server](generators/cpp-pistache-server.md) * [cpp-pistache-server](generators/cpp-pistache-server)
- [cpp-qt5-qhttpengine-server](generators/cpp-qt5-qhttpengine-server.md) * [cpp-qt5-qhttpengine-server](generators/cpp-qt5-qhttpengine-server)
- [cpp-restbed-server](generators/cpp-restbed-server.md) * [cpp-restbed-server](generators/cpp-restbed-server)
- [csharp-nancyfx](generators/csharp-nancyfx.md) * [csharp-nancyfx](generators/csharp-nancyfx)
- [erlang-server](generators/erlang-server.md) * [erlang-server](generators/erlang-server)
- [fsharp-giraffe-server](generators/fsharp-giraffe-server.md) * [fsharp-giraffe-server](generators/fsharp-giraffe-server)
- [go-gin-server](generators/go-gin-server.md) * [go-gin-server](generators/go-gin-server)
- [go-server](generators/go-server.md) * [go-server](generators/go-server)
- [graphql-nodejs-express-server](generators/graphql-nodejs-express-server.md) * [graphql-nodejs-express-server](generators/graphql-nodejs-express-server)
- [haskell](generators/haskell.md) * [haskell](generators/haskell)
- [java-inflector](generators/java-inflector.md) * [java-inflector](generators/java-inflector)
- [java-msf4j](generators/java-msf4j.md) * [java-msf4j](generators/java-msf4j)
- [java-pkmst](generators/java-pkmst.md) * [java-pkmst](generators/java-pkmst)
- [java-play-framework](generators/java-play-framework.md) * [java-play-framework](generators/java-play-framework)
- [java-undertow-server](generators/java-undertow-server.md) * [java-undertow-server](generators/java-undertow-server)
- [java-vertx](generators/java-vertx.md) * [java-vertx](generators/java-vertx)
- [jaxrs-cxf](generators/jaxrs-cxf.md) * [jaxrs-cxf](generators/jaxrs-cxf)
- [jaxrs-cxf-cdi](generators/jaxrs-cxf-cdi.md) * [jaxrs-cxf-cdi](generators/jaxrs-cxf-cdi)
- [jaxrs-cxf-extended](generators/jaxrs-cxf-extended.md) * [jaxrs-cxf-extended](generators/jaxrs-cxf-extended)
- [jaxrs-jersey](generators/jaxrs-jersey.md) * [jaxrs-jersey](generators/jaxrs-jersey)
- [jaxrs-resteasy](generators/jaxrs-resteasy.md) * [jaxrs-resteasy](generators/jaxrs-resteasy)
- [jaxrs-resteasy-eap](generators/jaxrs-resteasy-eap.md) * [jaxrs-resteasy-eap](generators/jaxrs-resteasy-eap)
- [jaxrs-spec](generators/jaxrs-spec.md) * [jaxrs-spec](generators/jaxrs-spec)
- [kotlin-server](generators/kotlin-server.md) * [kotlin-server](generators/kotlin-server)
- [kotlin-spring](generators/kotlin-spring.md) * [kotlin-spring](generators/kotlin-spring)
- [nodejs-express-server](generators/nodejs-express-server.md) (beta) * [nodejs-express-server (beta)](generators/nodejs-express-server)
- [nodejs-server-deprecated](generators/nodejs-server-deprecated.md) (deprecated) * [nodejs-server-deprecated (deprecated)](generators/nodejs-server-deprecated)
- [php-laravel](generators/php-laravel.md) * [php-laravel](generators/php-laravel)
- [php-lumen](generators/php-lumen.md) * [php-lumen](generators/php-lumen)
- [php-silex](generators/php-silex.md) * [php-silex](generators/php-silex)
- [php-slim](generators/php-slim.md) * [php-slim](generators/php-slim)
- [php-symfony](generators/php-symfony.md) * [php-symfony](generators/php-symfony)
- [php-ze-ph](generators/php-ze-ph.md) * [php-ze-ph](generators/php-ze-ph)
- [python-aiohttp](generators/python-aiohttp.md) * [python-aiohttp](generators/python-aiohttp)
- [python-blueplanet](generators/python-blueplanet.md) * [python-blueplanet](generators/python-blueplanet)
- [python-flask](generators/python-flask.md) * [python-flask](generators/python-flask)
- [ruby-on-rails](generators/ruby-on-rails.md) * [ruby-on-rails](generators/ruby-on-rails)
- [ruby-sinatra](generators/ruby-sinatra.md) * [ruby-sinatra](generators/ruby-sinatra)
- [rust-server](generators/rust-server.md) * [rust-server](generators/rust-server)
- [scala-finch](generators/scala-finch.md) * [scala-finch](generators/scala-finch)
- [scala-lagom-server](generators/scala-lagom-server.md) * [scala-lagom-server](generators/scala-lagom-server)
- [scala-play-server](generators/scala-play-server.md) * [scala-play-server](generators/scala-play-server)
- [scalatra](generators/scalatra.md) * [scalatra](generators/scalatra)
- [spring](generators/spring.md) * [spring](generators/spring)
* DOCUMENTATION generators: ## DOCUMENTATION generators
- [cwiki](generators/cwiki.md) * [cwiki](generators/cwiki)
- [dynamic-html](generators/dynamic-html.md) * [dynamic-html](generators/dynamic-html)
- [html](generators/html.md) * [html](generators/html)
- [html2](generators/html2.md) * [html2](generators/html2)
- [openapi](generators/openapi.md) * [openapi](generators/openapi)
- [openapi-yaml](generators/openapi-yaml.md) * [openapi-yaml](generators/openapi-yaml)
* SCHEMA generators: ## SCHEMA generators
- [mysql-schema](generators/mysql-schema.md) * [mysql-schema](generators/mysql-schema)
* CONFIG generators: ## CONFIG generators
- [apache2](generators/apache2.md) * [apache2](generators/apache2)
- [graphql-schema](generators/graphql-schema.md) * [graphql-schema](generators/graphql-schema)

View File

@ -38,9 +38,15 @@ NAME
openapi-generator-cli list - Lists the available generators openapi-generator-cli list - Lists the available generators
SYNOPSIS SYNOPSIS
openapi-generator-cli list [(-s | --short)] openapi-generator-cli list [(-i <include> | --include <include>)]
[(-s | --short)]
OPTIONS OPTIONS
-i <include>, --include <include>
comma-separated list of stability indexes to include (value:
all,beta,stable,experimental,deprecated). Excludes deprecated by
default.
-s, --short -s, --short
shortened output (suitable for scripting) shortened output (suitable for scripting)
@ -210,13 +216,14 @@ This command takes one or more parameters representing the args list you would o
```bash ```bash
openapi-generator completion config-help openapi-generator completion config-help
--named-header
-o -o
--output --output
--named-header
-g -g
--generator-name --generator-name
-l -f
--lang --format
--markdown-header
``` ```
An example bash completion script can be found in the repo at [scripts/openapi-generator-cli-completion.bash](https://github.com/OpenAPITools/openapi-generator/blob/master/scripts/openapi-generator-cli-completion.bash). An example bash completion script can be found in the repo at [scripts/openapi-generator-cli-completion.bash](https://github.com/OpenAPITools/openapi-generator/blob/master/scripts/openapi-generator-cli-completion.bash).

View File

@ -5,15 +5,14 @@ import com.google.common.base.Objects;
import io.airlift.airline.Command; import io.airlift.airline.Command;
import io.airlift.airline.Option; import io.airlift.airline.Option;
import org.apache.commons.lang3.StringUtils;
import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConfig;
import org.openapitools.codegen.CodegenConfigLoader; import org.openapitools.codegen.CodegenConfigLoader;
import org.openapitools.codegen.CodegenType; import org.openapitools.codegen.CodegenType;
import org.openapitools.codegen.meta.GeneratorMetadata; import org.openapitools.codegen.meta.GeneratorMetadata;
import org.openapitools.codegen.meta.Stability; import org.openapitools.codegen.meta.Stability;
import java.util.Comparator; import java.util.*;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors; import java.util.stream.Collectors;
// NOTE: List can later have subcommands such as list languages, list types, list frameworks, etc. // NOTE: List can later have subcommands such as list languages, list types, list frameworks, etc.
@ -26,9 +25,31 @@ public class ListGenerators implements Runnable {
@Option(name = {"-d", "--docsite" }, description = "format for docusaurus site output", hidden = true) @Option(name = {"-d", "--docsite" }, description = "format for docusaurus site output", hidden = true)
private Boolean docusaurus = false; private Boolean docusaurus = false;
@Option(name = {"-i", "--include" },
description = "comma-separated list of stability indexes to include (value: all,beta,stable,experimental,deprecated). Excludes deprecated by default.",
allowedValues = { "all", "beta", "stable", "experimental", "deprecated" })
private String include = "stable,beta,experimental";
@Override @Override
public void run() { public void run() {
List<CodegenConfig> generators = CodegenConfigLoader.getAll(); List<CodegenConfig> generators = new ArrayList<>();
List<Stability> stabilities = Arrays.asList(Stability.values());
if (!StringUtils.isEmpty(include)) {
List<String> includes = Arrays.asList(include.split(","));
if (includes.size() != 0 && !includes.contains("all")) {
stabilities = includes.stream()
.map(Stability::forDescription)
.collect(Collectors.toList());
}
}
for (CodegenConfig codegenConfig : CodegenConfigLoader.getAll()) {
GeneratorMetadata meta = codegenConfig.getGeneratorMetadata();
if (meta != null && stabilities.contains(meta.getStability())) {
generators.add(codegenConfig);
}
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();

View File

@ -50,4 +50,14 @@ public enum Stability {
* @return The descriptive value of this enum. * @return The descriptive value of this enum.
*/ */
public String value() { return description; } public String value() { return description; }
public static Stability forDescription(String description) {
for (Stability value: values()) {
if (value.description.equals(description)) {
return value;
}
}
throw new IllegalArgumentException("description not found in the available values.");
}
} }

View File

@ -374,6 +374,18 @@ openApiGenerate {
|=== |===
=== openApiGenerators
.Options
|===
|Key |Data Type |Default |Description
|include
|String[]
|None
|A list of stability indexes to include (values: all,beta,stable,experimental,deprecated). Excludes deprecated by default.
|===
== Examples == Examples

View File

@ -19,6 +19,7 @@ package org.openapitools.generator.gradle.plugin
import org.gradle.api.Plugin import org.gradle.api.Plugin
import org.gradle.api.Project import org.gradle.api.Project
import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorGenerateExtension import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorGenerateExtension
import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorGeneratorsExtension
import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorMetaExtension import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorMetaExtension
import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorValidateExtension import org.openapitools.generator.gradle.plugin.extensions.OpenApiGeneratorValidateExtension
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
@ -53,12 +54,20 @@ class OpenApiGeneratorPlugin : Plugin<Project> {
project project
) )
val generators = extensions.create(
"openApiGenerators",
OpenApiGeneratorGeneratorsExtension::class.java,
project
)
generate.outputDir.set("$buildDir/generate-resources/main") generate.outputDir.set("$buildDir/generate-resources/main")
tasks.apply { tasks.apply {
create("openApiGenerators", GeneratorsTask::class.java) { create("openApiGenerators", GeneratorsTask::class.java) {
group = pluginGroup group = pluginGroup
description = "Lists generators available via Open API Generators." description = "Lists generators available via Open API Generators."
include.set(generators.include)
} }
create("openApiMeta", MetaTask::class.java) { create("openApiMeta", MetaTask::class.java) {

View File

@ -0,0 +1,43 @@
/*
* Copyright 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech)
*
* 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
*
* http://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.generator.gradle.plugin.extensions
import org.gradle.api.Project
import org.gradle.api.tasks.Internal
import org.gradle.kotlin.dsl.listProperty
import org.openapitools.codegen.meta.Stability
/**
* Gradle project level extension object definition for the generators task
*
* @author Jim Schubert
*/
open class OpenApiGeneratorGeneratorsExtension(project: Project) {
/**
* A list of stability indexes to include (value: all,beta,stable,experimental,deprecated). Excludes deprecated by default.
*/
val include = project.objects.listProperty<String>()
init {
applyDefaults()
}
@Suppress("MemberVisibilityCanBePrivate")
fun applyDefaults(){
include.set(Stability.values().map { s -> s.value() }.filterNot { it == Stability.DEPRECATED.value() })
}
}

View File

@ -17,9 +17,11 @@
package org.openapitools.generator.gradle.plugin.tasks package org.openapitools.generator.gradle.plugin.tasks
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutput
import org.gradle.internal.logging.text.StyledTextOutputFactory import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.gradle.kotlin.dsl.listProperty
import org.openapitools.codegen.CodegenConfigLoader import org.openapitools.codegen.CodegenConfigLoader
import org.openapitools.codegen.CodegenType import org.openapitools.codegen.CodegenType
import org.openapitools.codegen.meta.GeneratorMetadata import org.openapitools.codegen.meta.GeneratorMetadata
@ -35,6 +37,12 @@ import org.openapitools.codegen.meta.Stability
* @author Jim Schubert * @author Jim Schubert
*/ */
open class GeneratorsTask : DefaultTask() { open class GeneratorsTask : DefaultTask() {
/**
* A list of stability indexes to include (value: all,beta,stable,experimental,deprecated). Excludes deprecated by default.
*/
@get:Internal
val include = project.objects.listProperty<String>()
@Suppress("unused") @Suppress("unused")
@TaskAction @TaskAction
fun doWork() { fun doWork() {
@ -45,6 +53,15 @@ open class GeneratorsTask : DefaultTask() {
StringBuilder().apply { StringBuilder().apply {
val types = CodegenType.values() val types = CodegenType.values()
val stabilities = if (include.isPresent) {
when {
include.get().contains("all") -> Stability.values().toList()
else -> include.get().map { Stability.forDescription(it) }
}
} else {
Stability.values().filterNot { it == Stability.DEPRECATED }
}
append("The following generators are available:") append("The following generators are available:")
append(System.lineSeparator()) append(System.lineSeparator())
@ -56,21 +73,23 @@ open class GeneratorsTask : DefaultTask() {
generators.filter { it.tag == type } generators.filter { it.tag == type }
.sortedBy { it.name } .sortedBy { it.name }
.forEach({ generator -> .forEach { generator ->
val meta: GeneratorMetadata? = generator.generatorMetadata val meta: GeneratorMetadata? = generator.generatorMetadata
val include = stabilities.contains(meta?.stability)
if (include) {
append(" - ")
append(generator.name)
append(" - ") meta?.stability?.let {
append(generator.name) if (it != Stability.STABLE) {
append(" (${it.value()})")
meta?.stability?.let { }
if (it != Stability.STABLE) {
append(" (${it.value()})")
} }
}
append(System.lineSeparator()) append(System.lineSeparator())
}) }
}
append(System.lineSeparator()) append(System.lineSeparator())
append(System.lineSeparator()) append(System.lineSeparator())

View File

@ -19,6 +19,8 @@ package org.openapitools.codegen.languages;
import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenModel;
import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenProperty;
import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.SupportingFile;
import org.openapitools.codegen.meta.GeneratorMetadata;
import org.openapitools.codegen.meta.Stability;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -33,6 +35,10 @@ public class GoClientExperimentalCodegen extends GoClientCodegen {
super(); super();
outputFolder = "generated-code/go-experimental"; outputFolder = "generated-code/go-experimental";
embeddedTemplateDir = templateDir = "go-experimental"; embeddedTemplateDir = templateDir = "go-experimental";
generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata)
.stability(Stability.EXPERIMENTAL)
.build();
} }
/** /**

View File

@ -18,6 +18,9 @@ package org.openapitools.codegen.languages;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import org.openapitools.codegen.meta.GeneratorMetadata;
import org.openapitools.codegen.meta.Stability;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -39,6 +42,10 @@ public class PythonClientExperimentalCodegen extends PythonClientCodegen {
apiTemplateFiles.put("python-experimental/api.mustache", ".py"); apiTemplateFiles.put("python-experimental/api.mustache", ".py");
modelDocTemplateFiles.put("python-experimental/model_doc.mustache", ".md"); modelDocTemplateFiles.put("python-experimental/model_doc.mustache", ".md");
modelTemplateFiles.put("python-experimental/model.mustache", ".py"); modelTemplateFiles.put("python-experimental/model.mustache", ".py");
generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata)
.stability(Stability.EXPERIMENTAL)
.build();
} }
/** /**