Browse Source

fix(appflowy_flutter): Flutter Version Reset Error (#1923)

* fix(appflowy_flutter): Version Reset Error

- `flutter channel stable` was causing the FlutterSDK to upgrade to it's
latest version.
- Added code to fix this behaviour.
- Tested on Windows and Linux.

* fix(app_flowy): Error in MacOS script

- Replace `-P` with `-E` which should now work as expected in Mac devices.

* fix(app_flowy): Commit Structure

- Fixed Commit Structure

* fix: path reset

Now we move back to cwd after making changes

* chore: change to LF from CTLF

---------

Co-authored-by: Lucas.Xu <[email protected]>
Aman Negi 2 years ago
parent
commit
caffb9fdcf

+ 34 - 17
frontend/scripts/install_dev_env/install_linux.sh

@@ -6,39 +6,56 @@ RED="\e[31m"
 ENDCOLOR="\e[0m"
 
 printMessage() {
-   printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
+    printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
 }
 
 printSuccess() {
-   printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
+    printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
 }
 
 printError() {
-   printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
+    printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
 }
 
-
 # Note: This script does not install applications which are installed by the package manager. There are too many package managers out there.
 
-# Install Rust 
+# Install Rust
 printMessage "The Rust programming language is required to compile AppFlowy."
 printMessage "We can install it now if you don't already have it on your system."
 
 read -p "$(printSuccess "Do you want to install Rust? [y/N]") " installrust
 
 if [ ${installrust^^} == "Y" ]; then
-   printMessage "Installing Rust."
-   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-   source $HOME/.cargo/env
-   rustup toolchain install stable
-   rustup default stable
+    printMessage "Installing Rust."
+    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+    source $HOME/.cargo/env
+    rustup toolchain install stable
+    rustup default stable
 else
-   printMessage "Skipping Rust installation."
+    printMessage "Skipping Rust installation."
 fi
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
-flutter channel stable
+# Get the current Flutter version
+FLUTTER_VERSION=$(flutter --version | grep -oP 'Flutter \K\S+')
+# Check if the current version is 3.3.10
+if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
+    echo "Flutter version is already 3.3.10"
+else
+    # Get the path to the Flutter SDK
+    FLUTTER_PATH=$(which flutter)
+    FLUTTER_PATH=${FLUTTER_PATH%/bin/flutter}
+
+    current_dir=$(pwd)
+
+    cd $FLUTTER_PATH
+    # Use git to checkout version 3.3.10 of Flutter
+    git checkout 3.3.10
+    # Get back to current working directory
+    cd "$current_dir"
+
+    echo "Switched to Flutter version 3.3.10"
+fi
 
 # Enable linux desktop
 flutter config --enable-linux-desktop
@@ -47,9 +64,9 @@ flutter config --enable-linux-desktop
 flutter doctor
 
 printMessage "Installing keybinder-3.0"
-if command apt-get &> /dev/null; then
+if command apt-get &>/dev/null; then
     sudo apt-get install keybinder-3.0-dev
-elif command dnf &> /dev/null; then
+elif command dnf &>/dev/null; then
     sudo dnf install keybinder3-devel
 else
     echo 'Your system is not supported, please install keybinder3 manually.'
@@ -59,11 +76,11 @@ fi
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_linux_x86_64.tar.gz"
 wget https://github.com/llorllale/go-gitlint/releases/download/1.1.0/${GOLINT_FILENAME}
-tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint 
+tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint
 rm ${GOLINT_FILENAME}
 
 # Change to the frontend directory

+ 26 - 8
frontend/scripts/install_dev_env/install_macos.sh

@@ -17,8 +17,7 @@ printError() {
    printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
 }
 
-
-# Install Rust 
+# Install Rust
 printMessage "The Rust programming language is required to compile AppFlowy."
 printMessage "We can install it now if you don't already have it on your system."
 
@@ -28,7 +27,7 @@ if [[ "${installrust:-N}" == [Yy] ]]; then
    printMessage "Installing Rust."
    brew install rustup-init
    rustup-init -y --default-toolchain=stable
-  
+
    source "$HOME/.cargo/env"
 else
    printMessage "Skipping Rust installation."
@@ -36,11 +35,30 @@ fi
 
 # Install sqllite
 printMessage "Installing sqlLite3."
-brew install sqlite3 
+brew install sqlite3
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
-flutter channel stable
+
+# Get the current Flutter version
+FLUTTER_VERSION=$(flutter --version | grep -oE 'Flutter [^ ]+' | grep -oE '[^ ]+$')
+# Check if the current version is 3.3.10
+if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
+   echo "Flutter version is already 3.3.10"
+else
+   # Get the path to the Flutter SDK
+   FLUTTER_PATH=$(which flutter)
+   FLUTTER_PATH=${FLUTTER_PATH%/bin/flutter}
+
+   current_dir=$(pwd)
+
+   cd $FLUTTER_PATH
+   # Use git to checkout version 3.3.10 of Flutter
+   git checkout 3.3.10
+   # Get back to current working directory
+   cd "$current_dir"
+
+   echo "Switched to Flutter version 3.3.10"
+fi
 
 # Enable linux desktop
 flutter config --enable-macos-desktop
@@ -52,11 +70,11 @@ flutter doctor
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_osx_x86_64.tar.gz"
 curl -L https://github.com/llorllale/go-gitlint/releases/download/1.1.0/${GOLINT_FILENAME} --output ${GOLINT_FILENAME}
-tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint 
+tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint
 rm ${GOLINT_FILENAME}
 
 # Change to the frontend directory

+ 22 - 5
frontend/scripts/install_dev_env/install_windows.sh

@@ -17,7 +17,6 @@ printError() {
    printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
 }
 
-
 # Note: This script does not install applications which are installed by the package manager. There are too many package managers out there.
 
 # Install Rust
@@ -46,9 +45,27 @@ else
    printSuccess "Rust has been detected on your system, so Rust installation has been skipped"
 fi
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
-flutter channel stable
+# Get the current Flutter version
+FLUTTER_VERSION=$(flutter --version | grep -oP 'Flutter \K\S+')
+# Check if the current version is 3.3.10
+if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
+   echo "Flutter version is already 3.3.10"
+else
+   # Get the path to the Flutter SDK
+   FLUTTER_PATH=$(which flutter)
+   FLUTTER_PATH=${FLUTTER_PATH%/bin/flutter}
+
+   current_dir=$(pwd)
+
+   cd $FLUTTER_PATH
+   # Use git to checkout version 3.3.10 of Flutter
+   git checkout 3.3.10
+   # Get back to current working directory
+   cd "$current_dir"
+
+   echo "Switched to Flutter version 3.3.10"
+fi
 
 # Add pub cache and cargo to PATH
 powershell '[Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";" + $Env:LOCALAPPDATA + "\Pub\Cache\Bin", [EnvironmentVariableTarget]::User)'
@@ -64,14 +81,14 @@ flutter doctor
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_windows_x86_64.tar.gz"
 if curl --proto '=https' --tlsv1.2 -sSfL https://github.com/llorllale/go-gitlint/releases/download/1.1.0/${GOLINT_FILENAME} -o ${GOLINT_FILENAME}; then
    tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint.exe
    rm ${GOLINT_FILENAME}
 else
- printError "Failed to install go-gitlint"
+   printError "Failed to install go-gitlint"
 fi
 
 # Change to the frontend directory