# cargo make --profile production task # Run the task with profile, e.g. # cargo make --profile development-mac flowy-sdk-dev # cargo make --profile production-desktop-windows-x86 flowy-sdk-dev [tasks.env_check] dependencies = ["echo_env"] condition = { env_set = [ "BUILD_FLAG", "RUST_COMPILE_TARGET", "CRATE_TYPE", "TARGET_OS"], channels = ["nightly"] } [tasks.flowy-sdk-dev] mac_alias = "flowy-sdk-dev-macos" windows_alias = "flowy-sdk-dev-windows" linux_alias = "flowy-sdk-dev-linux" [tasks.flowy-sdk-dev-macos] category = "Build" dependencies = ["env_check"] run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] } [tasks.flowy-sdk-dev-windows] category = "Build" dependencies = ["env_check"] run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] } [tasks.flowy-sdk-dev-linux] category = "Build" dependencies = ["env_check"] run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] } # [tasks.sdk-build] private = true script = [ """ cd rust-lib/ echo cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES} cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES} cd ../ """, ] script_runner = "@shell" # [tasks.flowy-sdk-release] description = "Build flowy sdk in release mode" category = "Build" dependencies = ["env_check"] run_task = { name = ["setup-crate-type","sdk-release-build", "post-desktop", "restore-crate-type"] } # [tasks.sdk-release-build] script = [ """ cd rust-lib/ cargo build --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES} cd ../ """, ] script_runner = "@shell" # [tasks.post-desktop] mac_alias = "post-desktop-macos" windows_alias = "post-desktop-windows" linux_alias = "post-desktop-linux" [tasks.post-desktop-macos] private = true script = [ """ echo "🚀 🚀 🚀 Flowy-SDK(macOS) build success" cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \ ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \ ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/Classes/binding.h """, ] script_runner = "@duckscript" [tasks.post-desktop-windows] private = true script = [ """ echo "🚀 🚀 🚀 Flowy-SDK(windows) build success" dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/windows/flutter/dart_ffi # copy dll cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \ ${dart_ffi_dir}/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} # copy binding.h cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \ ${dart_ffi_dir}/binding.h """, ] script_runner = "@duckscript" [tasks.post-desktop-linux] private = true script = [ """ echo "🚀 🚀 🚀 Flowy-SDK(linux) build success" dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/linux/flutter/dart_ffi # copy dll cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \ ${dart_ffi_dir}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} # copy binding.h cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \ ${dart_ffi_dir}/binding.h """, ] script_runner = "@duckscript" # [tasks.copy-to-sys-tmpdir] private = true condition = { profiles = [ "development-mac" ], platforms = ["mac"] } script = [ """ # post the dylib target_path that use for flutter unit test target_path = set ${TMPDIR}/appflowy/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} rm ${target_path} cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} ${target_path} """, ] script_runner = "@duckscript"