Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CSharp] feat!: add useDateOnly flag #17471

Merged
merged 37 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2d96a04
feat: DateOnly for client
Anakael Dec 24, 2023
a6c7f87
fix: generated doc for csharp
Anakael Dec 24, 2023
d0d907d
doc: fix generators README for csharp
Anakael Dec 24, 2023
d95ed71
add DateOnly option for aspnet
Anakael Dec 24, 2023
04c2e1c
refactor: update csharp docs
Anakael Dec 24, 2023
176000a
refactor: fix typo
Anakael Dec 24, 2023
79e9272
finish
Anakael Dec 30, 2023
336f446
finish
Anakael Dec 30, 2023
62c3bdc
finish
Anakael Dec 30, 2023
ca48306
Merge branch 'master' of https://github.com/OpenAPITools/openapi-gene…
Anakael Dec 30, 2023
86e19a7
regenerate
Anakael Dec 30, 2023
8cb0da6
rebuild and regenerate
Anakael Dec 30, 2023
cb9e68e
fix build error
Anakael Dec 30, 2023
4ad27e6
finish
Anakael Dec 31, 2023
cdba6a4
revert path
Anakael Dec 31, 2023
a3e43c0
regenerate
Anakael Dec 31, 2023
01e3b06
remove exceed samples
Anakael Dec 31, 2023
1b34d02
regenerate
Anakael Dec 31, 2023
d17a802
add DateOnly to nullable
Anakael Dec 31, 2023
824b1b6
remove obsolete file from list
Anakael Dec 31, 2023
e74b6b1
update test files list
Anakael Dec 31, 2023
9a51577
remove obsolete sample build
Anakael Dec 31, 2023
11040f1
revert manual tests
Anakael Dec 31, 2023
10eb60a
revert samples to master and regenerate
Anakael Dec 31, 2023
6728b91
remove new samples
Anakael Jan 4, 2024
e4c16da
remove eol
Anakael Jan 4, 2024
868c8cb
remove eol
Anakael Jan 4, 2024
cb69358
add new specs
Anakael Jan 4, 2024
f9693d6
try fix test
Anakael Jan 4, 2024
2c5119c
update tests
Anakael Jan 4, 2024
e5c7e1e
update files
Anakael Jan 4, 2024
5d0cfdb
remove eol
Anakael Jan 6, 2024
b8f524b
revert
Anakael Jan 6, 2024
c462bae
remove eol
Anakael Jan 6, 2024
14f2fe1
regenerate
Anakael Jan 6, 2024
267293a
add net6+ support to aspnetcore
Anakael Jan 6, 2024
b5ee7bf
add jobs
Anakael Jan 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/samples-dotnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/**net7.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
Expand All @@ -12,6 +13,7 @@ on:
pull_request:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/**net7.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
Expand All @@ -35,6 +37,8 @@ jobs:
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-oneOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-anyOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests
- samples/client/petstore/csharp/OpenAPIClient-generichost-net7.0-useDateTimeForDate
- samples/client/petstore/csharp/OpenAPIClient-net7.0-useDateTimeForDate
- samples/server/petstore/aspnetcore-6.0
- samples/server/petstore/aspnetcore-6.0-pocoModels
- samples/server/petstore/aspnetcore-6.0-project4Models
Expand Down
9 changes: 9 additions & 0 deletions bin/configs/csharp-generichost-net7.0-useDateTimeForDate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# for csharp generichost
generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient-generichost-net7.0-useDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
useDateTimeForDate: true
9 changes: 9 additions & 0 deletions bin/configs/csharp-restsharp-net7.0-useDateTimeForDate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# for .net standard
generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient-net7.0-useDateTimeForDate
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in https://github.com/OpenAPITools/openapi-generator/tree/master/.github/workflows, there are workflows for dotnet.

can you please add the new sample folders to these workflow so that CI will tests to make sure these samples compile without issues moving forward?

Copy link
Contributor Author

@Anakael Anakael Jan 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.
I've also noticed that netcore-latest samples not captured in on section's regexes. Is it intended or mistake?
image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

likely a mistake. can you please file another PR to fix it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.

inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{D0A67E81-4061-48EB-B4B8-C73BDF8B2D95}'
targetFramework: net7.0
useDateTimeForDate: true
2 changes: 1 addition & 1 deletion docs/generators/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The following generators are available:
* [cpp-restsdk](cpp-restsdk.md)
* [cpp-tizen](cpp-tizen.md)
* [csharp](csharp.md)
* [csharp-netcore](csharp-netcore.md)
* [csharp-functions](csharp-functions.md)
* [dart](dart.md)
* [dart-dio](dart-dio.md)
* [eiffel](eiffel.md)
Expand Down
3 changes: 3 additions & 0 deletions docs/generators/aspnetcore.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|sourceFolder|source folder for generated code| |src|
|swashbuckleVersion|Swashbuckle version: 3.0.0 (deprecated), 4.0.0 (deprecated), 5.0.0 (deprecated), 6.4.0|<dl><dt>**3.0.0**</dt><dd>Swashbuckle 3.0.0</dd><dt>**4.0.0**</dt><dd>Swashbuckle 4.0.0</dd><dt>**5.0.0**</dt><dd>Swashbuckle 5.0.0</dd><dt>**6.4.0**</dt><dd>Swashbuckle 6.4.0</dd></dl>|3.0.0|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|useDateTimeForDate|Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only)| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useDefaultRouting|Use default routing for the ASP.NET Core version.| |true|
|useFrameworkReference|Use frameworkReference for ASP.NET Core 3.0+ and PackageReference ASP.NET Core 2.2 or earlier.| |false|
Expand Down Expand Up @@ -74,6 +75,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul">
<li>Boolean</li>
<li>Collection</li>
<li>DateOnly</li>
<li>DateOnly?</li>
<li>DateTime</li>
<li>DateTime?</li>
<li>DateTimeOffset</li>
Expand Down
3 changes: 3 additions & 0 deletions docs/generators/csharp-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|sourceFolder|source folder for generated code| |src|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|useDateTimeForDate|Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only)| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useNewtonsoft|Uses the Newtonsoft JSON library.| |true|

Expand All @@ -67,6 +68,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul">
<li>Boolean</li>
<li>Collection</li>
<li>DateOnly</li>
<li>DateOnly?</li>
<li>DateTime</li>
<li>DateTime?</li>
<li>DateTimeOffset</li>
Expand Down
3 changes: 3 additions & 0 deletions docs/generators/csharp.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|sourceFolder|source folder for generated code| |src|
|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|<dl><dt>**netstandard1.3**</dt><dd>.NET Standard 1.3</dd><dt>**netstandard1.4**</dt><dd>.NET Standard 1.4</dd><dt>**netstandard1.5**</dt><dd>.NET Standard 1.5</dd><dt>**netstandard1.6**</dt><dd>.NET Standard 1.6</dd><dt>**netstandard2.0**</dt><dd>.NET Standard 2.0</dd><dt>**netstandard2.1**</dt><dd>.NET Standard 2.1</dd><dt>**net47**</dt><dd>.NET Framework 4.7</dd><dt>**net48**</dt><dd>.NET Framework 4.8</dd><dt>**net6.0**</dt><dd>.NET 6.0 (End of Support 12 November 2024)</dd><dt>**net7.0**</dt><dd>.NET 7.0</dd><dt>**net8.0**</dt><dd>.NET 8.0</dd></dl>|net8.0|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|useDateTimeForDate|Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only)| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useOneOfDiscriminatorLookup|Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped.| |false|
|useSourceGeneration|Use source generation where available (only `generichost` library supports this option).| |false|
Expand All @@ -73,6 +74,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul">
<li>Boolean</li>
<li>Collection</li>
<li>DateOnly</li>
<li>DateOnly?</li>
<li>DateTime</li>
<li>DateTime?</li>
<li>DateTimeOffset</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ public class CodegenConstants {
public static final String USE_DATETIME_OFFSET = "useDateTimeOffset";
public static final String USE_DATETIME_OFFSET_DESC = "Use DateTimeOffset to model date-time properties";

public static final String USE_DATETIME_FOR_DATE = "useDateTimeForDate";
public static final String USE_DATETIME_FOR_DATE_DESC = "Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only)";

public static final String ENSURE_UNIQUE_PARAMS = "ensureUniqueParams";
public static final String ENSURE_UNIQUE_PARAMS_DESC = "Whether to ensure parameter names are unique in an operation (rename parameters that are not).";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
protected boolean optionalProjectFileFlag = true;
protected boolean optionalMethodArgumentFlag = true;
protected boolean useDateTimeOffsetFlag = false;
protected boolean useDateTimeForDateFlag = false;
protected boolean useCollection = false;
protected boolean returnICollection = false;
protected boolean netCoreProjectFileFlag = false;
Expand Down Expand Up @@ -186,6 +187,8 @@ public AbstractCSharpCodegen() {
"DateTime",
"DateTimeOffset?",
"DateTimeOffset",
"DateOnly?",
"DateOnly",
"Boolean",
"Double",
"Decimal",
Expand Down Expand Up @@ -234,6 +237,11 @@ public void useDateTimeOffset(boolean flag) {
this.setTypeMapping();
}

public void useDateTimeForDate(boolean flag) {
this.useDateTimeForDateFlag = flag;
this.setTypeMapping();
}

@Override
protected void addParentFromContainer(CodegenModel model, Schema schema) {
// we do not want to inherit simply because additionalProperties is true
Expand Down Expand Up @@ -354,6 +362,13 @@ public void processOpts() {
additionalProperties.put(CodegenConstants.USE_DATETIME_OFFSET, useDateTimeOffsetFlag);
}

// {{useDateTimeForDate}}
if (additionalProperties.containsKey(CodegenConstants.USE_DATETIME_FOR_DATE)) {
useDateTimeForDate(convertPropertyToBooleanAndWriteBack(CodegenConstants.USE_DATETIME_FOR_DATE));
} else {
additionalProperties.put(CodegenConstants.USE_DATETIME_FOR_DATE, useDateTimeForDateFlag);
}

if (additionalProperties.containsKey(CodegenConstants.USE_COLLECTION)) {
setUseCollection(convertPropertyToBooleanAndWriteBack(CodegenConstants.USE_COLLECTION));
} else {
Expand Down Expand Up @@ -1756,6 +1771,12 @@ protected boolean isValueType(CodegenProperty var) {
return (this.getValueTypes().contains(var.dataType) || var.isEnum);
}

protected boolean useNet60OrLater() { return false; }

protected boolean useDateOnly() {
return useNet60OrLater() && !useDateTimeForDateFlag;
}

@Override
public void setParameterExampleValue(CodegenParameter p) {
String example;
Expand Down Expand Up @@ -1820,16 +1841,18 @@ public void setParameterExampleValue(CodegenParameter p) {
}
example = "System.Text.Encoding.ASCII.GetBytes(\"" + escapeText(example) + "\")";
} else if (p.isDate) {
String dateType = typeMapping.get("date");
if (example == null) {
example = "DateTime.Parse(\"2013-10-20\")";
example = dateType + ".Parse(\"2013-10-20\")";
} else {
example = "DateTime.Parse(\"" + example + "\")";
example = dateType + ".Parse(\"" + example + "\")";
}
} else if (p.isDateTime) {
String dateType = typeMapping.get("DateTime");
if (example == null) {
example = "DateTime.Parse(\"2013-10-20T19:20:30+01:00\")";
example = dateType + ".Parse(\"2013-10-20T19:20:30+01:00\")";
} else {
example = "DateTime.Parse(\"" + example + "\")";
example = dateType + ".Parse(\"" + example + "\")";
}
} else if (p.isDecimal) {
if (example == null) {
Expand Down Expand Up @@ -1993,7 +2016,7 @@ protected Set<String> getNullableTypes() {
}

protected Set<String> getValueTypes() {
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double", "DateTime", "DateTimeOffset", "Guid"));
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double", "DateTime", "DateOnly", "DateTimeOffset", "Guid"));
}

protected void setTypeMapping() {
Expand All @@ -2012,7 +2035,7 @@ protected void setTypeMapping() {
typeMapping.put("decimal", "decimal");
typeMapping.put("BigDecimal", "decimal");
typeMapping.put("DateTime", this.useDateTimeOffsetFlag ? "DateTimeOffset" : "DateTime");
typeMapping.put("date", "DateTime");
typeMapping.put("date", this.useDateOnly() ? "DateOnly" : "DateTime");
typeMapping.put("file", "System.IO.Stream");
typeMapping.put("array", "List");
typeMapping.put("list", "List");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public class AspNetServerCodegen extends AbstractCSharpCodegen {
public static final String BUILD_TARGET = "buildTarget";
public static final String MODEL_CLASS_MODIFIER = "modelClassModifier";
public static final String TARGET_FRAMEWORK = "targetFramework";
public static final String NET_60_OR_LATER = "net60OrLater";

public static final String PROJECT_SDK = "projectSdk";
public static final String SDK_WEB = "Microsoft.NET.Sdk.Web";
Expand Down Expand Up @@ -209,6 +210,10 @@ public AspNetServerCodegen() {
CodegenConstants.USE_DATETIME_OFFSET_DESC,
useDateTimeOffsetFlag);

addSwitch(CodegenConstants.USE_DATETIME_FOR_DATE,
CodegenConstants.USE_DATETIME_FOR_DATE_DESC,
useDateTimeForDateFlag);

addSwitch(CodegenConstants.USE_COLLECTION,
CodegenConstants.USE_COLLECTION_DESC,
useCollection);
Expand Down Expand Up @@ -299,7 +304,7 @@ public AspNetServerCodegen() {
@Override
protected Set<String> getNullableTypes() {
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double",
"DateTime", "DateTimeOffset", "Guid"));
"DateTime", "DateOnly", "DateTimeOffset", "Guid"));
}

@Override
Expand Down Expand Up @@ -462,6 +467,11 @@ public void processOpts() {
this.setTypeMapping();
}

@Override
protected boolean useNet60OrLater() {
return additionalProperties.containsKey(NET_60_OR_LATER);
}

public void setPackageGuid(String packageGuid) {
this.packageGuid = packageGuid;
}
Expand Down Expand Up @@ -775,6 +785,20 @@ private void setIsFramework() {
useFrameworkReference = true;
additionalProperties.put(USE_FRAMEWORK_REFERENCE, useFrameworkReference);
additionalProperties.put(TARGET_FRAMEWORK, "net6.0");
} else if (aspnetCoreVersion.getOptValue().startsWith("7.")) {
LOGGER.warn(
"ASP.NET core version is {} so changing to use frameworkReference instead of packageReference ",
aspnetCoreVersion.getOptValue());
useFrameworkReference = true;
additionalProperties.put(USE_FRAMEWORK_REFERENCE, useFrameworkReference);
additionalProperties.put(TARGET_FRAMEWORK, "net7.0");
} else if (aspnetCoreVersion.getOptValue().startsWith("8.")) {
LOGGER.warn(
"ASP.NET core version is {} so changing to use frameworkReference instead of packageReference ",
aspnetCoreVersion.getOptValue());
useFrameworkReference = true;
additionalProperties.put(USE_FRAMEWORK_REFERENCE, useFrameworkReference);
additionalProperties.put(TARGET_FRAMEWORK, "net8.0");
} else {
if (additionalProperties.containsKey(USE_FRAMEWORK_REFERENCE)) {
useFrameworkReference = convertPropertyToBooleanAndWriteBack(USE_FRAMEWORK_REFERENCE);
Expand All @@ -783,6 +807,17 @@ private void setIsFramework() {
}
additionalProperties.put(TARGET_FRAMEWORK, "netcoreapp" + aspnetCoreVersion);
}

setAddititonalPropertyForFramework();
}

private void setAddititonalPropertyForFramework() {
String targetFramework = ((String)additionalProperties.get(TARGET_FRAMEWORK));
if (targetFramework.startsWith("net6.0") ||
targetFramework.startsWith("net7.0") ||
targetFramework.startsWith("net8.0")) {
additionalProperties.put(NET_60_OR_LATER, true);
}
}

private void setUseNewtonsoft() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
protected boolean supportsAsync = Boolean.TRUE;
protected boolean netStandard = Boolean.FALSE;
protected boolean supportsFileParameters = Boolean.TRUE;
protected boolean supportsDateOnly = Boolean.FALSE;

protected boolean validatable = Boolean.TRUE;
protected boolean equatable = Boolean.FALSE;
Expand Down Expand Up @@ -264,6 +265,10 @@ public CSharpClientCodegen() {
CodegenConstants.USE_DATETIME_OFFSET_DESC,
this.useDateTimeOffsetFlag);

addSwitch(CodegenConstants.USE_DATETIME_FOR_DATE,
CodegenConstants.USE_DATETIME_FOR_DATE_DESC,
useDateTimeForDateFlag);

addSwitch(CodegenConstants.USE_COLLECTION,
CodegenConstants.USE_COLLECTION_DESC,
this.useCollection);
Expand Down Expand Up @@ -359,6 +364,11 @@ protected Set<String> getValueTypes() {
: new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double"));
}

@Override
protected boolean useNet60OrLater() {
return additionalProperties.containsKey(NET_60_OR_LATER);
}

@Override
protected void setTypeMapping() {
super.setTypeMapping();
Expand Down Expand Up @@ -782,6 +792,7 @@ public void processOpts() {
syncBooleanProperty(additionalProperties, CodegenConstants.USE_ONEOF_DISCRIMINATOR_LOOKUP, this::setUseOneOfDiscriminatorLookup, this.useOneOfDiscriminatorLookup);
syncBooleanProperty(additionalProperties, "supportsFileParameters", this::setSupportsFileParameters, this.supportsFileParameters);
syncBooleanProperty(additionalProperties, "useSourceGeneration", this::setUseSourceGeneration, this.useSourceGeneration);
syncBooleanProperty(additionalProperties, "supportsDateOnly", this::setSupportsDateOnly, this.supportsDateOnly);

final String testPackageName = testPackageName();
String packageFolder = sourceFolder + File.separator + packageName;
Expand Down Expand Up @@ -843,6 +854,10 @@ public void processOpts() {
}
}

if (useDateOnly()) {
setSupportsDateOnly(true);
additionalProperties.put("supportsDateOnly", true);
}
// include the spec in the output
supportingFiles.add(new SupportingFile("openapi.mustache", "api", "openapi.yaml"));

Expand Down Expand Up @@ -988,6 +1003,10 @@ public void addGenericHostSupportingFiles(final String clientPackageDir, final S
supportingFiles.add(new SupportingFile("ApiFactory.mustache", clientPackageDir, "ApiFactory.cs"));
supportingFiles.add(new SupportingFile("DateTimeJsonConverter.mustache", clientPackageDir, "DateTimeJsonConverter.cs"));
supportingFiles.add(new SupportingFile("DateTimeNullableJsonConverter.mustache", clientPackageDir, "DateTimeNullableJsonConverter.cs"));
if (useDateOnly()) {
supportingFiles.add(new SupportingFile("DateOnlyJsonConverter.mustache", clientPackageDir, "DateOnlyJsonConverter.cs"));
supportingFiles.add(new SupportingFile("DateOnlyNullableJsonConverter.mustache", clientPackageDir, "DateOnlyNullableJsonConverter.cs"));
}
supportingFiles.add(new SupportingFile("ApiResponseEventArgs`1.mustache", clientPackageDir, "ApiResponseEventArgs.cs"));
supportingFiles.add(new SupportingFile("ExceptionEventArgs.mustache", clientPackageDir, "ExceptionEventArgs.cs"));
supportingFiles.add(new SupportingFile("JsonSerializerOptionsProvider.mustache", clientPackageDir, "JsonSerializerOptionsProvider.cs"));
Expand Down Expand Up @@ -1092,6 +1111,10 @@ public void setSupportsFileParameters(Boolean supportsFileParameters) {
this.supportsFileParameters = supportsFileParameters;
}

public void setSupportsDateOnly(Boolean supportsDateOnly) {
this.supportsDateOnly = supportsDateOnly;
}

public void setSupportsRetry(Boolean supportsRetry) {
this.supportsRetry = supportsRetry;
}
Expand Down
Loading
Loading