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

[Feature Request] Add support to shorebird #757

Open
SamuelGadiel opened this issue Jul 31, 2024 · 8 comments
Open

[Feature Request] Add support to shorebird #757

SamuelGadiel opened this issue Jul 31, 2024 · 8 comments
Labels
enhancement New feature or request

Comments

@SamuelGadiel
Copy link

I use FVM to manage the pure Flutter versions, and it works pretty well.
But now I'm studying about CodePush and Shorebird, which is a modification of the Flutter SDK

As far as I know FVM does not have support for changing the source repository
It would be great to have a way to configure the source from where we want to get the SDKs.

I see that fvm config has a --flutter-url parameter. But how does it work?
Can I use it to change the source repository to point to shorebird?

If not, we could make it a configuration parameter, with the default for the Flutter repository
And add the option to change the source repository, with some given options.

Something like

fvm config --source flutter
fvm config --source shorebird
@SamuelGadiel SamuelGadiel added the enhancement New feature or request label Jul 31, 2024
@leoafarias
Copy link
Owner

@SamuelGadiel, can you take a look at having custom versions?
https://fvm.app/documentation/advanced/custom-version

You would just have to add the SDK.

Also, the flutter-url will point to the Git repository of the Flutter SDK, so if that is what Shorebird provides, it would work seamlessly.

@SamuelGadiel
Copy link
Author

SamuelGadiel commented Aug 1, 2024

From what I understood, custom versions have to be manually installed, which defeats the purpose of managing the sdks automatically.

But the flutter-url looks promising
Should I point to the repository itself or the releases page?
Shorebird has its releases in this url: https://github.com/shorebirdtech/shorebird/releases

How can I check that it worked?

I ran both
fvm config --flutter-url https://github.com/shorebirdtech/shorebird
and
fvm config --flutter-url https://github.com/shorebirdtech/shorebird/releases

But in both commands the fvm releases command returned the flutter versions

@SamuelGadiel
Copy link
Author

Now that I'm checking
The shorebird releases page points to the releases of their CLI, not their modified versions of flutter...

@dickermoshe
Copy link
Contributor

dickermoshe commented Sep 13, 2024

@leoafarias
What are your thoughts about integrating support for shorebird in fvm directly.

pyenv (Python), jabba (Java) and many other Version Managers support more than just the official installation.
I think this would be a great thing for DevX

@leoafarias
Copy link
Owner

I am not opposed to it. However, I don't know if it's that straightforward, and it might be tough to maintain as it seems to be more than just a fork.

@Aej75
Copy link

Aej75 commented Oct 6, 2024

Working on a project that have both fvm and shorebird is such a conflicting combination. I just wanted to build my project with the current fvm version. But shorebird on other hand is just gonna download its own version. If only there was a way for linking up the same path of flutter to both shorebird and fvm, I'd not have to download same flutter version for each project twice, taking up all the space on my PC.

@SamuelGadiel
Copy link
Author

Shorebird doesn't use the vanilla Flutter SDK, they have modified the SDK to allow for code push.
So I don't think it would be possible to link Shorebird and FVM to use the same directory.
By definition, they will be duplicated.

@SamuelGadiel
Copy link
Author

What I thought is that we could have a way to manage the SDK that Shorebird downloads using the FVM

But that would imply that FVM could download the binaries from Shorebird.
And Shorebird should have a way to identify the sdk that was downloaded with FVM.
Or FVM would have to save the SDK that was downloaded from shorebird in the shorebird directories

I mean, it can, but I don't know if it should...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants