Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Update libraries to target netstandard2.0 where feasible #12240

Merged
merged 8 commits into from
Mar 26, 2024

Conversation

jskeet
Copy link
Collaborator

@jskeet jskeet commented Mar 26, 2024

As ever, review one commit at a time.

In this case, it's worth reviewing the last two commits even though they're autogenerated. The "feat" one should only contain prod projects where the target has changed (as well as some test projects). The "chore" commit should not contain any target changes.

Once this PR is merged, I'll run a batch release which should pick up all the libraries which have changed targets - we'll need to manually move to a new minor for previously-patch-released libraries.

After that, we can change or remove the temporary hack, as there should be very few libraries left which can't target netstandard2.0. (Mostly those targeting Logging.V2 I suspect, as that's a particularly long dependency chain due to Logging.Type.)

We can't target netstandard2.0 when the project has a dependency on another project that hasn't already been released with a netstandard2.0 target.
This also affects smoke testing etc.
We never use this any more - we just do batch releases, which are smarter (in terms of ignoring chore commits where appropriate etc)
…levant commits

This will allow us to easily release APIs where the only feature is changing target frameworks.
(This was a problem for ShowStaleCommand, which didn't know about ignoring chore commits etc.)
- Update all mixin dependencies
- Use defaults for GAX and common protos
- Update manually-specified target frameworks to netstandard2.0 where feasible
- Update patch versions to next-minor-version-beta00 (as we intend to release a minor version soon)

Currently, Google.Cloud.Spanner.Data still targets netstandard2.1
instead of netstandard2.0, as there are some aspects of ADO.NET
which changed in netstandard2.1. We might decide to target both
netstandard2.0 *and* netstandard2.1 in the future.
This allows libraries targeting netstandard2.0 to depend on this library.
These are dependency updates for APIs which have not changed target framework.
Copy link
Contributor

@amanda-tarafa amanda-tarafa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Fine for Spanner to target both, also, depending on what has changed, we might take advantage of the upcoming major version to just target netstandard2.0.

@jskeet jskeet merged commit 90b8230 into googleapis:main Mar 26, 2024
11 checks passed
@jskeet jskeet deleted the smart-targeting branch March 26, 2024 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants