desktop.toml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # cargo make --profile production task
  2. # Run the task with profile, e.g.
  3. # cargo make --profile development-mac flowy-sdk-dev
  4. # cargo make --profile production-desktop-windows-x86 flowy-sdk-dev
  5. [tasks.env_check]
  6. dependencies = ["echo_env"]
  7. condition = { env_set = [ "BUILD_FLAG", "RUST_COMPILE_TARGET", "CRATE_TYPE", "TARGET_OS"], channels = ["nightly"] }
  8. [tasks.flowy-sdk-dev]
  9. mac_alias = "flowy-sdk-dev-macos"
  10. windows_alias = "flowy-sdk-dev-windows"
  11. [tasks.flowy-sdk-dev-macos]
  12. category = "Build"
  13. dependencies = ["env_check"]
  14. run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] }
  15. [tasks.flowy-sdk-dev-windows]
  16. category = "Build"
  17. dependencies = ["env_check"]
  18. run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] }
  19. #
  20. [tasks.sdk-build]
  21. private = true
  22. script = [
  23. """
  24. cd rust-lib/
  25. cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES}
  26. cd ../
  27. """,
  28. ]
  29. script_runner = "@shell"
  30. #
  31. [tasks.flowy-sdk-release]
  32. description = "Build flowy sdk in release mode"
  33. category = "Build"
  34. dependencies = ["env_check"]
  35. run_task = { name = ["setup-crate-type","sdk-release-build", "post-desktop", "restore-crate-type"] }
  36. #
  37. [tasks.sdk-release-build]
  38. script = [
  39. """
  40. cd rust-lib/
  41. cargo build --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES}
  42. cd ../
  43. """,
  44. ]
  45. script_runner = "@shell"
  46. #
  47. [tasks.post-desktop]
  48. mac_alias = "post-desktop-macos"
  49. windows_alias = "post-desktop-windows"
  50. [tasks.post-desktop-macos]
  51. private = true
  52. script = [
  53. """
  54. echo "🚀 🚀 🚀 Flowy-SDK(macOS) build success"
  55. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \
  56. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  57. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  58. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/Classes/binding.h
  59. """,
  60. ]
  61. script_runner = "@duckscript"
  62. [tasks.post-desktop-windows]
  63. private = true
  64. script = [
  65. """
  66. echo "🚀 🚀 🚀 Flowy-SDK(windows) build success"
  67. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \
  68. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/dart_ffi/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  69. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  70. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/dart_ffi/binding.h
  71. """,
  72. ]
  73. script_runner = "@duckscript"
  74. #
  75. [tasks.copy-to-sys-tmpdir]
  76. private = true
  77. condition = { profiles = [ "development-mac" ], platforms = ["mac"] }
  78. script = [
  79. """
  80. # post the dylib target_path that use for flutter unit test
  81. target_path = set ${TMPDIR}/appflowy/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  82. rm ${target_path}
  83. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} ${target_path}
  84. """,
  85. ]
  86. script_runner = "@duckscript"