forked from loafle/openapi-generator-original
* [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
|