diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java index 829756760240..aa5b8e972e8c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java @@ -84,10 +84,10 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen { private static FrameworkStrategy defaultFramework = FrameworkStrategy.NETSTANDARD_2_0; protected final Map frameworks; protected String packageGuid = "{" + java.util.UUID.randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; - protected String clientPackage = "Org.OpenAPITools.Client"; + protected String clientPackage = "Client"; protected String authFolder = "Auth"; - protected String apiDocPath = "docs/"; - protected String modelDocPath = "docs/"; + protected String apiDocPath = "docs" + File.separator; + protected String modelDocPath = "docs" + File.separator; // Defines TargetFrameworkVersion in csproj files protected String targetFramework = defaultFramework.name; @@ -547,6 +547,7 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert postProcessPattern(property.pattern, property.vendorExtensions); postProcessEmitDefaultValue(property.vendorExtensions); + // remove once https://github.com/OpenAPITools/openapi-generator/pull/13681 is merged if (GENERICHOST.equals(getLibrary())) { // all c# libraries should want this, but avoid breaking changes for now // a class cannot contain a property with the same name @@ -664,8 +665,6 @@ public void processOpts() { setModelPackage("Model"); } - clientPackage = "Client"; - if (GENERICHOST.equals(getLibrary())) { setLibrary(GENERICHOST); additionalProperties.put("useGenericHost", true); @@ -679,7 +678,7 @@ public void processOpts() { additionalProperties.put("useHttpClient", true); needsUriBuilder = true; } else { - throw new RuntimeException("Invalid HTTP library " + getLibrary() + ". Only restsharp, httpclient are supported."); + throw new RuntimeException("Invalid HTTP library " + getLibrary() + ". Only restsharp, httpclient, and generichost are supported."); } String inputFramework = (String) additionalProperties.getOrDefault(CodegenConstants.DOTNET_FRAMEWORK, defaultFramework.name); @@ -742,7 +741,7 @@ public void processOpts() { final AtomicReference excludeTests = new AtomicReference<>(); syncBooleanProperty(additionalProperties, CodegenConstants.EXCLUDE_TESTS, excludeTests::set, false); - syncStringProperty(additionalProperties, "clientPackage", (s) -> { }, clientPackage); + syncStringProperty(additionalProperties, "clientPackage", this::setClientPackage, clientPackage); syncStringProperty(additionalProperties, CodegenConstants.API_PACKAGE, this::setApiPackage, apiPackage); syncStringProperty(additionalProperties, CodegenConstants.MODEL_PACKAGE, this::setModelPackage, modelPackage); @@ -809,6 +808,10 @@ public void processOpts() { addTestInstructions(); } + public void setClientPackage(String clientPackage) { + this.clientPackage = clientPackage; + } + @Override public CodegenOperation fromOperation(String path, String httpMethod,