# 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("//mojo/public/dart/rules.gni")

dart_pkg("sdk") {
  sources = [
    "CHANGELOG.md",
    "README.md",
    "bin/init.dart",
    "lib/app/scheduler.dart",
    "lib/app/view.dart",
    "lib/assets/.gitignore",
    "lib/assets/material-design-icons.sha1",
    "lib/download_material_design_icons",
    "lib/editing2/editable_string.dart",
    "lib/editing2/editable_text.dart",
    "lib/editing2/input.dart",
    "lib/editing2/keyboard.dart",
    "lib/framework/README.md",
    "lib/framework/animation/animated_value.dart",
    "lib/framework/animation/curves.dart",
    "lib/framework/animation/fling_curve.dart",
    "lib/framework/animation/generators.dart",
    "lib/framework/animation/mechanics.dart",
    "lib/framework/animation/scroll_behavior.dart",
    "lib/framework/components/animated_component.dart",
    "lib/framework/components/button.dart",
    "lib/framework/components/button_base.dart",
    "lib/framework/components/checkbox.dart",
    "lib/framework/components/drawer.dart",
    "lib/framework/components/drawer_header.dart",
    "lib/framework/components/fixed_height_scrollable.dart",
    "lib/framework/components/floating_action_button.dart",
    "lib/framework/components/icon.dart",
    "lib/framework/components/icon_button.dart",
    "lib/framework/components/ink_splash.dart",
    "lib/framework/components/ink_well.dart",
    "lib/framework/components/input.dart",
    "lib/framework/components/material.dart",
    "lib/framework/components/menu_divider.dart",
    "lib/framework/components/menu_item.dart",
    "lib/framework/components/modal_overlay.dart",
    "lib/framework/components/popup_menu.dart",
    "lib/framework/components/popup_menu_item.dart",
    "lib/framework/components/radio.dart",
    "lib/framework/components/scaffold.dart",
    "lib/framework/components/scrollable.dart",
    "lib/framework/components/tool_bar.dart",
    "lib/framework/debug/shake-to-reload.sky",
    "lib/framework/debug/tracing.dart",
    "lib/framework/debug/utils.dart",
    "lib/framework/editing/editable_string.dart",
    "lib/framework/editing/editable_text.dart",
    "lib/framework/editing/keyboard.dart",
    "lib/framework/embedder.dart",
    "lib/framework/fn.dart",
    "lib/framework/layout.dart",
    "lib/framework/net/fetch.dart",
    "lib/framework/net/image_cache.dart",
    "lib/framework/node.dart",
    "lib/framework/reflect.dart",
    "lib/framework/shell.dart",
    "lib/framework/theme/colors.dart",
    "lib/framework/theme/shadows.dart",
    "lib/framework/theme/typography.dart",
    "lib/framework/theme/view_configuration.dart",
    "lib/internals.dart",
    "lib/painting/box_painter.dart",
    "lib/painting/shadows.dart",
    "lib/rendering/block.dart",
    "lib/rendering/box.dart",
    "lib/rendering/flex.dart",
    "lib/rendering/object.dart",
    "lib/rendering/paragraph.dart",
    "lib/rendering/stack.dart",
    "lib/sky_tool",
    "lib/theme2/colors.dart",
    "lib/theme2/edges.dart",
    "lib/theme2/shadows.dart",
    "lib/theme2/typography.dart",
    "lib/theme2/view_configuration.dart",
    "lib/widgets/animated_component.dart",
    "lib/widgets/basic.dart",
    "lib/widgets/button_base.dart",
    "lib/widgets/checkbox.dart",
    "lib/widgets/dialog.dart",
    "lib/widgets/drawer.dart",
    "lib/widgets/drawer_header.dart",
    "lib/widgets/fixed_height_scrollable.dart",
    "lib/widgets/flat_button.dart",
    "lib/widgets/floating_action_button.dart",
    "lib/widgets/icon.dart",
    "lib/widgets/icon_button.dart",
    "lib/widgets/ink_well.dart",
    "lib/widgets/material.dart",
    "lib/widgets/material_button.dart",
    "lib/widgets/menu_divider.dart",
    "lib/widgets/menu_item.dart",
    "lib/widgets/modal_overlay.dart",
    "lib/widgets/navigator.dart",
    "lib/widgets/popup_menu.dart",
    "lib/widgets/popup_menu_item.dart",
    "lib/widgets/radio.dart",
    "lib/widgets/raised_button.dart",
    "lib/widgets/scaffold.dart",
    "lib/widgets/scrollable.dart",
    "lib/widgets/switch.dart",
    "lib/widgets/toggleable.dart",
    "lib/widgets/tool_bar.dart",
    "lib/widgets/widget.dart",
    "pubspec.yaml",
  ]

  # List of mojom targets that the sky pkg exports
  deps = [
    "//sky/services/viewport",
  ]

  datadeps = [
    "//sky/services/testing:bindings",
    "//sky/engine/bindings",
  ]

  sdk_ext_directory = "$root_gen_dir/sky/bindings"
}
