protobuf.toml 3.9 KB

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