LeastAuthority / destiny

Destiny – Cross-platform Magic Wormhole graphical client
MIT License
257 stars 14 forks source link

Use `flutterw` to manage a defined flutter version with this project #198

Closed wuan closed 1 year ago

wuan commented 2 years ago

There is a project on GitHub https://github.com/passsy/flutter_wrapper which creates a script managing the flutter version as a submodule in the repository.

This has been proposed (or more required) in the context of deploying to F-Droid (see #190), but it is generally a good idea, as the repository will now come with the matching version of flutter.

The details on how to configure the local environment, please have a look at the project's readme: https://github.com/passsy/flutter_wrapper/blob/master/README.md

For now there is no support for Windows, so we still have the old build mechanism for that target. There is already an issue at https://github.com/passsy/flutter_wrapper/issues/13.

Generally it might be a good idea to run

git config --global submodule.recurse true

Code Review Checklist

wuan commented 2 years ago

We will not need to do that for the F-Droid release. Better wait until there is flutter wrapper support for Windows as well to have a streamlined solution.

donpui commented 1 year ago

git config --global submodule.recurse true

Not sure if I understood, what exactly this config helps to do

wuan commented 1 year ago

git config --global submodule.recurse true

Not sure if I understood, what exactly this config helps to do

That helps with the integration of Git submodules, because a git pull will also pull the submodule dependencies. By default you need to pull the submodule dependencies separately which might lead to inconsistent results and (that already happened to me) downgrading a submodule dependency by accident.

donpui commented 1 year ago

git config --global submodule.recurse true

Lets add to readme for preparation. The same thing actual for Winden too

meejah commented 1 year ago

The usual git advice is "don't use submodules" so is that a possibility? I.e. why are we using a submodule at all, and could we do it a different way instead?

wuan commented 1 year ago

The usual git advice is "don't use submodules" so is that a possibility? I.e. why are we using a submodule at all, and could we do it a different way instead?

Please rephrase to

In my opinion ...

There are use cases to rely on Git submodules and this is one of them. This repository already uses a submodule including the Dart wrapper for wormhole-william.

Flutter does so far not allow to pin it's version in the repository to achieve a reproducible build. This is the way which is currently recommended for F-Droid and it is a good idea in general, as you always use the matching version of flutter.

donpui commented 1 year ago

This repository already uses a submodule including the Dart wrapper for wormhole-william.

I think @ewanas had idea how to make our dart plugin more generic and use as any other flutter plugin, but we need to make through whole chain of it destiny->dart_plugin->c bindings->wormhole-william.

Anyway this is separate issue, which we should have and proceed discussion there.