* update appveyor.yml to test c# petstore client
* update csproj file
* add docker version test
* add docker version
* add docker
* add cpuid.ps1
* comment out cpuid
* use start process
* remove mvn test
* remove comments related to docker
* fix appveyor to run local petstore, shippable caching turned on
* add comments to ci config
* remove cpuid.ps1
* update C# petstore sample
* use square bucket for C# dictionary
* use packageName for nancyfx generator, update info to debug for log
* use packageName for nancyfx generator, update info to debug for log
Uses packageName instead of packageTitle for RootNamespace and
AssemblyName in the C# generate client project. packageTitle is intended
to add additional information to AssemblyInfo.cs, and changing
packageTitle to non-FQN text breaks adding new files to the project.
packageTitle, per CodegenConstants description:
"Specifies an AssemblyTitle for the .NET Framework global assembly
attributes stored in the AssemblyInfo file."
Adds support for system properties apiTests, modelTests, modelTests, modelDocs.
All accepting a boolean value to explicitly define whether or not these
should be generated.
These properties aren't considered "features", so specifying
-DmodelTests=false for example won't cause api or supportFiles to be ignored.
Includes additionalProperty excludeTests for when apiTests and modelTests are
both set to false.
Also includes update to csharp client generator to prevent generation of
the Test project or inclusion of the Test project when both api and
model tests are excluded.
see #2506
Resolving an issue with serializing classes that contain required
properties. When the only constructor has defaulted parameters, no
parameterless constructor is generated but JSON.Net attempts to call
the missing constructor on deserialization (because of DataContract).
See: https://manski.net/2014/10/net-serializers-comparison-chart/
The fix here is to create a protected constructor, annotate it with
JsonConstructorAttribute to inform JSON.Net it is the constructor to use
during serialization, then provide settings that explicitly allow
JSON.Net to access non-public constructors during serialiazation.
Aligns C# project outputs more with community accepted standards and
leverges Nuget for package management.
This also moves the generated C# sample code out of the test project's
Lib folder. The output structure here was causing some issues with
maintainability (e.g. had to update test project with generated code).
(see: https://gist.github.com/davidfowl/ed7564297c61fe9ab814)
Output for a project, IO.Swagger will now look like:
.
├── IO.Swagger.sln
├── README.md
├── bin
├── build.bat
├── build.sh
├── docs
├── packages
└── src
├── IO.Swagger
│ └── packages.config
└── IO.Swagger.Test
└── packages.config
This is a change from the Java-like src/main/csharp/IO/Swagger/etc
structure and will be a breaking change for some.