desktop.toml 4.5 KB

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