mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
104 lines
3.4 KiB
TOML
104 lines
3.4 KiB
TOML
|
|
[tasks.desktop]
|
|
category = "Build"
|
|
dependencies = ["cqrs_gen", "desktop-debug", "desktop-release", "post-desktop"]
|
|
description = "Build desktop targets"
|
|
|
|
[tasks.desktop-debug]
|
|
condition = { env_true = ["DEV"] }
|
|
env = { DESKTOP_TARGET = "x86_64-apple-darwin" }
|
|
private = true
|
|
run_task = { name = ["desktop-build", "post-desktop-dylib-to-system"] }
|
|
|
|
|
|
[tasks.desktop-release]
|
|
condition = { env_true = ["RELEASE"] }
|
|
env = { DESKTOP_TARGET = "x86_64-apple-darwin" }
|
|
private = true
|
|
run_task = "desktop-build"
|
|
|
|
[tasks.desktop-build]
|
|
# args = ["build", "--target", "${DESKTOP_TARGET}"]
|
|
category = "Build"
|
|
# command = "cargo"
|
|
condition = { platforms = ["mac"], env_true = ["DEV"] }
|
|
dependencies = ["export-env", "setup-crate-type-macos"]
|
|
description = "Build desktop targets."
|
|
script = [
|
|
"""
|
|
cd rust-lib/
|
|
cargo build --package=flowy-ffi --target ${DESKTOP_TARGET}
|
|
cd ../
|
|
""",
|
|
]
|
|
|
|
[tasks.post-desktop]
|
|
condition = { platforms = ["mac"] }
|
|
dependencies = ["restore-crate-type"]
|
|
script = [
|
|
"""
|
|
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/x86_64-apple-darwin/${LIB_OUT_DIR}/lib${CARGO_MAKE_CRATE_FS_NAME}.dylib \
|
|
${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/flutter-lib/packages/flowy_sdk/macos/lib${CARGO_MAKE_CRATE_FS_NAME}.dylib
|
|
""",
|
|
"""
|
|
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
|
|
${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/flutter-lib/packages/flowy_sdk/macos/Classes/binding.h
|
|
""",
|
|
]
|
|
script_runner = "@duckscript"
|
|
|
|
[tasks.setup-crate-type-macos]
|
|
env = { TARGET_OS = "macos" }
|
|
private = true
|
|
run_task = "setup-crate-type"
|
|
|
|
[tasks.export-env]
|
|
script = [
|
|
"""
|
|
# Try to fix the issue
|
|
# ld: warning: dylib (/Users/vedon/Documents/Private/RustProject/App-Flowy/app_flowy/flutter-lib/packages/flowy_sdk/macos/libflowy_ffi.dylib) was built for newer macOS version (10.15) than being linked (10.11)
|
|
# ld: warning: dylib (/Users/vedon/Documents/Private/RustProject/App-Flowy/app_flowy/flutter-lib/packages/flowy_sdk/macos/libflowy_ffi.dylib) was built for newer macOS version (10.15) than being linked (10.11)
|
|
# https://users.rust-lang.org/t/compile-rust-binary-for-older-versions-of-mac-osx/38695/3
|
|
# https://stackoverflow.com/questions/43216273/object-file-was-built-for-newer-osx-version-than-being-linked
|
|
|
|
|
|
export MACOSX_DEPLOYMENT_TARGET=10.11
|
|
""",
|
|
]
|
|
script_runner = "@shell"
|
|
|
|
[tasks.post-desktop-dylib-to-system]
|
|
condition = { platforms = ["mac"] }
|
|
script = [
|
|
"""
|
|
target_path = set ${TMPDIR}/app_flowy/lib${CARGO_MAKE_CRATE_FS_NAME}.dylib
|
|
echo "remove old dylib"
|
|
rm ${target_path}
|
|
echo "copy new dylib to system"
|
|
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/x86_64-apple-darwin/${LIB_OUT_DIR}/lib${CARGO_MAKE_CRATE_FS_NAME}.dylib ${target_path}
|
|
""",
|
|
]
|
|
script_runner = "@duckscript"
|
|
|
|
[tasks.clean-flowy-sdk]
|
|
condition = { platforms = ["mac"] }
|
|
script = [
|
|
"""
|
|
cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/flutter-lib/packages/flowy_sdk
|
|
flutter clean
|
|
""",
|
|
]
|
|
script_runner = "@shell"
|
|
|
|
|
|
[tasks.cqrs_gen]
|
|
script = [
|
|
"""
|
|
manifest_path=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/tool/rust-tool/Cargo.toml
|
|
cqrs_file=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/flowy-store/src/entities/command.rs
|
|
output_file=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/flutter-lib/packages/flowy_sdk/lib/cqrs/auto_gen.dart
|
|
cargo run --manifest-path ${manifest_path} flutter --cqrs=${cqrs_file} --output=${output_file}
|
|
""",
|
|
]
|
|
script_runner = "@shell"
|