# 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")

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/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",
  ]

  deps = [
    ":system",
  ]

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

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",
  ]
}
