OLD | NEW |
| (Empty) |
1 # Copyright 2015 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("//mojo/public/mojo_application.gni") | |
6 import("//mojo/public/mojo_application_manifest.gni") | |
7 import("//mojo/public/tools/bindings/mojom.gni") | |
8 import("//testing/test.gni") | |
9 | |
10 if (is_android) { | |
11 import("//build/config/android/rules.gni") | |
12 | |
13 java_library_path = "$target_out_dir/java_library.dex.jar" | |
14 | |
15 mojo_android_application("resource_provider") { | |
16 input_so = | |
17 "$root_shlib_dir/${shlib_prefix}resource_provider_lib$shlib_extension" | |
18 input_dex_jar = java_library_path | |
19 deps = [ | |
20 ":java_library", | |
21 ":resource_provider_lib", | |
22 "//services/shell/public/cpp", | |
23 ] | |
24 } | |
25 | |
26 shared_library("resource_provider_lib") { | |
27 sources = [ | |
28 "android/android_hooks.cc", | |
29 "main.cc", | |
30 ] | |
31 | |
32 deps = [ | |
33 ":jni_headers", | |
34 ":lib", | |
35 "//base", | |
36 "//build/config/sanitizers:deps", | |
37 "//components/resource_provider/public/interfaces", | |
38 "//mojo/platform_handle:for_shared_library", | |
39 "//mojo/public/c/system:for_shared_library", | |
40 "//services/shell/public/cpp", | |
41 "//url", | |
42 ] | |
43 } | |
44 | |
45 generate_jni("jni_headers") { | |
46 sources = [ | |
47 "android/java/org/chromium/resource_provider/Main.java", | |
48 ] | |
49 jni_package = "components/resource_provider" | |
50 } | |
51 | |
52 android_library("java_classes") { | |
53 java_files = [ "android/java/org/chromium/resource_provider/Main.java" ] | |
54 | |
55 deps = [ | |
56 "//base:base_java", | |
57 ] | |
58 } | |
59 | |
60 android_standalone_library("java_library") { | |
61 dex_path = java_library_path | |
62 | |
63 deps = [ | |
64 ":java_classes", | |
65 ] | |
66 } | |
67 } else { | |
68 mojo_native_application("resource_provider") { | |
69 sources = [ | |
70 "main.cc", | |
71 ] | |
72 | |
73 deps = [ | |
74 ":lib", | |
75 "//base", | |
76 "//components/resource_provider/public/interfaces", | |
77 "//services/shell/public/cpp", | |
78 "//url", | |
79 ] | |
80 | |
81 data_deps = [ | |
82 ":manifest", | |
83 ] | |
84 } | |
85 | |
86 mojo_application_manifest("manifest") { | |
87 application_name = "resource_provider" | |
88 source = "manifest.json" | |
89 } | |
90 } | |
91 | |
92 source_set("lib") { | |
93 sources = [ | |
94 "file_utils.cc", | |
95 "file_utils.h", | |
96 "resource_provider_app.cc", | |
97 "resource_provider_app.h", | |
98 "resource_provider_impl.cc", | |
99 "resource_provider_impl.h", | |
100 ] | |
101 | |
102 deps = [ | |
103 "//base", | |
104 "//components/resource_provider/public/interfaces", | |
105 "//mojo/common:common_base", | |
106 "//mojo/platform_handle", | |
107 "//services/shell/public/cpp", | |
108 "//services/tracing/public/cpp", | |
109 "//url", | |
110 ] | |
111 } | |
112 | |
113 test("resource_provider_unittests") { | |
114 sources = [ | |
115 "file_utils_unittest.cc", | |
116 "resource_provider_unittest.cc", | |
117 ] | |
118 | |
119 deps = [ | |
120 ":lib", | |
121 ":test_interfaces", | |
122 "//base", | |
123 "//components/resource_provider/public/interfaces", | |
124 "//services/shell/background:main", | |
125 "//services/shell/public/cpp:shell_test_support", | |
126 "//services/shell/public/cpp/test:run_all_shelltests", | |
127 "//testing/gtest", | |
128 "//url", | |
129 ] | |
130 | |
131 data_deps = [ | |
132 ":test_app", | |
133 ":unittests_manifest", | |
134 ] | |
135 } | |
136 | |
137 mojo_native_application("test_app") { | |
138 output_name = "resource_provider_test_app" | |
139 testonly = true | |
140 | |
141 sources = [ | |
142 "resource_provider_test_app.cc", | |
143 ] | |
144 | |
145 resources = [ | |
146 "//components/test/data/resource_provider/sample", | |
147 "//components/test/data/resource_provider/dir", | |
148 ] | |
149 | |
150 deps = [ | |
151 ":test_interfaces", | |
152 "//base", | |
153 "//components/resource_provider/public/cpp", | |
154 "//components/resource_provider/public/interfaces", | |
155 "//services/shell/public/cpp", | |
156 "//services/shell/public/interfaces", | |
157 ] | |
158 | |
159 data_deps = [ | |
160 ":resource_provider", | |
161 ":test_manifest", | |
162 ] | |
163 } | |
164 | |
165 mojo_application_manifest("test_manifest") { | |
166 application_name = "resource_provider_test_app" | |
167 source = "test_manifest.json" | |
168 } | |
169 | |
170 mojo_application_manifest("unittests_manifest") { | |
171 type = "exe" | |
172 application_name = "resource_provider_unittests" | |
173 source = "unittests_manifest.json" | |
174 } | |
175 | |
176 mojom("test_interfaces") { | |
177 sources = [ | |
178 "test.mojom", | |
179 ] | |
180 } | |
OLD | NEW |