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

C# refactor improvements: .NET Standard and .NET Core #2187

Merged
merged 13 commits into from
Mar 10, 2019

Conversation

jimschubert
Copy link
Member

@jimschubert jimschubert commented Feb 19, 2019

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

Related to some discussion in #2014, this updates csharp-refactor to handle only .NET Standard and .NET Core. Doing this simplifies much of the logic differences between .NET Framework and PCL options available in the csharp generator, when compared to the .NET Standard and .NET Core options in the csharp-refactor generator.

As a result, this does change generator options and features by removing those which are not support in .NET Standard or .NET Core (e.g. no Fody property weaving).

The RestSharp dependency has a hard limit on netstandard2.0. This works for both .NET Standard and .NET Core 2.0, and while it's possible that the library will work in one of the .NET Standard 1.x configurations, we will log a message explaining that the only supported configuration for the built-in template is .NET Standard 2.0. The .NET Standard 1.x framework options exist to enable developers to extend the generator with their own custom templates.

This removes .NET 3.x, .NET 4.0, UWP, and the "5.0" option (which
referred to PCL 5.0). This gives us a smaller footprint for maintenance,
and doesn't necessarily block consumers from creating custom templates
to support those target frameworks. A workaround for users wanting these
options is to build against openapi-generator 3.3.4.

This moves logic for applying additional properties to strategies per
target framework, as a means to reduce maintenance overhead at the cost
of maybe a little redundancy between strategies.
Wrap xunit console environment variables in quotes, to prevent yaml syntax error.
Try to use dos-style switches, attempting to remove yaml parse error in appveyor. Previous command matched appveyor docs, but resulted in the parser error.
Wrap full commands for netstandard tests in quotes
* master: (40 commits)
  [Python] remove default value from being fallback to example (#2213)
  Add petstore integration tests to Ruby OAS3 client (#2211)
  Gradle - make GenerateTask properties optional (#2185)
  skip bats installation (#2198)
  Something in the dependencies changed. This switch is no longer needed. (#1850)
  Use oauth token for basic bearer auth in Rust. (#2161)
  Fix missing nullable (#2189)
  Enable error handling in Java WebClient library, fixes #1243 (#1244)
  [core] fix referenced enum case (#2175)
  rest-template: allow array parameters in path using collectionFormat (#2177)
  update go petstore samples
  Fix string types for cpprestsdk client generator (#1676)
  update kotline samples
  Remove API Key Authentication code for go when cookie is used. (#1601)
  changed the package install instructions to install the .tgz package … (#1989)
  okhttp-gson: allow array parameters in path using collectionFormat (#2137)
  [Ruby] Fix regualr expression in error message (#2069) (#2139)
  [kotlin][client] bytearray conversion (#2166)
  [rust-server] Added client documentation to rust-server (#2159)
  [Java] Getter/Setter naming convention not followed in generated models (#2095)
  ...
@jimschubert
Copy link
Member Author

@wing328 I think this is good for review if you want to check it out.

@wing328
Copy link
Member

wing328 commented Feb 23, 2019

@jimschubert 👍 will try it and let you know if I've any feedback.

@wing328 wing328 added this to the 4.0.0 milestone Mar 6, 2019
@wing328 wing328 changed the title Csharp refactor improvements C# refactor improvements: .NET Standard and .NET Core Mar 6, 2019
@wing328 wing328 merged commit f39e200 into master Mar 10, 2019
@wing328 wing328 deleted the csharp-refactor-improvements branch March 10, 2019 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants