# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../rules.gni")

dart_pkg("mojom") {
  libs = [
    "bin/mojom.dart",
    "lib/src/generate.dart",
    "lib/src/command_runner.dart",
    "lib/src/commands/all.dart",
    "lib/src/commands/check.dart",
    "lib/src/commands/mojom_command.dart",
    "lib/src/commands/single.dart",
    "lib/src/commands/tree.dart",
    "lib/src/utils.dart",
    "test/generate_test.dart",
  ]
  sources = [
    "CHANGELOG.md",
    "README.md",
    "pubspec.yaml",
  ]
  deps = [
    "../third_party",
  ]
}
