2023-10-22 01:04:38 +08:00

183 lines
4.9 KiB
TOML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[tasks.appflowy-flutter-deps-tools]
run_task = { name = ["install_flutter_prerequests"] }
[tasks.appflowy-tauri-deps-tools]
run_task = { name = ["install_tauri_prerequests"] }
[tasks.appflowy-flutter-dev-tools]
run_task = { name = ["appflowy-flutter-deps-tools","install_diesel"] }
[tasks.appflowy-tauri-dev-tools]
run_task = { name = ["appflowy-tauri-deps-tools","install_diesel"] }
[tasks.install_windows_deps.windows]
dependencies=["check_duckscript_installation", "check_vcpkg", "install_vcpkg_sqlite", "install_rust_vcpkg_cli"]
[tasks.check_visual_studio_installation.windows]
script = """
output = exec powershell -Command "Get-CimInstance MSFT_VSInstance | select -ExpandProperty Version"
stdout = set ${output.stdout}
versions = split ${stdout} "\\n"
for version in ${versions}
pos = last_indexof ${version} .
new_str = substring ${version} 0 ${pos}
newer = semver_is_newer ${new_str} 16.11.0
if newer
goto :ok
end
end
echo "Visual studio 2019 is not installed or version is lower than 16.11.0"
exit -1
:ok
"""
script_runner = "@duckscript"
[tasks.check_duckscript_installation.windows]
script = """
@echo off
@duck -h > nul
if %errorlevel% GTR 0 (
echo Please install duckscript at first: cargo install --force duckscript_cli
exit -1
)
"""
[tasks.check_vcpkg.windows]
script = """
ret = which vcpkg
if is_empty ${ret}
echo "Please install vcpkg on windows at first. Make sure to put it into PATH env var"
echo "See: https://github.com/microsoft/vcpkg#quick-start-windows"
exit -1
end
"""
script_runner = "@duckscript"
[tasks.install_vcpkg_sqlite.windows]
script = """
vcpkg install sqlite3:x64-windows-static-md
"""
[tasks.install_rust_vcpkg_cli.windows]
script = """
exec cargo install vcpkg_cli
output = exec vcpkg_cli probe sqlite3
stdout = set ${output.stdout}
stderr = set ${output.stderr}
ret = indexof ${stdout} "Failed:"
assert_eq ${ret} "" ${stdout}
"""
script_runner = "@duckscript"
[tasks.install_diesel]
script = """
cargo install diesel_cli --no-default-features --features sqlite
"""
[tasks.install_diesel.windows]
script = """
#https://duredhelfinceleb.github.io/diesel_windows_install_doc/
cargo install diesel_cli --no-default-features --features "sqlite-bundled"
"""
dependencies = ["check_vcpkg"]
[tasks.install_targets.mac]
script = """
#rustup target add x86_64-apple-ios
#rustup target add x86_64-apple-darwin
#rustup target add aarch64-apple-ios
rustup target add aarch64-apple-darwin
"""
[tasks.install_targets.windows]
script = """
rustup target add x86_64-pc-windows-msvc
"""
[tasks.install_targets.linux]
script = """
rustup target add x86_64-unknown-linux-gnu
"""
[tasks.install_tauri_prerequests]
dependencies=["install_targets", "install_tauri_protobuf"]
[tasks.install_flutter_prerequests]
dependencies=["install_targets", "install_flutter_protobuf"]
[tasks.install_flutter_prerequests.windows]
dependencies=["install_targets", "install_windows_deps"]
[tasks.install_tools]
script = """
rustup component add rustfmt
cargo install cargo-expand
cargo install cargo-watch
cargo install cargo-cache
cargo install bunyan
"""
[tasks.install_cocoapods]
script = """
# execute "xcode-select --install" before if "extconf.rb failed" error occurs
sudo gem install cocoapods
"""
[tasks.install_rbenv]
script = """
brew install rbenv
rbenv init
rbenv install 2.7.1
rbenv global 2.7.1
# https://github.com/rbenv/rbenv
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
"""
[tasks.install_flutter]
script = """
ret = which flutter
if is_empty ${ret}
echo "[] Follow the https://flutter.dev/docs/get-started/install instructions to install the flutter, skip if you already installed."
echo "Switch to dev channel with command: flutter channel stable"
exit -1
end
"""
script_runner = "@duckscript"
[tasks.enable_git_hook]
dependencies=["download_gitlint"]
script = """
git config core.hooksPath .githooks
"""
script_runner = "@duckscript"
[tasks.download_gitlint]
script = """
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
rm ${GOLINT_FILENAME}
"""
[tasks.download_gitlint.linux]
script = """
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
rm ${GOLINT_FILENAME}
"""
[tasks.download_gitlint.windows]
script = """
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
echo "Failed to install go-gitlint"
fi
"""