# 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.

source_set("parsers") {
  visibility = [ "../*" ]

  configs += [ "../:config" ]

  deps = [
    "../common",
  ]

  sources = [
    "packages_map.cc",
    "packages_map.h",
  ]
}
