desktop.toml 4.2 KB

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