• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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