diff --git a/docs/generators/dart-dio.md b/docs/generators/dart-dio.md index 4dca343c035..c99e33addb0 100644 --- a/docs/generators/dart-dio.md +++ b/docs/generators/dart-dio.md @@ -32,6 +32,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl |pubHomepage|Homepage in generated pubspec| |homepage| |pubLibrary|Library name in generated code| |openapi.api| |pubName|Name in generated pubspec| |openapi| +|pubPublishTo|Publish_to in generated pubspec| |null| +|pubRepository|Repository in generated pubspec| |null| |pubVersion|Version in generated pubspec| |1.0.0| |serializationLibrary|Specify serialization library|
**built_value**
[DEFAULT] built_value
**json_serializable**
[BETA] json_serializable
|built_value| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| diff --git a/docs/generators/dart.md b/docs/generators/dart.md index 0d9bf111580..bd6fe201b28 100644 --- a/docs/generators/dart.md +++ b/docs/generators/dart.md @@ -30,6 +30,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl |pubHomepage|Homepage in generated pubspec| |homepage| |pubLibrary|Library name in generated code| |openapi.api| |pubName|Name in generated pubspec| |openapi| +|pubPublishTo|Publish_to in generated pubspec| |null| +|pubRepository|Repository in generated pubspec| |null| |pubVersion|Version in generated pubspec| |1.0.0| |serializationLibrary|Specify serialization library|
**native_serialization**
Use native serializer, backwards compatible
|native_serialization| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index e542f21b74f..51a8b4bdeae 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -44,6 +44,8 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { public static final String PUB_AUTHOR = "pubAuthor"; public static final String PUB_AUTHOR_EMAIL = "pubAuthorEmail"; public static final String PUB_HOMEPAGE = "pubHomepage"; + public static final String PUB_REPOSITORY = "pubRepository"; + public static final String PUB_PUBLISH_TO = "pubPublishTo"; public static final String USE_ENUM_EXTENSION = "useEnumExtension"; protected String pubLibrary = "openapi.api"; @@ -53,6 +55,8 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { protected String pubAuthor = "Author"; protected String pubAuthorEmail = "author@homepage"; protected String pubHomepage = "homepage"; + protected String pubRepository = null; + protected String pubPublishTo = null; protected boolean useEnumExtension = false; protected String sourceFolder = "src"; protected String libPath = "lib" + File.separator; @@ -190,6 +194,8 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { addOption(PUB_AUTHOR, "Author name in generated pubspec", pubAuthor); addOption(PUB_AUTHOR_EMAIL, "Email address of the author in generated pubspec", pubAuthorEmail); addOption(PUB_HOMEPAGE, "Homepage in generated pubspec", pubHomepage); + addOption(PUB_REPOSITORY, "Repository in generated pubspec", pubRepository); + addOption(PUB_PUBLISH_TO, "Publish_to in generated pubspec", pubPublishTo); addOption(USE_ENUM_EXTENSION, "Allow the 'x-enum-values' extension for enums", String.valueOf(useEnumExtension)); addOption(CodegenConstants.SOURCE_FOLDER, CodegenConstants.SOURCE_FOLDER_DESC, sourceFolder); } @@ -274,6 +280,20 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { additionalProperties.put(PUB_HOMEPAGE, pubHomepage); } + if (additionalProperties.containsKey(PUB_REPOSITORY)) { + this.setPubRepository((String) additionalProperties.get(PUB_REPOSITORY)); + } else { + //not set, use to be passed to template + additionalProperties.put(PUB_REPOSITORY, pubRepository); + } + + if (additionalProperties.containsKey(PUB_PUBLISH_TO)) { + this.setPubPublishTo((String) additionalProperties.get(PUB_PUBLISH_TO)); + } else { + //not set, use to be passed to template + additionalProperties.put(PUB_PUBLISH_TO, pubPublishTo); + } + if (additionalProperties.containsKey(USE_ENUM_EXTENSION)) { this.setUseEnumExtension(convertPropertyToBooleanAndWriteBack(USE_ENUM_EXTENSION)); } else { @@ -768,6 +788,14 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { this.pubHomepage = pubHomepage; } + public void setPubRepository(String pubRepository) { + this.pubRepository = pubRepository; + } + + public void setPubPublishTo(String pubPublishTo) { + this.pubPublishTo = pubPublishTo; + } + public void setUseEnumExtension(boolean useEnumExtension) { this.useEnumExtension = useEnumExtension; } diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache index 07d0b317dd3..90608229c68 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache @@ -2,6 +2,12 @@ name: {{pubName}} version: {{pubVersion}} description: {{pubDescription}} homepage: {{pubHomepage}} +{{#pubRepository}} +repository: {{.}} +{{/pubRepository}} +{{#pubPublishTo}} +publish_to: {{.}} +{{/pubPublishTo}} environment: sdk: '>=2.15.0 <3.0.0' diff --git a/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache index cf182945cdb..0b054d73d5c 100644 --- a/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache @@ -6,6 +6,12 @@ name: '{{{pubName}}}' version: '{{{pubVersion}}}' description: '{{{pubDescription}}}' homepage: '{{{pubHomepage}}}' +{{#pubRepository}} +repository: {{.}} +{{/pubRepository}} +{{#pubPublishTo}} +publish_to: {{.}} +{{/pubPublishTo}} environment: sdk: '>=2.12.0 <3.0.0' dependencies: diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/DartClientOptionsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/DartClientOptionsTest.java index 1b268561e52..87dabbbfd00 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/DartClientOptionsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/DartClientOptionsTest.java @@ -48,6 +48,8 @@ public class DartClientOptionsTest extends AbstractOptionsTest { verify(clientCodegen).setPubAuthor(DartClientOptionsProvider.PUB_AUTHOR_VALUE); verify(clientCodegen).setPubAuthorEmail(DartClientOptionsProvider.PUB_AUTHOR_EMAIL_VALUE); verify(clientCodegen).setPubHomepage(DartClientOptionsProvider.PUB_HOMEPAGE_VALUE); + verify(clientCodegen).setPubRepository(DartClientOptionsProvider.PUB_REPOSITORY_VALUE); + verify(clientCodegen).setPubPublishTo(DartClientOptionsProvider.PUB_PUBLISH_TO_VALUE); verify(clientCodegen).setSourceFolder(DartClientOptionsProvider.SOURCE_FOLDER_VALUE); verify(clientCodegen).setUseEnumExtension(Boolean.parseBoolean(DartClientOptionsProvider.USE_ENUM_EXTENSION)); verify(clientCodegen).setEnumUnknownDefaultCase(Boolean.parseBoolean(DartClientOptionsProvider.ENUM_UNKNOWN_DEFAULT_CASE_VALUE)); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/dio/DartDioClientOptionsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/dio/DartDioClientOptionsTest.java index 2292d110989..23eee3fd2a2 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/dio/DartDioClientOptionsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/dart/dio/DartDioClientOptionsTest.java @@ -47,6 +47,8 @@ public class DartDioClientOptionsTest extends AbstractOptionsTest { verify(clientCodegen).setPubAuthor(DartDioClientOptionsProvider.PUB_AUTHOR_VALUE); verify(clientCodegen).setPubAuthorEmail(DartDioClientOptionsProvider.PUB_AUTHOR_EMAIL_VALUE); verify(clientCodegen).setPubHomepage(DartDioClientOptionsProvider.PUB_HOMEPAGE_VALUE); + verify(clientCodegen).setPubRepository(DartDioClientOptionsProvider.PUB_REPOSITORY_VALUE); + verify(clientCodegen).setPubPublishTo(DartDioClientOptionsProvider.PUB_PUBLISH_TO_VALUE); verify(clientCodegen).setSourceFolder(DartDioClientOptionsProvider.SOURCE_FOLDER_VALUE); verify(clientCodegen).setUseEnumExtension(Boolean.parseBoolean(DartDioClientOptionsProvider.USE_ENUM_EXTENSION)); verify(clientCodegen).setDateLibrary(DartDioClientCodegen.DATE_LIBRARY_DEFAULT); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartClientOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartClientOptionsProvider.java index 5e468090bed..7851eb08236 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartClientOptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartClientOptionsProvider.java @@ -35,6 +35,8 @@ public class DartClientOptionsProvider implements OptionsProvider { public static final String PUB_AUTHOR_VALUE = "Author"; public static final String PUB_AUTHOR_EMAIL_VALUE = "author@homepage"; public static final String PUB_HOMEPAGE_VALUE = "Homepage"; + public static final String PUB_REPOSITORY_VALUE = "Repository"; + public static final String PUB_PUBLISH_TO_VALUE = "Publish To"; public static final String SOURCE_FOLDER_VALUE = "src"; public static final String USE_ENUM_EXTENSION = "true"; public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; @@ -59,6 +61,8 @@ public class DartClientOptionsProvider implements OptionsProvider { .put(DartClientCodegen.PUB_AUTHOR, PUB_AUTHOR_VALUE) .put(DartClientCodegen.PUB_AUTHOR_EMAIL, PUB_AUTHOR_EMAIL_VALUE) .put(DartClientCodegen.PUB_HOMEPAGE, PUB_HOMEPAGE_VALUE) + .put(DartClientCodegen.PUB_REPOSITORY, PUB_REPOSITORY_VALUE) + .put(DartClientCodegen.PUB_PUBLISH_TO, PUB_PUBLISH_TO_VALUE) .put(CodegenConstants.SOURCE_FOLDER, SOURCE_FOLDER_VALUE) .put(DartClientCodegen.USE_ENUM_EXTENSION, USE_ENUM_EXTENSION) .put(CodegenConstants.ALLOW_UNICODE_IDENTIFIERS, ALLOW_UNICODE_IDENTIFIERS_VALUE) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartDioClientOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartDioClientOptionsProvider.java index 0072e04e0c1..60cb3529322 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartDioClientOptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/DartDioClientOptionsProvider.java @@ -37,6 +37,8 @@ public class DartDioClientOptionsProvider implements OptionsProvider { public static final String PUB_AUTHOR_VALUE = "Author"; public static final String PUB_AUTHOR_EMAIL_VALUE = "author@homepage"; public static final String PUB_HOMEPAGE_VALUE = "Homepage"; + public static final String PUB_REPOSITORY_VALUE = "Repository"; + public static final String PUB_PUBLISH_TO_VALUE = "Publish to"; public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; @Override @@ -57,6 +59,8 @@ public class DartDioClientOptionsProvider implements OptionsProvider { .put(DartDioClientCodegen.PUB_AUTHOR, PUB_AUTHOR_VALUE) .put(DartDioClientCodegen.PUB_AUTHOR_EMAIL, PUB_AUTHOR_EMAIL_VALUE) .put(DartDioClientCodegen.PUB_HOMEPAGE, PUB_HOMEPAGE_VALUE) + .put(DartDioClientCodegen.PUB_REPOSITORY, PUB_REPOSITORY_VALUE) + .put(DartDioClientCodegen.PUB_PUBLISH_TO, PUB_PUBLISH_TO_VALUE) .put(CodegenConstants.SERIALIZATION_LIBRARY, DartDioClientCodegen.SERIALIZATION_LIBRARY_DEFAULT) .put(DartDioClientCodegen.DATE_LIBRARY, DartDioClientCodegen.DATE_LIBRARY_DEFAULT) .put(DartDioClientCodegen.FINAL_PROPERTIES, DartDioClientCodegen.FINAL_PROPERTIES_DEFAULT_VALUE)