-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Cleanup 5 year old handling of pluginClass: none
#171922
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
Conversation
|
Oops 😬 Looks like I forgot to set a reminder for step 2. My 2-step plan didn't anticipate that a fair number of people would duplicate that entry into their plugins during the time we used it. Given that, I don't think we should just suddenly break it without warning. As an updated plan I recommend we:
I'll also go file issues against all of the plugins in that query that don't appear to be abandoned. I definitely don't think we should add a feature flag for this. |
dartPluginClass: nonepluginClass: none
|
(Adjusted title; the thing we primarily supported and actually used was |
|
Well, maybe not so many. Once I removed things that haven't been updated in a more than a year, projects that were apps that mysteriously added plugin entries with this key to the app pubspec (LLM hallucination?), third-party-embedding plugins, and local-to-project forks of old versions of plugins, I only have 5 repos left. That said, I haven't done a full sweep of everything that's not on GitHub using https://github.com/loic-sharma/pub_insights/ yet, so there could be more. I still think one release of a warning is the safer option. |
bkonyi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The conservative move would be to add a warning for at least one more release, but if we're fairly certain that this will impact a very small number of projects and pluginClass: none basically did nothing for years, I think the impact of just removing this now would be minimal. Could we just submit PRs to those few projects still setting this field and remove it?
| languageVersions: <String, String>{'path_provider_example': '2.12'}, | ||
| ); | ||
|
|
||
| projectDir.childFile('pubspec.yaml').writeAsStringSync(_kSamplePubspecFile); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ubernit: I'd probably just cascade these childFile and childDirectory calls off of projectDir.
The issue isn't that it did nothing, it's that removing the special casing for it will change the behavior from "do nothing" to "fail at build time with a hard-to-understand error".
I filed issues with the ones I found with GitHub. We could do a second pass with the insights tool to find anything published on pub.dev that doesn't use GitHub that has this issue. But an unknowable (probably small, but we by definition can't know) number of projects use non-published plugins that have this issue. And an unknown number of projects still use old versions of plugins (including ours, potentially) that still have the entry even if was removed. |
|
Fair enough. Let's just provide a warning for a single stable release and then remove this workaround for the next stable. |
|
Replaced by #172315. |
Towards #57497. Supersedes #171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Towards flutter#57497. Supersedes flutter#171922 based on @stuartmorgan-g's advice for a warning release. I'll CP this into `3.35` (beta) so that we can clean it up on `master` anytime.
Closes #57497.
Starting as a draft to get feedback - I am open to other options:
noneatoolExit(...)