# This file represents a "workspace" that applies to the whole repository.
#
# See <https://flutter.dev/go/pub-workspace> for details.
#
# The `flutter/engine` repository is a quasi-monorepo, with multiple Dart tools
# and packages that are all interdependent. Third party dependencies are managed
# by the `DEPS` file in the root of the repository, and are synced to either the
# `third_party` (i.e. `//flutter/third_party`) or `../third_party` (i.e.
# `//third_party`) directories by `gclient sync`.
#
# Every dependency declared here are dependencies used by _one or more_ of the
# packages in the repository (though there is no enforcement of this). This file
# then generates a `.dart_tool/package_config.json` file that is used by the
# rest of the repository to resolve dependencies.
#
# ==============================================================================
# WORKFLOWS
# ==============================================================================
#
# ------------------------------------------------------------------------------
# (1) ADDING A NEW DEPENDENCY
# ------------------------------------------------------------------------------
# Dependencies need to be added either via the DEPS file, or by checking if they
# are available in the vendored Dart SDK (see notes below on library locations).
# If dependencies are available, see (4) for how to add dependencies to a package in the workspace.
#
# ------------------------------------------------------------------------------
# (2) CREATING A NEW PACKAGE
# ------------------------------------------------------------------------------
# If creating a package, say in ./tools or ./tools/pkg, ensure the following
# header in its respective `pubspec.yaml`:
# ```
# # We don't publish packages to pub.dev from the engine repository.
# publish_to: none
#
# # Required for workspace support.
# environment:
#   sdk: ^3.5.0-294.0.dev
#
# # This package is managed as part of the engine workspace.
# resolution: workspace
# ```
#
# See (4) for how to add dependencies to a package in the workspace.
#
# ------------------------------------------------------------------------------
# (3) MIGRATING A NON-WORKSPACE PACKAGE TO USING THE WORKSPACE
# ------------------------------------------------------------------------------
# Many packages in this repo are still using a pre-workspace style pubspec.yaml,
# either with manually declared `dependency_overrides` (much of ./tools) or by
# using pub (./web_sdk, ./lib/web_ui). To migrate a package to the workspace:
#
# A. Add the `resolution: workspace` field to the pubspec.yaml.
# B. Update the minimum SDK version to at least `^3.5.0-294.0.dev`.
# C. Add the package to the `workspace` field in this file.
# D. Ensure every dependency in the package is added to the `dependencies` field
#    in this file, following instructions in (4).
#
# Once `dart pub get` is run on the workspace, the package will be resolved as
# part of the workspace, and the `dependency_overrides` in this file will be
# applied to the package.
#
# ------------------------------------------------------------------------------
# (4) ADDING DEPENDENCIES TO A PACKAGE IN THIS WORKSPACE
# ------------------------------------------------------------------------------
# When adding a dependency to a package in the workspace, add the dependency to
# the `dependencies` field in this file. If the dependency is located within
# the repository, use the `path` field to point to the package.
#
# If the dependency is a third party package, add it to the
# `dependency_overrides` field in this file. The `any` version constraint is
# used to indicate that the version of the package is not important, as it is
# managed by the `DEPS` file.

name: _engine_workspace

# Required for workspace support.
environment:
  sdk: ^3.5.0-294.0.dev

# Declare all packages that are part of the workspace.
workspace:
  - ci
  - flutter_frontend_server
  - impeller/tessellator/dart
  - shell/vmservice
  - testing/benchmark
  - testing/dart
  - testing/scenario_app
  - testing/skia_gold_client
  - testing/smoke_test_failure
  - testing/symbols
  - tools/android_lint
  - tools/api_check
  - tools/build_bucket_golden_scraper
  - tools/clang_tidy
  - tools/clangd_check
  - tools/compare_goldens
  - tools/const_finder
  - tools/dir_contents_diff
  - tools/engine_tool
  - tools/header_guard_check
  - tools/gen_web_locale_keymap
  - tools/githooks
  - tools/licenses
  - tools/path_ops/dart
  - tools/golden_tests_harvester
  - tools/pkg/engine_build_configs
  - tools/pkg/engine_repo_tools
  - tools/pkg/git_repo_tools
  - tools/pkg/process_fakes

