# 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: scenario_app
publish_to: none
environment:
  sdk: ^3.3.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:
  args: any
  dir_contents_diff: any
  engine_repo_tools: any
  meta: any
  path: any
  process: any
  sky_engine: any
  vector_math: any
  skia_gold_client: any

dev_dependencies:
  litetest: any

dependency_overrides:
  args:
    path: ../../third_party/dart/third_party/pkg/args
  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
  dir_contents_diff:
    path: ../../tools/dir_contents_diff
  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
  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
  skia_gold_client:
    path: ../../testing/skia_gold_client
  smith:
    path: ../../third_party/dart/pkg/smith
  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
