mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2026-03-18 17:39:25 +00:00
[Dart 2] Add support for Dart 2 (#754)
* Add an option for Dart2 * add dart2 samples, update travis * fix dart installation * Upper constraints on the SDK version * Update dependencies * supportDart2 option can now be passed through --additional-properties * Update petstore tests * Update dart2-petstore.sh * Running tests on Dart VM * Fixed JSON deserialization bugs * Fixed missing initialization of postBody * Run bin/dart2-petstore.sh to regenerate libraries * Update pom.xml * Added SDK version constraints in pubspec.mustache * Run bin/dart2-petstore.sh to regenerate libraries * move dart2 test to the end
This commit is contained in:
@@ -28,6 +28,7 @@ import org.openapitools.codegen.SupportingFile;
|
||||
import org.openapitools.codegen.utils.ModelUtils;
|
||||
|
||||
import io.swagger.v3.oas.models.media.*;
|
||||
import io.swagger.v3.parser.util.SchemaTypeUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -48,6 +49,7 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
public static final String PUB_VERSION = "pubVersion";
|
||||
public static final String PUB_DESCRIPTION = "pubDescription";
|
||||
public static final String USE_ENUM_EXTENSION = "useEnumExtension";
|
||||
public static final String SUPPORT_DART2 = "supportDart2";
|
||||
protected boolean browserClient = true;
|
||||
protected String pubName = "openapi";
|
||||
protected String pubVersion = "1.0.0";
|
||||
@@ -125,6 +127,7 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
cliOptions.add(new CliOption(PUB_DESCRIPTION, "Description in generated pubspec"));
|
||||
cliOptions.add(new CliOption(USE_ENUM_EXTENSION, "Allow the 'x-enum-values' extension for enums"));
|
||||
cliOptions.add(new CliOption(CodegenConstants.SOURCE_FOLDER, "source folder for generated code"));
|
||||
cliOptions.add(CliOption.newBoolean(SUPPORT_DART2, "support dart2").defaultValue(Boolean.FALSE.toString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -189,9 +192,14 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
additionalProperties.put("apiDocPath", apiDocPath);
|
||||
additionalProperties.put("modelDocPath", modelDocPath);
|
||||
|
||||
final Object isSupportDart2 = additionalProperties.get(SUPPORT_DART2);
|
||||
if (Boolean.TRUE.equals(isSupportDart2) || (isSupportDart2 instanceof String && Boolean.parseBoolean((String)isSupportDart2))) {
|
||||
embeddedTemplateDir = templateDir = "dart2";
|
||||
} else {
|
||||
supportingFiles.add(new SupportingFile("analysis_options.mustache", "", ".analysis_options"));
|
||||
}
|
||||
final String libFolder = sourceFolder + File.separator + "lib";
|
||||
supportingFiles.add(new SupportingFile("pubspec.mustache", "", "pubspec.yaml"));
|
||||
supportingFiles.add(new SupportingFile("analysis_options.mustache", "", ".analysis_options"));
|
||||
supportingFiles.add(new SupportingFile("api_client.mustache", libFolder, "api_client.dart"));
|
||||
supportingFiles.add(new SupportingFile("api_exception.mustache", libFolder, "api_exception.dart"));
|
||||
supportingFiles.add(new SupportingFile("api_helper.mustache", libFolder, "api_helper.dart"));
|
||||
|
||||
Reference in New Issue
Block a user