# 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: clang_tidy
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/pkg, //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

dependencies:
  args: any
  git_repo_tools: any
  engine_repo_tools: any
  meta: any
  path: any
  process: any
  process_runner: any

dev_dependencies:
  async_helper: any
  expect: any
  litetest: any
  process_fakes: any
  smith: any
  yaml: any

dependency_overrides:
  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
  collection:
    path: ../../../third_party/dart/third_party/pkg/collection
  engine_repo_tools:
    path: ../pkg/engine_repo_tools
  expect:
    path: ../../../third_party/dart/pkg/expect
  file:
    path: ../../../third_party/dart/third_party/pkg/file/packages/file
  git_repo_tools:
    path: ../pkg/git_repo_tools
  litetest:
    path: ../../testing/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
  process_fakes:
    path: ../pkg/process_fakes
  process_runner:
    path: ../../third_party/pkg/process_runner
  source_span:
    path: ../../../third_party/dart/third_party/pkg/source_span
  smith:
    path: ../../../third_party/dart/pkg/smith
  string_scanner:
    path: ../../../third_party/dart/third_party/pkg/string_scanner
  term_glyph:
    path: ../../../third_party/dart/third_party/pkg/term_glyph
  yaml:
    path: ../../../third_party/dart/third_party/pkg/yaml
