Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add plugin tooling to enforce documentation of minimum supported OS versions #84200

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

Open
2 of 3 tasks
stuartmorgan-g opened this issue Jun 8, 2021 · 0 comments
Open
2 of 3 tasks
Labels
c: contributor-productivity Team-specific productivity, code health, technical debt. d: api docs Issues with https://api.flutter.dev/ p: tooling Affects the flutter_plugin_tools package P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. team-ecosystem Owned by Ecosystem team triaged-ecosystem Triaged by Ecosystem team

Comments

@stuartmorgan-g
Copy link
Contributor

stuartmorgan-g commented Jun 8, 2021

Currently we don't document what the minimum OS version of our plugins is, for any platform. On iOS, it's mostly a non-issue at the moment since like Flutter they all support iOS 8 (at build time at least; camera doesn't mostly work before iOS 10), but there's no guarantee of that being true in general; on Android it's already a build-time issue (#34999).

The risk of such documentation is of course that it isn't the source of truth, so could become outdated. We should

  • Design a standard format we use to document this in all of our READMEs (extensible to all platforms)
    • This format should have both an easily parsed version for the step below, but also a place for general notes like ("functionality X requires a higher minimum version Y")
  • Add it to all our plugin READMEs
  • Add tooling support to detect that plugins have that entry, and wherever possible enforce that it is no lower than the source of truth (as we do with CHANGELOG and pubspec.yaml versions, for instance):
    • iOS/macOS: s.platform in the podspec
    • Android: minSdkVersion in build.gradle
    • Windows: I don't know that there's a formal way to express this in the build
    • Linux: There's not really a good way of expressing this; the build requirements are in the form of library versions

The check needs to be "no lower" rather than "equal" so that we have the ability to express things like the current iOS camera plugin situation, where we may want to allow the plugin to build in projects that target older iOS versions, but not work at runtime.

@stuartmorgan-g stuartmorgan-g added plugin P3 Issues that are less important to the Flutter project c: contributor-productivity Team-specific productivity, code health, technical debt. labels Jun 8, 2021
@stuartmorgan-g stuartmorgan-g added p: tooling Affects the flutter_plugin_tools package package flutter/packages repository. See also p: labels. and removed plugin labels Mar 6, 2023
@flutter-triage-bot flutter-triage-bot bot added the d: api docs Issues with https://api.flutter.dev/ label Jul 5, 2023
@flutter-triage-bot flutter-triage-bot bot added team-ecosystem Owned by Ecosystem team triaged-ecosystem Triaged by Ecosystem team labels Jul 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: contributor-productivity Team-specific productivity, code health, technical debt. d: api docs Issues with https://api.flutter.dev/ p: tooling Affects the flutter_plugin_tools package P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. team-ecosystem Owned by Ecosystem team triaged-ecosystem Triaged by Ecosystem team
Projects
None yet
Development

No branches or pull requests

2 participants