[tasks.pb] dependencies = ["check_protoc_cmd", "gen_pb_file"] [tasks.install-pb-tool-if-need] condition_script = [ """ if [ ! "$(command -v dart)" ]; then echo Please make sure flutter/dart is properly installed and in PATH env var exit 1 fi if [ ! "$(command -v protoc-gen-dart)" ]; then # not install exit 0 fi # installed exit 1 """, ] run_task = { name = ["install_protobuf"] } [tasks.install_protobuf] script = """ echo "Install protoc_plugin (Dart)" dart pub global activate protoc_plugin export PATH="$HOME/.pub-cache/bin:$PATH" """ script_runner = "@shell" [tasks.install_protobuf.windows] script = """ ret = which dart if is_empty ${ret} echo Please make sure flutter/dart is properly installed and in PATH env var exit -1 end ret = which protoc-gen-dart if is_empty ${ret} exec cmd.exe /c dart pub global activate protoc_plugin home_dir = get_home_dir echo Please add '${home_dir}\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\bin' into PATH env var exit -1 end """ script_runner = "@duckscript" [tasks.check_protoc_cmd] script = [ """ ret = which protoc if is_empty ${ret} echo Please make sure /bin/ is in PATH env var echo See BUILD_ON_{LINUX|WINDOWS}.md for how to get protoc exit -1 end """, ] script_runner = "@duckscript" [tasks.gen_pb_file] script = [ """ flowy_tool=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml rust_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/ shared_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/../shared-lib flutter_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages derive_meta=${shared_lib}/flowy-derive/src/derive_cache/derive_cache.rs flutter_package_lib=${flutter_lib}/flowy_sdk/lib cargo run \ --manifest-path ${flowy_tool} pb-gen \ --rust_sources ${rust_lib} ${shared_lib} \ --derive_meta=${derive_meta} \ --flutter_package_lib=${flutter_package_lib} """, ] script_runner = "@shell" [tasks.gen_pb_file.windows] script = [ """ flowy_tool=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml rust_source=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/ # rust_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib shared_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/../shared-lib flutter_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages derive_meta=set ${shared_lib}/flowy-derive/src/derive_cache/derive_cache.rs flutter_package_lib=set ${flutter_lib}/flowy_sdk/lib exec cmd /c cargo run \ --manifest-path ${flowy_tool} pb-gen \ --rust_source=${rust_source} \ --derive_meta=${derive_meta} \ --flutter_package_lib=${flutter_package_lib} """, ] script_runner = "@duckscript" [tasks.gen_dart_event] script = [ """ flowy_tool=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml flutter_lib=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages rust_source=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/ output=${flutter_lib}/flowy_sdk/lib/dispatch/code_gen.dart cargo run \ --manifest-path ${flowy_tool} dart-event \ --rust_sources=${rust_source} \ --output=${output} """, ] script_runner = "@shell" [tasks.gen_dart_event.windows] script = [ """ flowy_tool=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/scripts/flowy-tool/Cargo.toml flutter_lib=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/packages rust_source=set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/ output=set ${flutter_lib}/flowy_sdk/lib/dispatch/code_gen.dart exec cmd.exe /c cargo run \ --manifest-path ${flowy_tool} dart-event \ --rust_source=${rust_source} \ --output=${output} """, ] script_runner = "@duckscript"