summaryrefslogtreecommitdiff
path: root/mojo/android/BUILD.gn
blob: 1a8cdbdb3c76092a610d0131e99cf45f7d834095 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# 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")

group("android") {
  testonly = true
  deps = [
    ":mojo_javatests",
    ":mojo_test_apk",
    ":system_java",
  ]
}

generate_jni("jni_headers") {
  sources = [
    "javatests/src/org/chromium/mojo/MojoTestCase.java",
    "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
  ]
  public_deps = [
    ":system_java_jni_headers",
  ]

  jni_package = "mojo"
}

generate_jni("system_java_jni_headers") {
  sources = [
    "system/src/org/chromium/mojo/system/impl/BaseRunLoop.java",
    "system/src/org/chromium/mojo/system/impl/CoreImpl.java",
    "system/src/org/chromium/mojo/system/impl/WatcherImpl.java",
  ]

  jni_package = "mojo"
}

source_set("libsystem_java") {
  sources = [
    "system/base_run_loop.cc",
    "system/base_run_loop.h",
    "system/core_impl.cc",
    "system/core_impl.h",
    "system/watcher_impl.cc",
    "system/watcher_impl.h",
  ]

  deps = [
    ":system_java_jni_headers",
    "//base",
    "//mojo/public/c/system",
    "//mojo/public/cpp/system",
  ]
}

android_library("system_java") {
  java_files = [
    "system/src/org/chromium/mojo/system/impl/BaseRunLoop.java",
    "system/src/org/chromium/mojo/system/impl/CoreImpl.java",
    "system/src/org/chromium/mojo/system/impl/DataPipeConsumerHandleImpl.java",
    "system/src/org/chromium/mojo/system/impl/DataPipeProducerHandleImpl.java",
    "system/src/org/chromium/mojo/system/impl/HandleBase.java",
    "system/src/org/chromium/mojo/system/impl/MessagePipeHandleImpl.java",
    "system/src/org/chromium/mojo/system/impl/SharedBufferHandleImpl.java",
    "system/src/org/chromium/mojo/system/impl/UntypedHandleImpl.java",
    "system/src/org/chromium/mojo/system/impl/WatcherImpl.java",
  ]

  deps = [
    "//base:base_java",
    "//mojo/public/java:system_java",
  ]
}

android_library("mojo_javatests") {
  testonly = true
  java_files = [
    "javatests/src/org/chromium/mojo/HandleMock.java",
    "javatests/src/org/chromium/mojo/MojoTestCase.java",
    "javatests/src/org/chromium/mojo/TestUtils.java",
    "javatests/src/org/chromium/mojo/bindings/BindingsHelperTest.java",
    "javatests/src/org/chromium/mojo/bindings/BindingsTest.java",
    "javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java",
    "javatests/src/org/chromium/mojo/bindings/BindingsVersioningTest.java",
    "javatests/src/org/chromium/mojo/bindings/CallbacksTest.java",
    "javatests/src/org/chromium/mojo/bindings/ConnectorTest.java",
    "javatests/src/org/chromium/mojo/bindings/ExecutorFactoryTest.java",
    "javatests/src/org/chromium/mojo/bindings/InterfacesTest.java",
    "javatests/src/org/chromium/mojo/bindings/MessageHeaderTest.java",
    "javatests/src/org/chromium/mojo/bindings/ReadAndDispatchMessageTest.java",
    "javatests/src/org/chromium/mojo/bindings/RouterTest.java",
    "javatests/src/org/chromium/mojo/bindings/SerializationTest.java",
    "javatests/src/org/chromium/mojo/bindings/test/mojom/mojo/IntegrationTestInterfaceTestHelper.java",
    "javatests/src/org/chromium/mojo/bindings/ValidationTest.java",
    "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
    "javatests/src/org/chromium/mojo/bindings/ValidationTestUtilTest.java",
    "javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java",
    "javatests/src/org/chromium/mojo/system/impl/WatcherImplTest.java",
  ]

  deps = [
    ":system_java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//mojo/public/interfaces/bindings/tests:test_interfaces_java",
    "//mojo/public/interfaces/bindings/tests:test_mojom_import2_java",
    "//mojo/public/interfaces/bindings/tests:test_mojom_import_java",
    "//mojo/public/java:bindings_java",
    "//mojo/public/java:system_java",
    "//third_party/android_support_test_runner:runner_java",
  ]

  data = [
    "//mojo/public/interfaces/bindings/tests/data/validation/",
  ]
}

shared_library("mojo_java_unittests") {
  testonly = true

  sources = [
    "javatests/init_library.cc",
    "javatests/mojo_test_case.cc",
    "javatests/mojo_test_case.h",
    "javatests/validation_test_util.cc",
    "javatests/validation_test_util.h",
  ]

  deps = [
    ":jni_headers",
    ":libsystem_java",
    ":system_java_jni_headers",
    "//base",
    "//base/test:test_support",
    "//build/config/sanitizers:deps",
    "//mojo/edk/system",
    "//mojo/public/cpp/bindings/tests:mojo_public_bindings_test_utils",
    "//mojo/public/cpp/test_support:test_utils",
  ]
  defines = [ "UNIT_TEST" ]
}

instrumentation_test_apk("mojo_test_apk") {
  deps = [
    ":mojo_javatests",
    ":system_java",
    "//base:base_java",
    "//mojo/public/interfaces/bindings/tests:test_interfaces",
    "//mojo/public/java:bindings_java",
    "//third_party/android_support_test_runner:runner_java",
  ]
  shared_libraries = [ ":mojo_java_unittests" ]
  apk_name = "MojoTest"
  android_manifest = "javatests/AndroidManifest.xml"
}