asdf-flutter icon indicating copy to clipboard operation
asdf-flutter copied to clipboard

Support to fvm config json

Open juliogc opened this issue 2 years ago • 3 comments

Motivation

Unfortunately, asdf-vm isn't well known as we wish and usually, people tend to work with the specific language version manager so it's very common to face legacy version files instead of the .tool-versions.

Suggestion

As an asdf heavy user, it would be great if we could experience compatibility with these other version managers when working with legacy_version_files enabled, something similar to what we see on asdf-nodejs handling with .nvmrc or .node-version files.

Straight to the point, I believe it would be great if this plugin was able to handle the version specified on the .fvm/fvm_config.json.

Here's an example of this file:

{
  "flutterSdkVersion": "2.8.1",
  "flavors": {}
}

juliogc avatar Apr 20 '22 21:04 juliogc

I will look into this when I have time. Thank you for the feedback.

oae avatar Apr 21 '22 13:04 oae

@oae thanks for your interest!

In my local environment, I build a simple implementation of this feature and I would like to share it here with you. It worked very well with stable versions, but I don't test it with the other types available on the listing, like pre-beta, beta, dev, etc and that's why I don't make a PR with it.

bin/list-legacy-filenames

#!/usr/bin/env bash

echo ".fvm/fvm_config.json"

bin/parse-legacy-file

#!/usr/bin/env bash

version=$(cat "$1" | jq ".flutterSdkVersion" | sed -r 's/^"|"$//g');
echo "$version-stable";

juliogc avatar Apr 21 '22 13:04 juliogc

This would also help for builds on codemagic, they accept setting the flutter version using fvm_config.json

joelpaulkoch avatar May 26 '23 19:05 joelpaulkoch