protobuf.toml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. [tasks.pb]
  2. dependencies = ["check_protoc_cmd", "gen_pb_file"]
  3. [tasks.install_protobuf]
  4. condition_script = [
  5. """
  6. if [ ! "$(command -v protoc)" ]; then
  7. exit 0
  8. fi
  9. if [ ! "$(command -v protoc-gen-dart)" ]; then
  10. exit 0
  11. fi
  12. # installed
  13. exit 1
  14. """,
  15. ]
  16. run_task = { name = ["install_protobuf_compiler"] }
  17. [tasks.install_protobuf_compiler]
  18. script = """
  19. brew install protobuf
  20. echo "Install protoc_plugin (Dart)"
  21. dart pub global activate protoc_plugin
  22. """
  23. script_runner = "@shell"
  24. [tasks.install_protobuf_compiler.linux]
  25. script = """
  26. sudo apt-get install protobuf-compiler
  27. echo "Install protoc_plugin (Dart)"
  28. dart pub global activate protoc_plugin
  29. """
  30. script_runner = "@shell"
  31. [tasks.install_protobuf_compiler.windows]
  32. script = """
  33. ret = which dart
  34. if is_empty ${ret}
  35. echo Please make sure flutter/dart is properly installed and in PATH env var
  36. exit -1
  37. end
  38. ret = which protoc-gen-dart
  39. if is_empty ${ret}
  40. exec cmd.exe /c dart pub global activate protoc_plugin
  41. home_dir = get_home_dir
  42. echo Please add '${home_dir}\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\bin' into PATH env var
  43. exit -1
  44. end
  45. """
  46. script_runner = "@duckscript"
  47. [tasks.check_protoc_cmd]
  48. script = [
  49. """
  50. ret = which protoc
  51. if is_empty ${ret}
  52. echo Please make sure <protoc_installation_folder>/bin/ is in PATH env var
  53. echo See BUILD_ON_{LINUX|WINDOWS}.md for how to get protoc
  54. exit -1
  55. end
  56. """,
  57. ]
  58. script_runner = "@duckscript"
  59. [tasks.gen_pb_file]
  60. script = [
  61. """
  62. flowy_tool=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml
  63. rust_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/
  64. shared_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/../shared-lib
  65. flutter_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages
  66. derive_meta=${shared_lib}/flowy-derive/src/derive_cache/derive_cache.rs
  67. flutter_package_lib=${flutter_lib}/flowy_sdk/lib
  68. cargo run \
  69. --manifest-path ${flowy_tool} pb-gen \
  70. --rust_sources ${rust_lib} ${shared_lib} \
  71. --derive_meta=${derive_meta} \
  72. --flutter_package_lib=${flutter_package_lib}
  73. """,
  74. ]
  75. script_runner = "@shell"
  76. [tasks.gen_pb_file.windows]
  77. script = [
  78. """
  79. flowy_tool=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml
  80. rust_source=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/
  81. # rust_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib
  82. shared_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/../shared-lib
  83. flutter_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages
  84. derive_meta=set ${shared_lib}/flowy-derive/src/derive_cache/derive_cache.rs
  85. flutter_package_lib=set ${flutter_lib}/flowy_sdk/lib
  86. exec cmd /c cargo run \
  87. --manifest-path ${flowy_tool} pb-gen \
  88. --rust_source=${rust_source} \
  89. --derive_meta=${derive_meta} \
  90. --flutter_package_lib=${flutter_package_lib}
  91. """,
  92. ]
  93. script_runner = "@duckscript"
  94. [tasks.gen_dart_event]
  95. script = [
  96. """
  97. flowy_tool=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml
  98. flutter_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages
  99. rust_source=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/
  100. output=${flutter_lib}/flowy_sdk/lib/dispatch/code_gen.dart
  101. cargo run \
  102. --manifest-path ${flowy_tool} dart-event \
  103. --rust_sources=${rust_source} \
  104. --output=${output}
  105. """,
  106. ]
  107. script_runner = "@shell"
  108. [tasks.gen_dart_event.windows]
  109. script = [
  110. """
  111. flowy_tool=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml
  112. flutter_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages
  113. rust_source=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/
  114. output=set ${flutter_lib}/flowy_sdk/lib/dispatch/code_gen.dart
  115. exec cmd.exe /c cargo run \
  116. --manifest-path ${flowy_tool} dart-event \
  117. --rust_source=${rust_source} \
  118. --output=${output}
  119. """,
  120. ]
  121. script_runner = "@duckscript"