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

assert(is_android)

import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")

generate_jni("jni_headers") {
  sources = [
    "org/domokit/sky/shell/JavaServiceProvider.java",
    "org/domokit/sky/shell/PlatformView.java",
    "org/domokit/sky/shell/SkyMain.java",
    "org/domokit/sky/shell/TracingController.java",
  ]
  jni_package = "sky/shell"
}

shared_library("sky_shell") {
  sources = [
    "gpu/ganesh_context.cc",
    "gpu/ganesh_context.h",
    "gpu/ganesh_surface.cc",
    "gpu/ganesh_surface.h",
    "gpu/rasterizer.cc",
    "gpu/rasterizer.h",
    "gpu_delegate.cc",
    "gpu_delegate.h",
    "java_service_provider.cc",
    "java_service_provider.h",
    "library_loader.cc",
    "platform_view.cc",
    "platform_view.h",
    "shell.cc",
    "shell.h",
    "sky_main.cc",
    "sky_main.h",
    "tracing_controller.cc",
    "tracing_controller.h",
    "ui/animator.cc",
    "ui/animator.h",
    "ui/engine.cc",
    "ui/engine.h",
    "ui/input_event_converter.cc",
    "ui/input_event_converter.h",
    "ui/internals.cc",
    "ui/internals.h",
    "ui_delegate.cc",
    "ui_delegate.h",
  ]

  deps = [
    "//base",
    "//base:i18n",
    "//build/config/sanitizers:deps",
    "//dart/runtime/bin:libdart_withcore",
    "//mojo/android:libsystem_java",
    "//mojo/common",
    "//mojo/edk/system",
    "//mojo/public/cpp/application",
    "//mojo/public/interfaces/application",
    "//mojo/services/navigation/public/interfaces",
    "//mojo/services/network/public/interfaces",
    "//skia",
    "//sky/engine",
    "//sky/engine/tonic",
    "//sky/services/platform",
    "//sky/services/viewport",
    "//ui/gfx/geometry",
    "//ui/gl",
    ":jni_headers",
  ]
}

android_library("java") {
  java_files = [
    "org/domokit/sky/shell/GestureProvider.java",
    "org/domokit/sky/shell/JavaServiceProvider.java",
    "org/domokit/sky/shell/PlatformView.java",
    "org/domokit/sky/shell/ServiceFactory.java",
    "org/domokit/sky/shell/ServiceRegistry.java",
    "org/domokit/sky/shell/SkyActivity.java",
    "org/domokit/sky/shell/SkyApplication.java",
    "org/domokit/sky/shell/SkyMain.java",
    "org/domokit/sky/shell/TracingController.java",
  ]

  deps = [
    "//base:base_java",
    "//mojo/android:system_java",
    "//mojo/public/interfaces/application:application_java",
    "//mojo/public/java:bindings",
    "//mojo/public/java:system",
    "//mojo/services/network/public/interfaces:interfaces_java",
    "//services/keyboard",
    "//sky/services/oknet",
    "//sky/services/viewport:viewport_java",
  ]
}

copy_ex("assets") {
  clear_dir = true
  dest = "$root_build_dir/sky_shell/assets"
  sources = [
    "$root_build_dir/icudtl.dat",
  ]
  deps = [
    "//third_party/icu",
  ]
}
