mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
* [csharp] Support composition on toJson Previous implementation assumed specification only supports polymorphic associations (via discrimator), although the code didn't seem to be setup correctly for that in the first place. That is, the parent object must define the discriminator (see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#models-with-polymorphism-support), so NOT HAS parent AND HAS discriminator doesn't make sense. From a C# perspective, base classes should have the method marked virtual and derived classes should override the method. This supports both composition and polymorphic definitions. * [csharp] Regenerate integration test files * [csharp] Regenerate samples * [csharp] Regenerate security sample
69 lines
1.7 KiB
Bash
69 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
#
|
|
# Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
#
|
|
|
|
frameworkVersion=net45
|
|
|
|
# sdk must match installed framworks under PREFIX/lib/mono/[value]
|
|
sdk=4.5.2-api
|
|
|
|
# langversion refers to C# language features. see man mcs for details.
|
|
langversion=${sdk}
|
|
nuget_cmd=nuget
|
|
|
|
# Match against our known SDK possibilities
|
|
case "${sdk}" in
|
|
4)
|
|
langversion=4
|
|
;;
|
|
4.5*)
|
|
langversion=5
|
|
;;
|
|
4.6*)
|
|
langversion=6
|
|
;;
|
|
4.7*)
|
|
langversion=7 # ignoring 7.1 for now.
|
|
;;
|
|
*)
|
|
langversion=6
|
|
;;
|
|
esac
|
|
|
|
echo "[INFO] Target framework: ${frameworkVersion}"
|
|
|
|
if ! type nuget &>/dev/null; then
|
|
echo "[INFO] Download nuget and packages"
|
|
wget -nc https://dist.nuget.org/win-x86-commandline/latest/nuget.exe;
|
|
nuget_cmd="mono nuget.exe"
|
|
fi
|
|
|
|
mozroots --import --sync
|
|
${nuget_cmd} install src/IO.Swagger/packages.config -o packages;
|
|
|
|
echo "[INFO] Copy DLLs to the 'bin' folder"
|
|
mkdir -p bin;
|
|
cp packages/Newtonsoft.Json.10.0.3/lib/net45/Newtonsoft.Json.dll bin/Newtonsoft.Json.dll;
|
|
cp packages/RestSharp.105.1.0/lib/net45/RestSharp.dll bin/RestSharp.dll;
|
|
cp packages/JsonSubTypes.1.2.0/lib/net45/JsonSubTypes.dll bin/JsonSubTypes.dll
|
|
|
|
echo "[INFO] Run 'mcs' to build bin/IO.Swagger.dll"
|
|
mcs -langversion:${langversion} -sdk:${sdk} -r:bin/Newtonsoft.Json.dll,bin/JsonSubTypes.dll,\
|
|
bin/RestSharp.dll,\
|
|
System.ComponentModel.DataAnnotations.dll,\
|
|
System.Runtime.Serialization.dll \
|
|
-target:library \
|
|
-out:bin/IO.Swagger.dll \
|
|
-recurse:'src/IO.Swagger/*.cs' \
|
|
-doc:bin/IO.Swagger.xml \
|
|
-platform:anycpu
|
|
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo "[ERROR] Compilation failed with exit code $?"
|
|
exit 1
|
|
else
|
|
echo "[INFO] bin/IO.Swagger.dll was created successfully"
|
|
fi
|