[tasks.desktop] category = "Build" dependencies = ["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] category = "Build" condition = { platforms = ["mac"], env_true = ["DEV"] } dependencies = ["export-env", "setup-crate-type-macos"] description = "Build desktop targets." script = [ """ cd rust-lib/ cargo build --package=dart-ffi --target ${DESKTOP_TARGET} cd ../ """, ] [tasks.post-desktop] condition = { platforms = ["mac"] } dependencies = ["restore-crate-type"] script = [ """ echo ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY} 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}/app_flowy/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}/app_flowy/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 = [ """ export MACOSX_DEPLOYMENT_TARGET=10.11 """, ] script_runner = "@shell" [tasks.post-desktop-dylib-to-system] condition = { platforms = ["mac"] } script = [ """ target_path = set ${TMPDIR}/appflowy_client/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"