* the result I want to obtain
* add csharp-petstore-net-40.bat for windows
* just ran bin\windows\csharp-petstore-all.bat
* Removed those directories:
- samples\client\petstore\csharp
- samples\client\petstore\csharp-dotnet2
then ran :
bin\windows\csharp-petstore-all.bat
* - update JsonSubTypes to 1.1.3 by using nuget dependency (the package is compatible with net40)
- allign all version of Newtonsoft.Json to 10.0.3
* the result of bin\windows\csharp-petstore-all.bat
* ran bin\security\windows\csharp-petstore.bat
* [csharp] Convert "false" properties to booleans
It appears as though "false" strings in additionalProperties are no
longer treated as false booleans. This may be an issue elsewhere, but a
simple fix is to always explicitly set the boolean value in a generator
class back to the additionalProperties map to convert boolean Strings to
boolean Objects.
* [nancyfx] Clean up async default option handling
* [nancyfx] Include asyncServer=false in sample script
* [csharp] Regenerate samples
* [csharp] Resolve .net 4 generation issues
Some functionality is missing from .NET 4.0, such as IReadonlyDictionary
and Type.GetTypeInfo().
This commit resolves compilation of generated .NET 4.0 code, requiring
no conditional versioning of Newtonsoft.Json.
* [csharp] Regenerate .net 4.0 sample
* [csharp] Resolve .NET 4.0 sample compile
Sample build.sh wasn't accounting for targeting different FCL correctly.
That is, when passing "net40" to the -sdk option, it would use the
default -sdk:4 and -langversion:6. These don't necessarily match with
what is installed on a machine with only .NET 4.0 (which is our targeted
use case here).
To resolve, we need to define another version-specific value for passing
to the mcs -sdk option (see man mcs for details).
This option currently isn't overridable in the client codegen class.
Also, langversion is set specifically to the version of C# available to
the targeted SDK version. If there is need, we may extend this to
something like:
langversion=${MCS_LANG_VERSION:-6}
To allow users to run as:
env MCS_LANG_VERSION=5 sh build.sh
I haven't done this because I doubt there's much of a use case via this
script. I'm assuming most consumers will build via IDE or MSBuild.
* [csharp] Revert bin/csharp-petstore.sh to 3.5
* [csharp] Regenerate .NET 3.5 sample
* [csharp] Resolve nuget issue with existing files
* [csharp] Update -all.sh, regenerate samples
* ContentType selection fix for csharp.
Updated to reflect java implementation. Previously any request body of type string was having the content type overridden to 'application/json'. This prevented custom json ContentTypes
* updated the petshop codegen for C#
* Fixed content type selection test for csharp
* Replaced tabs with 4 spaces
* Removed trailing space / string comparison
* [csharp] Explicitly set supportsInheritance
* [csharp] set supportsInheritance for client
This includes supportsInheritance only for the client codegen at the
moment, because setting in AbstractCSharpCodegen would require the
change to be tested in all derived generators, possibly including
similar template changes to this commit's.
* include nice improvement of https://github.com/jimschubert/swagger-codegen/tree/csharp/3829 and leverage https://github.com/manuc66/JsonSubTypes for subtype deserialization
* remove duplicate base validations
* remove useless tests
* restore documentation for properties coming from parent
* launch bin/security/csharp-petstore.sh
* it's impossible to call an explicitly implemented interface-method on the base class
(https://stackoverflow.com/questions/5976216/how-to-call-an-explicitly-implemented-interface-method-on-the-base-class)
* restore portion of code that was lost
* regenerate more
* fix missing using
* take the multi .net compatible revision
* keep generated model simple when no hierarchy involved
* regenerate with:
- bin/csharp-petstore-all.sh && bin/security/csharp-petstore.sh
- bin/csharp-dotnet2-petstore.sh && bin/csharp-petstore.sh && bin/csharp-petstore-netcore-project.sh && bin/csharp-petstore-net-standard.sh && bin/csharp-property-changed-petstore.sh
* fix sln indentation and the missing windows runner for dotnet2
* fix inheritance GetHashCode and Equals
* override instead of hiding the base method
+ fix the csharp-property-changed-petstore.bat
* By default the value of the discriminator property must be the name of the current schema
* Add test for subtype deserialisation from parent type
* add missing '.bat' and use the 'call' template from javascript-petstore-all.bat
add missing file to trigger it on windows
* fix default value bug
* cleanup copyright information
* formatting after merge
* fix merge
* applying bin/csharp-petstore-all.sh
* applying bin/security/csharp-petstore.sh
* [csharp] refactor ApiClient and Configuration usage
* # This is a combination of 2 commits.
# The first commit's message is:
[csharp] refactor ApiClient and Configuration usage
[csharp] Regenerate sample
# This is the 2nd commit message:
[csharp] Simplify setting apikey/prefix/headers
* # This is a combination of 2 commits.
# The first commit's message is:
[csharp] refactor ApiClient and Configuration usage
* Simplify setting apikey/prefix/headers
* Regenerate sample
# This is the 2nd commit message:
[csharp] Pass-through configuration timeout to client
* [csharp] refactor ApiClient and Configuration usage
* Simplify setting apikey/prefix/headers
* Regenerate sample
* [csharp] Regenerate all client samples
* [csharp] regenerate .net standard/core samples
* [csharp] Fix Timeout diff between netstandard and non-netstandard
* [csharp] Resolve additional netStandard issues after merge
* [csharp] Update doc for Configuration usage
* remove trailing space in cpprest, update samples
* remove unused pom.xml in go pestore
* fix broken links in php api doc by fixing baseType
* fix csharp api doc
* fix php examples
* fix examples for abstract php generator
This is the result of
- `$ git checkout master`
- `$ bin/run-all-petstore`
No change was made to the code, just ran the aggregate sample generation
script.
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.
definitions:
JustABoolean:
type: boolean
This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.
This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.
This functionality currenlty only applies to Java, but could be extended to
other languages later.
The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.