- Remove 5.10 from CI and Makefile workarounds
- Remove 5.10 specific package manifests
- Fix deprecation warnings from 6.0
- Bump language mode to 6 and remove 'StrictConcurrency=Complete'
---------
Co-authored-by: Thomas Van Lenten <thomasvl@google.com>
This will get those extensions recognized when the request from protoc is
parsed, and then a generator can use the existing SwiftProtobuf extension
related apis to access them.
Fixes#1677
Note: This does *not* enable editions yet for SwiftProtobuf, it is just the
infrastructure to allow it to eventually be enabled.
This will allow a `CodeGenerator` to express support for Editions, but it does
*not* allow the use of custom generator specific Features. That will be done in
the future, and does not need to be done for Swift Protobuf (or Swift GRPC) to
be ready to support editions when they are launched upstream.
This backs out the plugin public interface that was just added in #1558. My
local prototype was working using this, but I wasn't looking at supporting
plugin specific features yet, and in doing that, I realized the same edition
min/max information will also come in via `FeatureSetDefaults` and will have to
be in sync. So dropping the interface until I plan that support out better.
- Add api to get supported editions range.
- If the generator signals editions support, add the range into the generation
response.
- Make the protos Editions enum Comparable since the docs document it and it
then will allow other code paths to do version comparisons.
Add the concept of a `CodeGenerator` and some building blocks to go with it so
some of the boilerplate around writing plugins is provided.
This is the start of the building blocks to make supporting Editions easier for
any plugin (grpc) when that support lands as it will make a lot of the setup
details hidden rather than having to be implemented by each plugin.