AppFlowy/frontend/scripts/makefile/flutter.toml

226 lines
6.0 KiB
TOML
Raw Normal View History

2021-11-17 06:17:46 +00:00
[tasks.appflowy]
mac_alias = "appflowy-macos"
windows_alias = "appflowy-windows"
linux_alias = "appflowy-linux"
2021-11-04 08:43:12 +00:00
2021-11-17 06:17:46 +00:00
[tasks.appflowy-macos]
dependencies = ["appflowy-core-release"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
] }
script_runner = "@shell"
2021-11-17 06:17:46 +00:00
[tasks.appflowy-windows]
dependencies = ["appflowy-core-release"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
] }
[tasks.appflowy-linux]
dependencies = ["appflowy-core-release"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
"create-release-archive",
] }
script_runner = "@shell"
[tasks.appflowy-dev]
mac_alias = "appflowy-macos-dev"
windows_alias = "appflowy-windows-dev"
linux_alias = "appflowy-linux-dev"
[tasks.appflowy-macos-dev]
dependencies = ["appflowy-core-dev"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
] }
script_runner = "@shell"
[tasks.appflowy-windows-dev]
dependencies = ["appflowy-core-dev"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
] }
[tasks.appflowy-linux-dev]
dependencies = ["appflowy-core-dev"]
run_task = { name = [
"code_generation",
"set-app-version",
"flutter-build",
"copy-to-product",
] }
script_runner = "@shell"
[tasks.copy-to-product]
2021-11-17 06:17:46 +00:00
mac_alias = "copy-to-product-macos"
windows_alias = "copy-to-product-windows"
linux_alias = "copy-to-product-linux"
2021-11-17 06:17:46 +00:00
[tasks.copy-to-product-macos]
script = [
"""
product_path=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${APP_VERSION}
2021-11-17 06:17:46 +00:00
output_path=${product_path}/${TARGET_OS}/${FLUTTER_OUTPUT_DIR}
if [ -d "${output_path}" ]; then
rm -rf ${output_path}/
fi
2021-11-04 14:13:05 +00:00
mkdir -p ${output_path}
2021-11-06 14:35:45 +00:00
product=${PRODUCT_NAME}.${PRODUCT_EXT}
cp -R ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/build/${TARGET_OS}/Build/Products/${FLUTTER_OUTPUT_DIR}/${product} \
2021-11-06 14:35:45 +00:00
${output_path}/${product}
2021-11-04 08:43:12 +00:00
""",
]
script_runner = "@shell"
[tasks.copy-to-product-linux]
script = [
"""
product_path=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${APP_VERSION}
output_path=${product_path}/${TARGET_OS}/${FLUTTER_OUTPUT_DIR}
if [ -d "${output_path}" ]; then
rm -rf ${output_path}/
fi
mkdir -p ${output_path}
product=${PRODUCT_NAME}
cp -R ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/build/${TARGET_OS}/${LINUX_ARCH}/${BUILD_FLAG}/bundle \
${output_path}/${product}
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/linux/appflowy.desktop.temp ${output_path}/${product}
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/assets/images/flowy_logo.svg ${output_path}/${product}
""",
]
script_runner = "@shell"
2021-11-17 06:17:46 +00:00
[tasks.copy-to-product-windows]
script = [
"""
product_path= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${APP_VERSION}
2021-11-18 08:18:20 +00:00
output_path= set ${product_path}/${TARGET_OS}
if is_path_exists ${output_path}
rm -r ${output_path}/
fi
mkdir ${output_path}
product= set ${PRODUCT_NAME}
glob_cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/build/${TARGET_OS}/runner/${FLUTTER_OUTPUT_DIR}/**/* \
2021-11-18 08:18:20 +00:00
${output_path}/${product}
2021-11-17 06:17:46 +00:00
""",
]
script_runner = "@duckscript"
2021-11-17 06:17:46 +00:00
2022-04-08 12:08:01 +00:00
[tasks.set-app-version]
script = ["""
2022-04-08 12:08:01 +00:00
if is_empty ${APP_VERSION}
APP_VERSION = set ${CURRENT_APP_VERSION}
set_env APP_VERSION ${CURRENT_APP_VERSION}
end
echo APP_VERSION: ${APP_VERSION}
"""]
2022-04-08 12:08:01 +00:00
script_runner = "@duckscript"
# The following tasks will create an archive that will be used on the GitHub Releases section
# The archives are created using different compression programs depending on the target OS
# The archive will be composed of all files that are located in the /Release/AppFlowy directory
[tasks.create-release-archive]
mac_alias = "create-release-archive-macos"
windows_alias = "create-release-archive-windows"
linux_alias = "create-release-archive-linux"
[tasks.create-release-archive-linux]
script = [
"cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${APP_VERSION}/${TARGET_OS}/Release",
"tar -czf ${PRODUCT_NAME}-${TARGET_OS}-x86.tar.gz *",
]
[tasks.create-release-archive-windows]
script = [
# TODO
# "cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${VERSION}/${TARGET_OS}/Release/${PRODUCT_NAME}",
# "tar -czf ${PRODUCT_NAME}-${TARGET_OS}-x86.tar.gz *"
]
[tasks.create-release-archive-macos]
script = [
2023-03-30 02:09:15 +00:00
# TODO
# "cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/product/${VERSION}/${TARGET_OS}/Release/${PRODUCT_NAME}",
# "tar -czf ${PRODUCT_NAME}-${TARGET_OS}-x86.tar.gz *"
]
2021-11-17 06:17:46 +00:00
[tasks.flutter-build]
script = ["""
cd appflowy_flutter/
2021-11-17 06:17:46 +00:00
flutter pub get
2023-07-14 09:08:40 +00:00
flutter build ${TARGET_OS} --${BUILD_FLAG} --verbose
"""]
2021-11-17 06:17:46 +00:00
script_runner = "@shell"
[tasks.flutter-build.windows]
script = ["""
cd appflowy_flutter
exec cmd.exe /c flutter pub get
2023-02-09 12:24:43 +00:00
exec cmd.exe /c flutter build ${TARGET_OS} --${BUILD_FLAG} --build-name=${APP_VERSION}
"""]
script_runner = "@duckscript"
2022-02-24 07:40:48 +00:00
[tasks.code_generation]
2022-02-23 13:32:53 +00:00
script_runner = "@shell"
script = [
"""
cd appflowy_flutter
flutter clean
flutter pub get
cd ../
2023-07-09 03:03:22 +00:00
sh scripts/code_generation/generate.sh
"""
2022-02-23 13:32:53 +00:00
]
2022-02-24 07:40:48 +00:00
[tasks.code_generation.windows]
script_runner = "@duckscript"
2022-02-23 13:32:53 +00:00
script = [
"""
cd ./appflowy_flutter/
exec cmd.exe /c flutter clean
exec cmd.exe /c flutter pub get
cd ../
2023-07-09 03:03:22 +00:00
exec scripts/code_generation/generate.cmd
""",
]
[tasks.dry_code_generation]
script_runner = "@shell"
script = [
"""
cd appflowy_flutter
dart run easy_localization:generate -S assets/translations/ -f keys -o locale_keys.g.dart -S assets/translations -s en.json
dart run build_runner build -d
""",
]
[tasks.dry_code_generation.windows]
script_runner = "@duckscript"
script = [
"""
cd ./appflowy_flutter/
exec cmd.exe /c dart run easy_localization:generate -S assets/translations/ -f keys -o locale_keys.g.dart -S assets/translations -s en.json
exec cmd.exe /c dart run build_runner build -d
""",
]