desktop.toml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. [tasks.env_check]
  2. dependencies = ["echo_env", "install_flutter_protobuf"]
  3. condition = { env_set = [
  4. "BUILD_FLAG",
  5. "RUST_COMPILE_TARGET",
  6. "CRATE_TYPE",
  7. "TARGET_OS",
  8. ], channels = [
  9. "stable",
  10. ] }
  11. [tasks.appflowy-core-dev]
  12. mac_alias = "appflowy-core-dev-macos"
  13. windows_alias = "appflowy-core-dev-windows"
  14. linux_alias = "appflowy-core-dev-linux"
  15. [tasks.appflowy-core-dev-macos]
  16. category = "Build"
  17. dependencies = ["env_check"]
  18. run_task = { name = [
  19. "setup-crate-type",
  20. "sdk-dev-build",
  21. "post-desktop",
  22. "restore-crate-type",
  23. ] }
  24. [tasks.appflowy-core-dev-windows]
  25. category = "Build"
  26. dependencies = ["env_check"]
  27. run_task = { name = [
  28. "setup-crate-type",
  29. "sdk-dev-build",
  30. "post-desktop",
  31. "restore-crate-type",
  32. ] }
  33. [tasks.appflowy-core-dev-linux]
  34. category = "Build"
  35. dependencies = ["env_check"]
  36. run_task = { name = [
  37. "setup-crate-type",
  38. "sdk-dev-build",
  39. "post-desktop",
  40. "restore-crate-type",
  41. ] }
  42. #
  43. [tasks.sdk-dev-build]
  44. private = true
  45. script = [
  46. """
  47. cd rust-lib/
  48. rustup show
  49. echo cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  50. cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  51. cd ../
  52. """,
  53. ]
  54. script_runner = "@shell"
  55. [tasks.sdk-dev-build.mac]
  56. private = true
  57. script = [
  58. """
  59. cd rust-lib/
  60. rustup show
  61. echo RUSTFLAGS="-C target-cpu=native -C link-arg=-mmacosx-version-min=11.0" cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  62. RUSTFLAGS="-C target-cpu=native -C link-arg=-mmacosx-version-min=11.0" cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  63. cd ../
  64. """,
  65. ]
  66. script_runner = "@shell"
  67. [tasks.sdk-dev-build.windows]
  68. private = true
  69. script = [
  70. """
  71. cd rust-lib
  72. exec cargo build --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  73. cd ..
  74. """,
  75. ]
  76. script_runner = "@duckscript"
  77. #
  78. [tasks.appflowy-core-release]
  79. description = "Build flowy sdk in release mode"
  80. category = "Build"
  81. dependencies = ["env_check"]
  82. run_task = { name = [
  83. "setup-crate-type",
  84. "sdk-release-build",
  85. "post-desktop",
  86. "restore-crate-type",
  87. ] }
  88. #
  89. [tasks.sdk-release-build]
  90. script = [
  91. """
  92. cd rust-lib/
  93. cargo build --profile ${CARGO_PROFILE} --${BUILD_FLAG} --package=dart-ffi --target ${RUST_COMPILE_TARGET} --features "${FLUTTER_DESKTOP_FEATURES}"
  94. cd ../
  95. """,
  96. ]
  97. script_runner = "@shell"
  98. #
  99. [tasks.post-desktop]
  100. mac_alias = "post-desktop-macos"
  101. windows_alias = "post-desktop-windows"
  102. linux_alias = "post-desktop-linux"
  103. [tasks.post-desktop-macos]
  104. private = true
  105. script = [
  106. """
  107. echo "🚀 🚀 🚀 AppFlowy-Core build success"
  108. dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/packages/appflowy_backend/${TARGET_OS}
  109. lib = set lib${LIB_NAME}.${LIB_EXT}
  110. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
  111. ${dart_ffi_dir}/${lib}
  112. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  113. ${dart_ffi_dir}/Classes/binding.h
  114. """,
  115. ]
  116. script_runner = "@duckscript"
  117. [tasks.post-desktop-windows]
  118. private = true
  119. script = [
  120. """
  121. echo "🚀 🚀 🚀 AppFlowy-Core build success"
  122. dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/windows/flutter/dart_ffi
  123. lib = set ${LIB_NAME}.${LIB_EXT}
  124. # copy dll
  125. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
  126. ${dart_ffi_dir}/${lib}
  127. # copy binding.h
  128. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  129. ${dart_ffi_dir}/binding.h
  130. """,
  131. ]
  132. script_runner = "@duckscript"
  133. [tasks.post-desktop-linux]
  134. private = true
  135. script = [
  136. """
  137. echo "🚀 🚀 🚀 AppFlowy-Core build success"
  138. dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/linux/flutter/dart_ffi
  139. lib = set lib${LIB_NAME}.${LIB_EXT}
  140. # copy dll
  141. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/target/${RUST_COMPILE_TARGET}/${BUILD_FLAG}/${lib} \
  142. ${dart_ffi_dir}/${lib}
  143. # copy binding.h
  144. cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
  145. ${dart_ffi_dir}/binding.h
  146. """,
  147. ]
  148. script_runner = "@duckscript"