* cleanup C# win artifact build
* build C# basictests on win with ninja
* specify default parallelism for C# win artifact
* honor GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS in build_artifact_python.bat
* set --inner_jobs for windows grpc_build_artifact job
* fixup C# build picking env variables from C core build
* get rid of no longer needed NativeDependenciesConfiguration C# setting
* add --dry_run support for task_runner.py
* dont sort task_runner targets before running
* fixup dry run
* support task_runner.py --inner_jobs
* pass inner_jobs to build_jobspec for task_runner.py
* support inner_jobs for C# artifacts
* support inner_jobs for protoc artifacts
* inner jobs support for src/csharp/experimental/build_native_ext_for_android.sh
* address review feedback
* Assert Android API >= v21
This precedes a change that would otherwise break on older Android APIs,
but in a more obvious way.
* error if __ANDROID_API__ is not defined
* update all Andriod minSdkVersions to 21
* csharp experimental: android-19 to 21
* [csharp net472] Fix error loading library grpc_csharp_ext.x64.dll on Windows with charset on non ANSI encoding. Example library path: C:\Program Files (x86)\тест\grpc_csharp_ext.x64.dll
* cleanup
* Change charset to Unicode
Co-authored-by: Jan Tattermusch <jtattermusch@google.com>
Add `%(NuGetPackageId)` as is standard procedure for nuget package-provided assets,
so that other MSBuild targets can act on items contributed by Grpc.Core as needed, for
example, in Pack scenarios.
Fixes#26724
Prefix BoringSSL APIs with _GRPC_ by default on iOS, by actually isolating it against other libraries with might include openssl themselves and therefore allowing to embed gRPC on iOS completely mind free.
This patch essentially does what has already been done for cocoapods ( see https://github.com/grpc/grpc/pull/21194 ).
* generate separate .so with/without debug symbols for grpc_csharp_ext
* add linux .dbginfo.so libraries to Grpc.Core.NativeDebug package
* fix aarch64 grpc_csharp_ext stripping
* lots of linux artifact build jobs are currently timing out
* build aarch64 version of protoc
* remove csharp artifact x86 build logic for unix systems
* build grpc_csharp_ext artifact for linux aarch64
* refactor platform detection
* add generated dllimports for arm64
* fix native library loading on arm64
* include arm64 artifacts in Grpc.Tools
* add Grpc.Tools codegen support for linux aarch64
* grpc.tools cleanup
Using "optional" presence tracking in proto3 (before protobuf 3.15)
required the `--experimental_allow_proto3_optional` protoc option
but there was no existing Grpc.Tools feature that would allow specifying
these arguments.
This commit adds an optional `Protobuf.AdditionalProtocArguments` option
that allows you to specify arbitrary protoc arguments. For example:
```
<Protobuf Include="**\*.proto" CompileOutputs="true" AdditionalProtocArguments="--experimental_allow_proto3_optional" />
```
Fixes#22975