forked from loafle/openapi-generator-original
[pub] Add repository and publish_to as configurable option in pubspec.yaml (#15232)
* Add repository as configurable option to pub client libraries * Generate files * Make repository null by default * Update pubRepository mustache template Co-authored-by: Ahmed Fwela <63286031+ahmednfwela@users.noreply.github.com> * Regenerate samples and documentation * Support setting publish_to in pubspec.yaml --------- Co-authored-by: Ahmed Fwela <63286031+ahmednfwela@users.noreply.github.com>
This commit is contained in:
parent
cbf5598c59
commit
03359ae4d5
@ -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|<dl><dt>**built_value**</dt><dd>[DEFAULT] built_value</dd><dt>**json_serializable**</dt><dd>[BETA] json_serializable</dd></dl>|built_value|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|
@ -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|<dl><dt>**native_serialization**</dt><dd>Use native serializer, backwards compatible</dd></dl>|native_serialization|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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'
|
||||
|
@ -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:
|
||||
|
@ -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));
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user