Home | History | Annotate | Download | only in android
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//build/config/android/rules.gni")
      6 
      7 group("android") {
      8   testonly = true
      9   deps = [
     10     ":mojo_javatests",
     11     ":mojo_test_apk",
     12     ":system_java",
     13   ]
     14 }
     15 
     16 generate_jni("jni_headers") {
     17   sources = [
     18     "javatests/src/org/chromium/mojo/MojoTestCase.java",
     19     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
     20   ]
     21   public_deps = [
     22     ":system_java_jni_headers",
     23   ]
     24 
     25   jni_package = "mojo"
     26 }
     27 
     28 generate_jni("system_java_jni_headers") {
     29   sources = [
     30     "system/src/org/chromium/mojo/system/impl/BaseRunLoop.java",
     31     "system/src/org/chromium/mojo/system/impl/CoreImpl.java",
     32   ]
     33 
     34   jni_package = "mojo"
     35 }
     36 
     37 source_set("libsystem_java") {
     38   sources = [
     39     "system/base_run_loop.cc",
     40     "system/base_run_loop.h",
     41     "system/core_impl.cc",
     42     "system/core_impl.h",
     43   ]
     44 
     45   deps = [
     46     ":system_java_jni_headers",
     47     "//base",
     48     "//mojo/message_pump",
     49   ]
     50 }
     51 
     52 android_library("system_java") {
     53   java_files = [
     54     "system/src/org/chromium/mojo/system/impl/BaseRunLoop.java",
     55     "system/src/org/chromium/mojo/system/impl/CoreImpl.java",
     56     "system/src/org/chromium/mojo/system/impl/DataPipeConsumerHandleImpl.java",
     57     "system/src/org/chromium/mojo/system/impl/DataPipeProducerHandleImpl.java",
     58     "system/src/org/chromium/mojo/system/impl/HandleBase.java",
     59     "system/src/org/chromium/mojo/system/impl/MessagePipeHandleImpl.java",
     60     "system/src/org/chromium/mojo/system/impl/SharedBufferHandleImpl.java",
     61     "system/src/org/chromium/mojo/system/impl/UntypedHandleImpl.java",
     62   ]
     63 
     64   deps = [
     65     "//base:base_java",
     66     "//mojo/public/java:system",
     67   ]
     68 }
     69 
     70 android_library("mojo_javatests") {
     71   testonly = true
     72   java_files = [
     73     "javatests/src/org/chromium/mojo/HandleMock.java",
     74     "javatests/src/org/chromium/mojo/MojoTestCase.java",
     75     "javatests/src/org/chromium/mojo/TestUtils.java",
     76     "javatests/src/org/chromium/mojo/bindings/BindingsHelperTest.java",
     77     "javatests/src/org/chromium/mojo/bindings/BindingsTest.java",
     78     "javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java",
     79     "javatests/src/org/chromium/mojo/bindings/BindingsVersioningTest.java",
     80     "javatests/src/org/chromium/mojo/bindings/CallbacksTest.java",
     81     "javatests/src/org/chromium/mojo/bindings/ConnectorTest.java",
     82     "javatests/src/org/chromium/mojo/bindings/ExecutorFactoryTest.java",
     83     "javatests/src/org/chromium/mojo/bindings/InterfacesTest.java",
     84     "javatests/src/org/chromium/mojo/bindings/MessageHeaderTest.java",
     85     "javatests/src/org/chromium/mojo/bindings/ReadAndDispatchMessageTest.java",
     86     "javatests/src/org/chromium/mojo/bindings/RouterTest.java",
     87     "javatests/src/org/chromium/mojo/bindings/SerializationTest.java",
     88     "javatests/src/org/chromium/mojo/bindings/test/mojom/mojo/IntegrationTestInterfaceTestHelper.java",
     89     "javatests/src/org/chromium/mojo/bindings/ValidationTest.java",
     90     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
     91     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtilTest.java",
     92     "javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java",
     93   ]
     94 
     95   deps = [
     96     ":system_java",
     97     "//base:base_java",
     98     "//base:base_java_test_support",
     99     "//mojo/public/interfaces/bindings/tests:test_interfaces_java",
    100     "//mojo/public/interfaces/bindings/tests:test_mojom_import2_java",
    101     "//mojo/public/interfaces/bindings/tests:test_mojom_import_java",
    102     "//mojo/public/java:bindings",
    103     "//mojo/public/java:system",
    104   ]
    105 }
    106 
    107 shared_library("mojo_java_unittests") {
    108   testonly = true
    109 
    110   sources = [
    111     "javatests/init_library.cc",
    112     "javatests/mojo_test_case.cc",
    113     "javatests/mojo_test_case.h",
    114     "javatests/validation_test_util.cc",
    115     "javatests/validation_test_util.h",
    116   ]
    117 
    118   deps = [
    119     ":jni_headers",
    120     ":libsystem_java",
    121     ":system_java_jni_headers",
    122     "//base",
    123     "//base/test/:test_support",
    124     "//build/config/sanitizers:deps",
    125     "//mojo/edk/system",
    126     "//mojo/message_pump",
    127     "//mojo/public/cpp/bindings/tests:mojo_public_bindings_test_utils",
    128     "//mojo/public/cpp/test_support:test_utils",
    129   ]
    130   defines = [ "UNIT_TEST" ]
    131 }
    132 
    133 instrumentation_test_apk("mojo_test_apk") {
    134   deps = [
    135     ":mojo_javatests",
    136     ":system_java",
    137     "//base:base_java",
    138     "//mojo/public/interfaces/bindings/tests:test_interfaces",
    139     "//mojo/public/java:bindings",
    140   ]
    141   shared_libraries = [ ":mojo_java_unittests" ]
    142   apk_name = "MojoTest"
    143   android_manifest = "javatests/AndroidManifest.xml"
    144   isolate_file = "../mojo_test_apk.isolate"
    145 }
    146