-
Notifications
You must be signed in to change notification settings - Fork 78
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
Remove bundled dependencies #269
Comments
Internal bug: b/238779170 |
It looks like those libraries just contribute
I think just removing them from the API is a feasible solution. So, something like:
We'd probably also want to update the readme to mention the removed API as people might look there if they hit issues after a pub upgrade. And I don't know if it's a drop-in replacement for the SimplexNoise classes, but I do see https://pub.dev/packages/fast_noise on pub. |
SGTM, Devon.
…On Fri, Aug 12, 2022 at 5:40 PM Devon Carew ***@***.***> wrote:
It looks like those libraries just contribute SimplexNoise and
vector_math_64 SimplexNoise to the API. From some brief investigation:
- those classes aren't referenced from flutter/flutter (or
flutter/engine)
- I don't see references to them from google3
- I don't see references to them from the pub.dev packages that depend
on vector_math (see
https://gist.github.com/devoncarew/5c25a2fa7182c1bb6ea1b298ef5ece5b)
I think just removing them from the API is a feasible solution. So,
something like:
- deprecating the classes and publish a new minor version (~2.2.0)
- removing the vendored libraries and publishing a new major version
(3.0.0)
We'd probably also want to update the readme to mention the removed API as
people might look there if they hit issues after a pub upgrade. And I don't
if it's a drop-in replacement for the SimplexNoise classes, but I do see
https://pub.dev/packages/fast_noise on pub.
—
Reply to this email directly, view it on GitHub
<#269 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAEFCRSR2ZW4AOU7CXFYK3VY3HGRANCNFSM55Q2EAFQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
After a discussion w/ @natebosch, I'm reminded that it's disproportionally expensive to ship a major version rev of a package that's been pinned by flutter. Currently, those packages are:
The expense comes from:
One shorter term solution to this problem for the user is to use a dependency override ( We'll need to think about how to move forward here a bit more, but a few short and long term options are:
We'll probably want to deprecate the API whatever path we choose, and, could gather more info about the actual impact of a major version rev. of this package. |
Some slightly updated data: All the packages using vector_math, whose deps resolve against the current stable dart and flutter sdks, and have been published in the last 12 months: https://gist.github.com/devoncarew/25cd4bbf2fe3342f3fcd2b4fa4d10de3 (111 packages) All the packages using vector_math, whose deps resolve against the current stable dart and flutter sdks, including older (not recently published) packages: https://gist.github.com/devoncarew/bf014475a01c61f802e4a3c080613ed3 (197 packages) Note that both of these new queries show two existing uses of the |
Did we bother to create a separate package for simplex noise? |
We don't plan to, but if one is created, it would be good to update the deprecation issue (#270) with that info. |
I strongly agree with the removal of simplex noise. Thanks @devoncarew |
I strongly advice against this way forward (to not follow semver), even if we would be quick to push out a new version of Flame it would break all older Flame versions. |
https://github.com/google/vector_math.dart/tree/master/lib/src/vector_math/third_party
https://github.com/google/vector_math.dart/tree/master/lib/src/vector_math_64/third_party
We should strip out these dependencies and import them individually from a separately package. This package may already exist.
Bundled dependencies make it difficult to properly import packages into other repositories (such as Google's) due to potential licensing issues. Bundled dependencies can also represent potential security concerns, for example if a vulnerable older version of a library is bundled.
The text was updated successfully, but these errors were encountered: