mirror of
https://github.com/jlengrand/openapi-generator.git
synced 2026-05-16 00:21:19 +00:00
* [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
68 lines
1.6 KiB
Bash
68 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
#
|
|
# Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
#
|
|
|
|
frameworkVersion=net40
|
|
|
|
# sdk must match installed framworks under PREFIX/lib/mono/[value]
|
|
sdk=4
|
|
|
|
# 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"
|
|
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/net40/Newtonsoft.Json.dll bin/Newtonsoft.Json.dll;
|
|
cp packages/RestSharp.105.1.0/lib/net4/RestSharp.dll bin/RestSharp.dll;
|
|
|
|
echo "[INFO] Run 'mcs' to build bin/IO.Swagger.dll"
|
|
mcs -langversion:${langversion} -sdk:${sdk} -r:bin/Newtonsoft.Json.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
|