Prechádzať zdrojové kódy

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 rokov pred
rodič
commit
caffb9fdcf

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

@@ -6,39 +6,56 @@ RED="\e[31m"
 ENDCOLOR="\e[0m"
 ENDCOLOR="\e[0m"
 
 
 printMessage() {
 printMessage() {
-   printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
+    printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
 }
 }
 
 
 printSuccess() {
 printSuccess() {
-   printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
+    printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
 }
 }
 
 
 printError() {
 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.
 # 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 "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."
 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
 read -p "$(printSuccess "Do you want to install Rust? [y/N]") " installrust
 
 
 if [ ${installrust^^} == "Y" ]; then
 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
 else
-   printMessage "Skipping Rust installation."
+    printMessage "Skipping Rust installation."
 fi
 fi
 
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
 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
 # Enable linux desktop
 flutter config --enable-linux-desktop
 flutter config --enable-linux-desktop
@@ -47,9 +64,9 @@ flutter config --enable-linux-desktop
 flutter doctor
 flutter doctor
 
 
 printMessage "Installing keybinder-3.0"
 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
     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
     sudo dnf install keybinder3-devel
 else
 else
     echo 'Your system is not supported, please install keybinder3 manually.'
     echo 'Your system is not supported, please install keybinder3 manually.'
@@ -59,11 +76,11 @@ fi
 printMessage "Setting up githooks."
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 git config core.hooksPath .githooks
 
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_linux_x86_64.tar.gz"
 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}
 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}
 rm ${GOLINT_FILENAME}
 
 
 # Change to the frontend directory
 # 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"
    printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
 }
 }
 
 
-
-# Install Rust 
+# Install Rust
 printMessage "The Rust programming language is required to compile AppFlowy."
 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."
 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."
    printMessage "Installing Rust."
    brew install rustup-init
    brew install rustup-init
    rustup-init -y --default-toolchain=stable
    rustup-init -y --default-toolchain=stable
-  
+
    source "$HOME/.cargo/env"
    source "$HOME/.cargo/env"
 else
 else
    printMessage "Skipping Rust installation."
    printMessage "Skipping Rust installation."
@@ -36,11 +35,30 @@ fi
 
 
 # Install sqllite
 # Install sqllite
 printMessage "Installing sqlLite3."
 printMessage "Installing sqlLite3."
-brew install sqlite3 
+brew install sqlite3
 
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
 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
 # Enable linux desktop
 flutter config --enable-macos-desktop
 flutter config --enable-macos-desktop
@@ -52,11 +70,11 @@ flutter doctor
 printMessage "Setting up githooks."
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 git config core.hooksPath .githooks
 
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_osx_x86_64.tar.gz"
 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}
 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}
 rm ${GOLINT_FILENAME}
 
 
 # Change to the frontend directory
 # 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"
    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.
 # 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
@@ -46,9 +45,27 @@ else
    printSuccess "Rust has been detected on your system, so Rust installation has been skipped"
    printSuccess "Rust has been detected on your system, so Rust installation has been skipped"
 fi
 fi
 
 
-# Enable the flutter stable channel
 printMessage "Setting up Flutter"
 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
 # Add pub cache and cargo to PATH
 powershell '[Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";" + $Env:LOCALAPPDATA + "\Pub\Cache\Bin", [EnvironmentVariableTarget]::User)'
 powershell '[Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";" + $Env:LOCALAPPDATA + "\Pub\Cache\Bin", [EnvironmentVariableTarget]::User)'
@@ -64,14 +81,14 @@ flutter doctor
 printMessage "Setting up githooks."
 printMessage "Setting up githooks."
 git config core.hooksPath .githooks
 git config core.hooksPath .githooks
 
 
-# Install go-gitlint 
+# Install go-gitlint
 printMessage "Installing go-gitlint."
 printMessage "Installing go-gitlint."
 GOLINT_FILENAME="go-gitlint_1.1.0_windows_x86_64.tar.gz"
 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
 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
    tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint.exe
    rm ${GOLINT_FILENAME}
    rm ${GOLINT_FILENAME}
 else
 else
- printError "Failed to install go-gitlint"
+   printError "Failed to install go-gitlint"
 fi
 fi
 
 
 # Change to the frontend directory
 # Change to the frontend directory