# Declare all dependencies that are used by one or more packages.
#
# A few notes:
# 1. There is no distinction between "dependencies" and "dev_dependencies";
#    those notions are for *publishing* packages, not for managing a workspace.
#    Specific packages in the workspace itself will declare whether they are
#    dependencies or dev_dependencies, but here it is a union of both.
#
# 2. The `any` version constraint is used to indicate that the version of the
#    package is not important, as it is managed by the `DEPS` file. In other
#    words, "if the test pass, ship it".
#
# While not enforced by tooling, try to keep this list in alphabetical order.
# TODO(matanlurey): https://dart.dev/tools/linter-rules/sort_pub_dependencies.
dependencies:
  args: any
  async_helper: any
  expect: any
  file: any
  logging: any
  meta: any
  path: any
  platform: any
  process_runner: any
  smith: any

dev_dependencies:
  process_fakes:
    path: ./tools/pkg/process_fakes
  skia_gold_client:
    path: ./testing/skia_gold_client

# Instructs pub on how to resolve the dependencies that are part of "DEPS".
#
# For historic reasons, there are ~3 or so places packages might be located:
#
# - `./third_party/pkg/{name}`: for packages vended directly as part of "DEPS".
#    Usually these are Flutter engine specific packages, i.e. they did not exist
#    in the Dart vended SDK (the other options below). Typically these originate
#    from pub (https://pub.dev) and are mirrored into a Google Git repository:
#    <https://flutter.googlesource.com/>.
#
# - `./third_party/dart/pkg/{name}`: for packages that lives *in* the Dart SDK,
#    which is in turn vendored into the Flutter engine repository. You can see
#    a full list of available packages here:
#    <https://github.com/dart-lang/sdk/tree/main/pkg>.
#
# - `./third_party/dart/third_party/pkg/{name}`: for packages that are vendored
#    into the Dart SDK from pub.dev. These are often first-party packages from
#    the Dart team, but not part of the Dart SDK itself. You can see a full list
#    of available packages here:
#    <https://github.com/dart-lang/sdk/blob/main/DEPS>.
dependency_overrides:
  _discoveryapis_commons:
    path: ./third_party/pkg/googleapis/discoveryapis_commons
  _fe_analyzer_shared:
    path: ./third_party/dart/pkg/_fe_analyzer_shared
  _macros:
    path: ./third_party/dart/pkg/_macros
  analyzer:
    path: ./third_party/dart/pkg/analyzer
  archive:
    path: ./third_party/pkg/archive
  args:
    path: ./third_party/dart/third_party/pkg/args
  async:
    path: ./third_party/dart/third_party/pkg/async
  async_helper:
    path: ./third_party/dart/pkg/async_helper
  boolean_selector:
    path: ./third_party/dart/third_party/pkg/boolean_selector
  collection:
    path: ./third_party/dart/third_party/pkg/collection
  convert:
    path: ./third_party/dart/third_party/pkg/convert
  coverage:
    path: ./third_party/pkg/coverage
  crypto:
    path: ./third_party/dart/third_party/pkg/crypto
  equatable:
    path: ./third_party/pkg/equatable
  expect:
    path: ./third_party/dart/pkg/expect
  file:
    path: ./third_party/dart/third_party/pkg/file/packages/file
  ffi:
    path: ./third_party/dart/third_party/pkg/native/pkgs/ffi
  fixnum:
    path: ./third_party/dart/third_party/pkg/fixnum
  frontend_server_client:
    path: ./third_party/dart/third_party/pkg/webdev/frontend_server_client
  gcloud:
    path: ./third_party/pkg/gcloud
  glob:
    path: ./third_party/dart/third_party/pkg/glob
  googleapis:
    path: ./third_party/pkg/googleapis/generated/googleapis
  googleapis_auth:
    path: ./third_party/pkg/googleapis/googleapis_auth
  http:
    path: ./third_party/dart/third_party/pkg/http/pkgs/http
  http_multi_server:
    path: ./third_party/dart/third_party/pkg/http_multi_server
  http_parser:
    path: ./third_party/dart/third_party/pkg/http_parser
  io:
    path: ./third_party/pkg/io
  js:
    path: ./third_party/dart/pkg/js
  kernel:
    path: ./third_party/dart/pkg/kernel
  logging:
    path: ./third_party/dart/third_party/pkg/logging
  macros:
    path: ./third_party/dart/pkg/macros
  matcher:
    path: ./third_party/dart/third_party/pkg/matcher
  meta:
    path: ./third_party/dart/pkg/meta
  metrics_center:
    path: ./third_party/pkg/flutter_packages/packages/metrics_center
  mime:
    path: ./third_party/dart/third_party/pkg/tools/pkgs/mime
  node_preamble:
    path: ./third_party/pkg/node_preamble
  package_config:
    path: ./third_party/dart/third_party/pkg/package_config
  path:
    path: ./third_party/dart/third_party/pkg/path
  platform:
    path: ./third_party/pkg/platform
  pool:
    path: ./third_party/dart/third_party/pkg/pool
  process:
    path: ./third_party/pkg/process
  process_runner:
    path: ./third_party/pkg/process_runner
  protobuf:
    path: ./third_party/dart/third_party/pkg/protobuf/protobuf
  pub_semver:
    path: ./third_party/dart/third_party/pkg/pub_semver
  shelf:
    path: ./third_party/dart/third_party/pkg/shelf/pkgs/shelf
  shelf_packages_handler:
    path: ./third_party/dart/third_party/pkg/shelf/pkgs/shelf_packages_handler
  shelf_static:
    path: ./third_party/dart/third_party/pkg/shelf/pkgs/shelf_static
  shelf_web_socket:
    path: ./third_party/dart/third_party/pkg/shelf/pkgs/shelf_web_socket
  sky_engine:
    path: ./sky/packages/sky_engine
  smith:
    path: ./third_party/dart/pkg/smith
  source_map_stack_trace:
    path: ./third_party/dart/third_party/pkg/tools/pkgs/source_map_stack_trace
  source_maps:
    path: ./third_party/dart/third_party/pkg/source_maps
  source_span:
    path: ./third_party/dart/third_party/pkg/source_span
  stack_trace:
    path: ./third_party/dart/third_party/pkg/stack_trace
  stream_channel:
    path: ./third_party/dart/third_party/pkg/stream_channel
  string_scanner:
    path: ./third_party/dart/third_party/pkg/string_scanner
  term_glyph:
    path: ./third_party/dart/third_party/pkg/term_glyph
  test:
    path: ./third_party/dart/third_party/pkg/test/pkgs/test
  test_api:
    path: ./third_party/dart/third_party/pkg/test/pkgs/test_api
  test_core:
    path: ./third_party/dart/third_party/pkg/test/pkgs/test_core
  typed_data:
    path: ./third_party/dart/third_party/pkg/typed_data
  vector_math:
    path: ./third_party/pkg/vector_math
  vm_service:
    path: ./third_party/dart/pkg/vm_service
  vm_service_protos:
    path: ./third_party/dart/pkg/vm_service_protos
  watcher:
    path: ./third_party/dart/third_party/pkg/watcher
  web:
    path: ./third_party/dart/third_party/pkg/web/web
  web_socket:
    path: ./third_party/dart/third_party/pkg/http/pkgs/web_socket
  web_socket_channel:
    path: ./third_party/dart/third_party/pkg/web_socket_channel
  webkit_inspection_protocol:
    path: ./third_party/dart/third_party/pkg/webkit_inspection_protocol
  yaml:
    path: ./third_party/dart/third_party/pkg/yaml
