A framework for building convergent cross-platform Nextcloud clients using Flutter.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
1.1 KiB

#!/bin/bash
set -euxo pipefail
cd "$(dirname "$0")/.."
if [[ "$1" == "flutter" ]]; then
flutter_channel="stable"
flutter_version="$(curl https://raw.githubusercontent.com/fluttertools/fvm/main/releases_linux.json | jq -r "[.releases[] | select(.channel==\"$flutter_channel\")][0].version")"
yes | fvm use --force "$flutter_version@$flutter_channel" || true
dart_version="$(fvm flutter --version --machine | jq -r ".dartSdkVersion")"
dart_version_major="$(echo "$dart_version" | cut -d "." -f 1)"
dart_version_minor="$(echo "$dart_version" | cut -d "." -f 2)"
dart_version_next_major=$(( dart_version_major + 1 ))
sed -i "s/flutter-version: '.*'/flutter-version: '$flutter_version'/" .github/workflows/fdroid-nightly.yaml
sed -i "s/channel: '.*'/channel: '$flutter_channel'/" .github/workflows/fdroid-nightly.yaml
find ./packages -name "pubspec.yaml" -exec sed -i "s/flutter: '>=.*'/flutter: '>=$flutter_version'/" {} \;
find ./packages -name "pubspec.yaml" -exec sed -i "s/sdk: '>=.* <.*'/sdk: '>=$dart_version_major.$dart_version_minor.0 <$dart_version_next_major.0.0'/" {} \;
fvm exec mono_repo pub get
else
echo "$1 not found"
exit 1
fi