Added documentation on how to use `Grpc.Tools` MSBuild integration with
*unsupported* architectures - i.e. third party built `protoc` and
`grpc_csharp_plugin`.
Fix incompatibilities identified when running adhoc runs on the new
custom win2019 image.
After merging this, it should be possible to switch to the new image
without breaking any tests.
- for most fixes I added a comment that explains why they're necessary.
- the new image won't have VS2015 installed, so I'm switching the protoc
artifact build to VS2017
This PR will need to be backported to older release branches to ensure
the windows tests continue working on those branches as well (IMHO I
haven't made any changes that would be difficult to backport and I tried
to keeps the diff as small as possible to avoid issues when
backporting).
After we switch to the new image (and all the windows tests are green),
we can incrementally move the builds that are still using VS2017 to
VS2019.
Further Grpc.Tools tests
- TestCharactersInName - proto files with dots and numbers in their
names
- TestExtraOptions - test setting AdditionalProtocArguments,
OutputOptions and GrpcOutputOptions
- TestGrpcServices - test setting GrpcServices to "none", "client",
"server" and "both"
- TestSetOutputDirs - test setting OutputDir and GrpcOutputDir
* Rewrite Grpc.Tools BUILD-INTEGRATION.md docs
* Minor edits to text
* various adjustments and typos for Grpc.Tools readme
* Updated with review suggestions
* Further refinements to the docs
* Add README for Grpc.Tools package
* Update BUILD-INTEGRATION.md
* Updated from review comments
Co-authored-by: Jan Tattermusch <jtattermusch@google.com>
* Inital Grpc.Tools unit tests
* refining the tests
* Get tests to run on Linux
* further grpc.tools tests changes
* changes for relative/absoulte paths
* Simplify running on just one framework
* Add Protobuf.MSBuild.dll for tests to use
* fix typo in comment
* fix copyright note
* Revert "Add Protobuf.MSBuild.dll for tests to use"
This reverts commit 542756cade.
* cleanup Directory.Build.props
* fix location of tasksAssembly
* cleanup in preparing paths
* add test-out to .gitignore
* many simplifications to MsBuildIntegrationTest
* update expected test results data
* many improvements to fakeprotoc.py
* yapf code
* fix copyright licenses
* reintroduce normalized paths
* minor fixes
* attempt simplify Directory.Build.targets
* newline at EOF
* simplify result comparison
* add a TODO
* further simplify MsBuildIntegrationTest test harness
* avoid internal symbol conflict by diambiguating test protos
* add TODO
* style fixes
* one more fixup
Co-authored-by: Jan Tattermusch <jtattermusch@google.com>
* Fix msbuild failing when '@' is present in path
There was ambiguity in references to Source metadata on some Items. These
are now qualified to remove the ambiguity.
* Revert "Fix msbuild failing when '@' is present in path"
This reverts commit bb5d5ddc61.
* Unescape Indentity when creating Source
* Fix spelling in comment
* issue 27502 - parse warning from libprotobuf
The warnings and errors logged by some of the pluggins such as the csharp
plugin are in a different format from other warnings etc logged by the
protobuf compiler (the plugins use GOOGLE_LOG to log message).
The parsing code in Grpc.Tools has been modified to correctly parse these
so that warnings are no longer handled as errors.
* Fix typos in comments
* Update third_party/protobuf
* run tools/distrib/python/make_grpcio_tools.py
* regenerate protos for ruby, php
* update build_handwritten.yaml
* regenerate projects
* Build - Use :well_known_type_protos instead of :well_known_protos
* Fix target
* Update upb
* Update Python for Protobuf 4.21 (#140)
* Update protobuf dependency on grpcio-tools
* Off by one
* Drop python 3.6 support
* Try upgrading pip
* And in the other script
* Try to figure out if we're compatible with abi3
* See what we've already got installed
* Update the requirements.txt file I didn't know existed
* And here too
* See what's installed
* Let's try that again
* Remove
* Try to confirm version
* Let me see the generated code
* Fix non-Bazel test runner
* Work for all test directories
* Regenerate example protos
* Clean up
* Generate .pyi files
* Fix type checking and linting
* Exclude pyi files from isort
* Upgrade to 3.21.4
* Update iwyu to get around messy protobuf IWYU rules
Co-authored-by: Richard Belleville <gnossen@gmail.com>
* 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