AppFlowy/frontend/scripts/install_dev_env/install_windows.sh
Yijing Huang 231fd38298
chore: update to Flutter 3.7.5 (#2000)
* chore: upgrade appflowy_editor_plugins and flowy_infra

* feat(appflowy_flutter): upgrade dependence and delete unused import files

* fix(appflowy_flutter): fix SvgPicture upgrade issue

update color to colorFilter: apply mask color when the color is not null

* feat(appflowy_editor): updateflutter_svg version

* chore: flutter analyze

* chore: update to 3.7.5 in github action

* chore: update to 3.7.5 in github action(integration test)

* chore: update appflowy_editor to 0.1.2

* chore: delete appflowy_editor_test.yml under appflowy

* chore: update the flutter version in github action

* docs: update flutter badge image

* chore: update flutter version in scripts

* chore: update appflowy editor to the latest release

* chore: fix flutter analyze

* chore: update integration_test.yml

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
2023-04-04 12:48:56 +08:00

113 lines
3.5 KiB
Bash

#!/bin/bash
YELLOW="\e[93m"
GREEN="\e[32m"
RED="\e[31m"
ENDCOLOR="\e[0m"
printMessage() {
printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
}
printSuccess() {
printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
}
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
if ! rustc --version; then
printMessage "The Rust programming language is required to compile AppFlowy."
printMessage "It has not been detected on your system."
read -p "$(printSuccess "Do you want to install Rust? [y/N]") " installrust
if [ ${installrust^^} == "Y" ]; then
printMessage "Installing Rust."
if ! curl --proto '=https' --tlsv1.2 -sSf https://win.rustup.rs/x86_64 -o rustup-init.exe; then
printError "Failed to download the Rust installer"
exit 1
fi
start "Rust Installer" rustup-init.exe
read -p "$(printSuccess "Press enter when Rust installation is done") " isDone
rm rustup-init.exe
$USERPROFILE/.cargo/bin/rustup toolchain install stable
$USERPROFILE/.cargo/bin/rustup default stable
else
printMessage "Skipping Rust installation."
fi
else
printSuccess "Rust has been detected on your system, so Rust installation has been skipped"
fi
printMessage "Setting up Flutter"
# Get the current Flutter version
FLUTTER_VERSION=$(flutter --version | grep -oP 'Flutter \K\S+')
# Check if the current version is 3.7.5
if [ "$FLUTTER_VERSION" = "3.7.5" ]; then
echo "Flutter version is already 3.7.5"
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.7.5 of Flutter
git checkout 3.7.5
# Get back to current working directory
cd "$current_dir"
echo "Switched to Flutter version 3.7.5"
fi
# 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:USERPROFILE + "\.cargo\bin", [EnvironmentVariableTarget]::User)'
# Enable linux desktop
flutter config --enable-windows-desktop
# Fix any problems reported by flutter doctor
flutter doctor
# Add the githooks directory to your git configuration
printMessage "Setting up githooks."
git config core.hooksPath .githooks
# 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"
fi
# Change to the frontend directory
cd frontend
# Install cargo make
printMessage "Installing cargo-make."
$USERPROFILE/.cargo/bin/cargo install --force cargo-make
# Install duckscript
printMessage "Installing duckscript."
$USERPROFILE/.cargo/bin/cargo install --force duckscript_cli
# Enable vcpkg integration
# Note: Requires admin
printMessage "Setting up vcpkg."
vcpkg integrate install
# Check prerequisites
printMessage "Checking prerequisites."
PATH="$PATH;$LOCALAPPDATA\Pub\Cache\bin" bash -c '$USERPROFILE/.cargo/bin/cargo make appflowy-flutter-deps-tools'