# 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: skia_gold_client
publish_to: none
environment:
  sdk: '>=3.2.0-0 <4.0.0'

# Do not add any dependencies that require more than what is provided in
# //third_party/dart/pkg, //third_party/dart/third_party/pkg, or
# //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, or //third_party/pkg
dependencies:
  crypto: any
  path: any
  engine_repo_tools: any
  process: any

dependency_overrides:
  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
  file:
    path: ../../../third_party/dart/third_party/pkg/file/packages/file
  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
  typed_data:
    path: ../../../third_party/dart/third_party/pkg/typed_data
