desktop.toml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. linux_alias = "flowy-sdk-dev-linux"
  12. [tasks.flowy-sdk-dev-macos]
  13. category = "Build"
  14. dependencies = ["env_check"]
  15. run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] }
  16. [tasks.flowy-sdk-dev-windows]
  17. category = "Build"
  18. dependencies = ["env_check"]
  19. run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] }
  20. [tasks.flowy-sdk-dev-linux]
  21. category = "Build"
  22. dependencies = ["env_check"]
  23. run_task = { name = ["setup-crate-type","sdk-build", "post-desktop", "restore-crate-type"] }
  24. #
  25. [tasks.sdk-build]
  26. private = true
  27. script = [
  28. """
  29. cd rust-lib/
  30. cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES}
  31. cd ../
  32. """,
  33. ]
  34. script_runner = "@shell"
  35. #
  36. [tasks.flowy-sdk-release]
  37. description = "Build flowy sdk in release mode"
  38. category = "Build"
  39. dependencies = ["env_check"]
  40. run_task = { name = ["setup-crate-type","sdk-release-build", "post-desktop", "restore-crate-type"] }
  41. #
  42. [tasks.sdk-release-build]
  43. script = [
  44. """
  45. cd rust-lib/
  46. cargo build --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features=${FEATURES}
  47. cd ../
  48. """,
  49. ]
  50. script_runner = "@shell"
  51. #
  52. [tasks.post-desktop]
  53. mac_alias = "post-desktop-macos"
  54. windows_alias = "post-desktop-windows"
  55. linux_alias = "post-desktop-linux"
  56. [tasks.post-desktop-macos]
  57. private = true
  58. script = [
  59. """
  60. echo "🚀 🚀 🚀 Flowy-SDK(macOS) build success"
  61. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \
  62. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  63. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  64. ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages/flowy_sdk/${TARGET_OS}/Classes/binding.h
  65. """,
  66. ]
  67. script_runner = "@duckscript"
  68. [tasks.post-desktop-windows]
  69. private = true
  70. script = [
  71. """
  72. echo "🚀 🚀 🚀 Flowy-SDK(windows) build success"
  73. dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/windows/flutter/dart_ffi
  74. # copy dll
  75. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \
  76. ${dart_ffi_dir}/${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  77. # copy binding.h
  78. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  79. ${dart_ffi_dir}/binding.h
  80. """,
  81. ]
  82. script_runner = "@duckscript"
  83. [tasks.post-desktop-linux]
  84. private = true
  85. script = [
  86. """
  87. echo "🚀 🚀 🚀 Flowy-SDK(linux) build success"
  88. dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/linux/flutter/dart_ffi
  89. # copy dll
  90. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} \
  91. ${dart_ffi_dir}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  92. # copy binding.h
  93. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  94. ${dart_ffi_dir}/binding.h
  95. """,
  96. ]
  97. script_runner = "@duckscript"
  98. #
  99. [tasks.copy-to-sys-tmpdir]
  100. private = true
  101. condition = { profiles = [ "development-mac" ], platforms = ["mac"] }
  102. script = [
  103. """
  104. # post the dylib target_path that use for flutter unit test
  105. target_path = set ${TMPDIR}/appflowy/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT}
  106. rm ${target_path}
  107. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/lib${CARGO_MAKE_CRATE_FS_NAME}.${SDK_EXT} ${target_path}
  108. """,
  109. ]
  110. script_runner = "@duckscript"