123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- [tasks.env_check]
- dependencies = ["echo_env", "install_flutter_protobuf"]
- condition = { env_set = [
- "BUILD_FLAG",
- "RUST_COMPILE_TARGET",
- "CRATE_TYPE",
- "TARGET_OS",
- ], channels = [
- "stable",
- ] }
- [tasks.appflowy-core-dev]
- mac_alias = "appflowy-core-dev-macos"
- windows_alias = "appflowy-core-dev-windows"
- linux_alias = "appflowy-core-dev-linux"
- [tasks.appflowy-core-dev-android]
- category = "Build"
- dependencies = ["env_check"]
- run_task = { name = [
- "setup-crate-type",
- "sdk-build-android",
- "restore-crate-type",
- ] }
- [tasks.appflowy-core-dev-macos]
- category = "Build"
- dependencies = ["env_check"]
- run_task = { name = [
- "setup-crate-type",
- "sdk-build",
- "post-desktop",
- "restore-crate-type",
- ] }
- [tasks.appflowy-core-dev-windows]
- category = "Build"
- dependencies = ["env_check"]
- run_task = { name = [
- "setup-crate-type",
- "sdk-build",
- "post-desktop",
- "restore-crate-type",
- ] }
- [tasks.appflowy-core-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/
- rustup show
- echo cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- cd ../
- """,
- ]
- script_runner = "@shell"
- [tasks.sdk-build-android]
- private = true
- script = [
- """
- cd rust-lib/
- rustup show
- rustup target add aarch64-linux-android \
- armv7-linux-androideabi \
- i686-linux-android \
- x86_64-linux-android
- DEST=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/android/app/src/main/jniLibs
- rm -rf $DEST/arm64-v8a \
- $DEST/armeabi-v7a \
- $DEST/x86 \
- $DEST/x86_64
- cargo ndk \
- -t arm64-v8a \
- -t armeabi-v7a \
- -t x86 \
- -t x86_64 \
- -o $DEST build
- cd ../
- """,
- ]
- script_runner = "@shell"
- [tasks.sdk-build.windows]
- private = true
- script = [
- """
- cd rust-lib
- exec cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- cd ..
- """,
- ]
- script_runner = "@duckscript"
- #
- [tasks.appflowy-core-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 "${FLUTTER_DESKTOP_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 "🚀 🚀 🚀 AppFlowy-Core build success"
- dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/packages/appflowy_backend/${TARGET_OS}
- lib = set lib${LIB_NAME}.${LIB_EXT}
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
- ${dart_ffi_dir}/${lib}
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
- ${dart_ffi_dir}/Classes/binding.h
- """,
- ]
- script_runner = "@duckscript"
- [tasks.post-desktop-windows]
- private = true
- script = [
- """
- echo "🚀 🚀 🚀 AppFlowy-Core build success"
- dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/windows/flutter/dart_ffi
- lib = set ${LIB_NAME}.${LIB_EXT}
- # copy dll
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
- ${dart_ffi_dir}/${lib}
- # 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 "🚀 🚀 🚀 AppFlowy-Core build success"
- dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/linux/flutter/dart_ffi
- lib = set lib${LIB_NAME}.${LIB_EXT}
- # copy dll
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
- ${dart_ffi_dir}/${lib}
- # 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.build_test_backend]
- category = "Build"
- dependencies = ["env_check"]
- run_task = { name = [
- "setup-test-crate-type",
- "compile_test_backend",
- "copy-to-sandbox-folder",
- "restore-test-crate-type",
- ] }
- [tasks.compile_test_backend]
- mac_alias = "compile_test_backend_default"
- windows_alias = "compile_test_backend_windows"
- linux_alias = "compile_test_backend_default"
- [tasks.compile_test_backend_default]
- private = true
- script = [
- """
- cd rust-lib/
- rustup show
- echo RUST_LOG=${RUST_LOG} cargo build --package=dart-ffi --target ${TEST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- RUST_LOG=${RUST_LOG} cargo build --package=dart-ffi --target ${TEST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- cd ../
- """,
- ]
- script_runner = "@shell"
- [tasks.compile_test_backend_windows]
- private = true
- script = [
- """
- cd rust-lib/
- rustup show
- echo cargo build --package=dart-ffi --target ${TEST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- RUST_LOG=${RUST_LOG} cargo build --package=dart-ffi --target ${TEST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
- cd ../
- """,
- ]
- script_runner = "@shell"
- [tasks.copy-to-sandbox-folder]
- mac_alias = "copy-to-sandbox-folder-default"
- windows_alias = "copy-to-sandbox-folder-windows"
- linux_alias = "copy-to-sandbox-folder-default"
- [tasks.copy-to-sandbox-folder-windows]
- private = true
- script = [
- """
- # Copy the appflowy_backend lib to system temp directory for flutter unit test.
- lib = set ${LIB_NAME}.${TEST_LIB_EXT}
- dest = set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/.sandbox/${lib}
- rm ${dest}
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${TEST_COMPILE_TARGET}/${TEST_BUILD_FLAG}/${lib} \
- ${dest}
- """,
- ]
- script_runner = "@duckscript"
- [tasks.copy-to-sandbox-folder-default]
- private = true
- script = [
- """
- # Copy the appflowy_backend lib to system temp directory for flutter unit test.
- lib = set lib${LIB_NAME}.${TEST_LIB_EXT}
- dest = set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/.sandbox/${lib}
- rm ${dest}
- cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${TEST_COMPILE_TARGET}/${TEST_BUILD_FLAG}/${lib} \
- ${dest}
- """,
- ]
- script_runner = "@duckscript"
|