# Copyright 2014 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("//build/config/android/rules.gni")
import("../mojo.gni")

android_library("system") {
  java_files = [
    "system/src/org/chromium/mojo/system/AsyncWaiter.java",
    "system/src/org/chromium/mojo/system/Core.java",
    "system/src/org/chromium/mojo/system/DataPipe.java",
    "system/src/org/chromium/mojo/system/Flags.java",
    "system/src/org/chromium/mojo/system/Handle.java",
    "system/src/org/chromium/mojo/system/InvalidHandle.java",
    "system/src/org/chromium/mojo/system/MessagePipeHandle.java",
    "system/src/org/chromium/mojo/system/MojoException.java",
    "system/src/org/chromium/mojo/system/MojoResult.java",
    "system/src/org/chromium/mojo/system/Pair.java",
    "system/src/org/chromium/mojo/system/ResultAnd.java",
    "system/src/org/chromium/mojo/system/SharedBufferHandle.java",
    "system/src/org/chromium/mojo/system/UntypedHandle.java",
    "system/src/org/chromium/mojo/system/RunLoop.java",
  ]
}

android_library("bindings") {
  java_files = [
    "bindings/src/org/chromium/mojo/bindings/AutoCloseableRouter.java",
    "bindings/src/org/chromium/mojo/bindings/BindingsHelper.java",
    "bindings/src/org/chromium/mojo/bindings/Callbacks.java",
    "bindings/src/org/chromium/mojo/bindings/ConnectionErrorHandler.java",
    "bindings/src/org/chromium/mojo/bindings/Connector.java",
    "bindings/src/org/chromium/mojo/bindings/DataHeader.java",
    "bindings/src/org/chromium/mojo/bindings/Decoder.java",
    "bindings/src/org/chromium/mojo/bindings/DelegatingConnectionErrorHandler.java",
    "bindings/src/org/chromium/mojo/bindings/DeserializationException.java",
    "bindings/src/org/chromium/mojo/bindings/Encoder.java",
    "bindings/src/org/chromium/mojo/bindings/ExecutorFactory.java",
    "bindings/src/org/chromium/mojo/bindings/HandleOwner.java",
    "bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java",
    "bindings/src/org/chromium/mojo/bindings/Interface.java",
    "bindings/src/org/chromium/mojo/bindings/InterfaceRequest.java",
    "bindings/src/org/chromium/mojo/bindings/MessageHeader.java",
    "bindings/src/org/chromium/mojo/bindings/Message.java",
    "bindings/src/org/chromium/mojo/bindings/MessageReceiver.java",
    "bindings/src/org/chromium/mojo/bindings/MessageReceiverWithResponder.java",
    "bindings/src/org/chromium/mojo/bindings/RouterImpl.java",
    "bindings/src/org/chromium/mojo/bindings/Router.java",
    "bindings/src/org/chromium/mojo/bindings/SerializationException.java",
    "bindings/src/org/chromium/mojo/bindings/ServiceMessage.java",
    "bindings/src/org/chromium/mojo/bindings/SideEffectFreeCloseable.java",
    "bindings/src/org/chromium/mojo/bindings/Struct.java",
    "bindings/src/org/chromium/mojo/bindings/Union.java",
  ]

  deps = [
    ":system",
  ]

  srcjar_deps = [ "../interfaces/bindings:bindings_java_sources" ]
}

if (mojo_use_application_in_sdk) {
  android_library("application") {
    java_files = [
      "application/src/org/chromium/mojo/application/ApplicationConnection.java",
      "application/src/org/chromium/mojo/application/ApplicationDelegate.java",
      "application/src/org/chromium/mojo/application/ApplicationImpl.java",
      "application/src/org/chromium/mojo/application/ApplicationRunner.java",
      "application/src/org/chromium/mojo/application/ServiceFactoryBinder.java",
      "application/src/org/chromium/mojo/application/ShellHelper.java",
    ]
    deps = [
      ":bindings",
      ":system",
      "../interfaces/application:application_java",
    ]
  }
}
