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 5import("//build/config/android/rules.gni") 6 7group("android") { 8 testonly = true 9 deps = [ 10 ":mojo_javatests", 11 ":mojo_test_apk", 12 ":system_java", 13 ] 14} 15 16generate_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 28generate_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 37source_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 52android_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 70android_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 107shared_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 133instrumentation_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