# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

name: engine_tests
publish_to: none

# Do not add any dependencies that require more than what is provided in
# //third_party/dart/pkg or //third_party/dart/third_party/pkg.
# In particular, package:test is not usable here.

# If you do add packages here, make sure you can run `pub get --offline`, and
# check the .packages and .package_config to make sure all the paths are
# relative to this directory into //third_party/dart

environment:
  sdk: '>=3.2.0-0 <4.0.0'

dependencies:
  ffi: any
  litetest: any
  path: any
  skia_gold_client: any
  sky_engine: any
  vector_math: any
  vm_service: any
  vm_service_protos: any

dependency_overrides:
  async_helper:
    path: ../../third_party/dart/pkg/async_helper
  collection:
    path: ../../third_party/dart/third_party/pkg/collection
  crypto:
    path: ../../third_party/dart/third_party/pkg/crypto
  engine_repo_tools:
    path: ../../tools/pkg/engine_repo_tools
  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
  litetest:
    path: ../litetest
  meta:
    path: ../../third_party/dart/pkg/meta
  path:
    path: ../../third_party/dart/third_party/pkg/path
  platform:
    path: ../../third_party/pkg/platform
  process:
    path: ../../third_party/pkg/process
  protobuf:
    path: ../../third_party/dart/third_party/pkg/protobuf/protobuf
  smith:
    path: ../../third_party/dart/pkg/smith
  skia_gold_client:
    path: ../skia_gold_client
  sky_engine:
    path: ../../sky/packages/sky_engine
  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
