[tasks.appflowy]
mac_alias = "appflowy-macos"
windows_alias = "appflowy-windows"

[tasks.appflowy-macos]
dependencies = ["flowy-sdk-release"]
run_task = { name = ["flutter-build", "copy-to-product"] }
script_runner = "@shell"

[tasks.appflowy-windows]
dependencies = ["flowy-sdk-release"]
run_task = { name = ["flutter-build", "copy-to-product"] }

[tasks.copy-to-product]
mac_alias = "copy-to-product-macos"
windows_alias = "copy-to-product-windows"

[tasks.copy-to-product-macos]
script = [
  """
  product_path=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/product/${VERSION}
  output_path=${product_path}/${TARGET_OS}/${FLUTTER_OUTPUT_DIR}
  if [ -d "${output_path}" ]; then
    rm -rf ${output_path}/
  fi
  mkdir -p ${output_path}

  product=${PRODUCT_NAME}.${PRODUCT_EXT}
  cp -R ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/app_flowy/build/${TARGET_OS}/Build/Products/${FLUTTER_OUTPUT_DIR}/${product} \
  ${output_path}/${product}
  """,
]
script_runner = "@shell"

[tasks.copy-to-product-windows]
script = [
  """
  """,
]
script_runner = "@powershell"


[tasks.flutter-build]
script = [
  """
  cd app_flowy/
  flutter clean
  flutter pub get
  flutter build ${TARGET_OS} --${BUILD_FLAG} --build-name=${VERSION}
  """,
]
script_runner = "@shell"

[tasks.freeze_setup]
script = [
  """
  flutter clean
  flutter pub get
  flutter pub run build_runner build --delete-conflicting-outputs
  """,
]
script_runner = "@shell"

[tasks.freeze_watch]
script = [
  """
  flutter pub run build_runner watch
  """,
]
script_runner = "@shell"


