# 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: licenses
publish_to: none
environment:
  sdk: '>=2.18.0 <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:
  archive: any
  args: any
  collection: ^1.16.0
  crypto: any
  meta: any
  path: any

dev_dependencies:
  litetest: any

dependency_overrides:
  archive:
    path: ../../../third_party/pkg/archive
  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
  expect:
    path: ../../../third_party/dart/pkg/expect
  litetest:
    path: ../../testing/litetest
  meta:
    path: ../../../third_party/dart/pkg/meta
  path:
    path: ../../../third_party/dart/third_party/pkg/path
  smith:
    path: ../../../third_party/dart/pkg/smith
  typed_data:
    path: ../../../third_party/dart/third_party/pkg/typed_data
