# 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: android_lint
environment:
  sdk: '>=2.12.0-0.0.dev <3.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
  path: any
  process: any

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