blob: 2a0443ee23c0593dfec1ef27b8b8dc82e1f7691b [file] [log] [blame]
cjhopmancd7694af2014-09-08 00:00:041# 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/config.gni")
6import("//build/config/android/rules.gni")
cjhopman2fd48fd2014-09-24 00:52:567import("//third_party/icu/config.gni")
cjhopmancd7694af2014-09-08 00:00:048
9generate_jni("content_shell_jni_headers") {
10 jni_package = "content/shell"
11 sources = [
scottmg7c7296f42015-02-28 02:23:0912 "java/src/org/chromium/content_shell/Shell.java",
cjhopmancd7694af2014-09-08 00:00:0413 "java/src/org/chromium/content_shell/ShellLayoutTestUtils.java",
14 "java/src/org/chromium/content_shell/ShellManager.java",
cjhopmancd7694af2014-09-08 00:00:0415 ]
16}
17
18shared_library("libcontent_shell_content_view") {
cjhopman2fd48fd2014-09-24 00:52:5619 testonly = true
cjhopmancd7694af2014-09-08 00:00:0420 deps = [
21 ":content_shell_jni_headers",
thomasanderson84fa8b02017-05-18 23:38:4722 "//build/config:exe_and_shlib_deps",
agrieved7a71c882015-11-20 19:53:2823 "//components/crash/content/browser",
cjhopman2fd48fd2014-09-24 00:52:5624 "//content/shell:content_shell_lib",
25 "//content/shell:pak",
jrummell397905b2017-03-20 22:36:2526 "//media",
agrieved7a71c882015-11-20 19:53:2827 "//skia",
cjhopmancd7694af2014-09-08 00:00:0428 ]
29 sources = [
cjhopman2fd48fd2014-09-24 00:52:5630 "shell_library_loader.cc",
cjhopmancd7694af2014-09-08 00:00:0431 ]
cjhopmancd7694af2014-09-08 00:00:0432}
33
34android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5635 testonly = true
cjhopmancd7694af2014-09-08 00:00:0436 resource_dirs = [ "java/res" ]
37 custom_package = "org.chromium.content_shell"
38}
39
40android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5641 testonly = true
cjhopmancd7694af2014-09-08 00:00:0442 deps = [
agrieved7a71c882015-11-20 19:53:2843 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0444 "//base:base_java",
jbudorick2d40c48d2017-01-09 21:05:0045 "//base:base_java_test_support",
cjhopmancd7694af2014-09-08 00:00:0446 "//content/public/android:content_java",
mcasas4e216e72016-07-28 21:28:3847 "//device/geolocation:geolocation_java",
clamy5f5cab52016-02-19 14:42:0048 "//media/base/android:media_java",
mcasase1755002016-02-19 22:54:5149 "//media/capture/video/android:capture_java",
agrieveed37c922016-11-04 17:43:0150 "//mojo/public/java:system_java",
cjhopmancd7694af2014-09-08 00:00:0451 "//net/android:net_java",
52 "//ui/android:ui_java",
cjhopmancd7694af2014-09-08 00:00:0453 ]
agrieve696e6a52016-03-23 19:54:4554 java_files = [
55 "java/src/org/chromium/content_shell/Shell.java",
56 "java/src/org/chromium/content_shell/ShellLayoutTestUtils.java",
57 "java/src/org/chromium/content_shell/ShellManager.java",
jinsukkime03fba32017-02-24 05:57:0558 "java/src/org/chromium/content_shell/ShellViewAndroidDelegate.java",
agrieve696e6a52016-03-23 19:54:4559 ]
cjhopmancd7694af2014-09-08 00:00:0460}
61
scottmg6da1b582014-12-08 18:31:1562content_shell_manifest =
63 "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:5564
65jinja_template("content_shell_manifest") {
66 testonly = true
sievers4c08a9c2014-12-05 01:57:2867 input = "shell_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:5568 output = content_shell_manifest
69}
70
cjhopmancd7694af2014-09-08 00:00:0471android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5672 testonly = true
cjhopmancd7694af2014-09-08 00:00:0473 resource_dirs = [ "shell_apk/res" ]
74 deps = [
scottmg7afc4092014-12-03 19:22:4275 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0476 ]
sievers0350cad2014-12-03 23:50:5577 android_manifest = content_shell_manifest
agrieve24b56ca82016-06-30 14:46:3378 android_manifest_dep = ":content_shell_manifest"
cjhopmancd7694af2014-09-08 00:00:0479}
80
cjhopman394dfd12014-09-09 08:55:5481android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5682 testonly = true
cjhopman394dfd12014-09-09 08:55:5483 deps = [
84 ":content_shell_apk_resources",
85 ":content_shell_java",
agrieve35287052016-07-05 19:48:2086 ":content_shell_manifest",
cjhopman394dfd12014-09-09 08:55:5487 "//base:base_java",
88 "//content/public/android:content_java",
mcasase1755002016-02-19 22:54:5189 "//media/capture/video/android:capture_java",
cjhopman394dfd12014-09-09 08:55:5490 "//net/android:net_java",
91 "//ui/android:ui_java",
92 ]
agrieve35287052016-07-05 19:48:2093
94 # Supply manifest for linting.
95 android_manifest = content_shell_manifest
96
agrieve696e6a52016-03-23 19:54:4597 java_files = [
rsesekabd3ee72017-01-24 19:38:1298 "shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java",
jcivelli93637722017-04-28 05:18:3399 "shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestUtils.java",
agrieve696e6a52016-03-23 19:54:45100 "shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java",
101 "shell_apk/src/org/chromium/content_shell_apk/ContentShellApplication.java",
102 ]
cjhopman394dfd12014-09-09 08:55:54103}
104
pkotwicz8c7027d2015-11-11 06:30:07105android_assets("content_shell_assets") {
cjhopman2fd48fd2014-09-24 00:52:56106 sources = [
scottmg7afc4092014-12-03 19:22:42107 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:56108 ]
pkotwicz8c7027d2015-11-11 06:30:07109 disable_compression = true
brettwf9505792015-06-03 19:43:38110 deps = [
111 "//content/shell:pak",
pkotwicz8c7027d2015-11-11 06:30:07112 "//third_party/icu:icu_assets",
113 "//v8:v8_external_startup_data_assets",
brettwf9505792015-06-03 19:43:38114 ]
cjhopman2fd48fd2014-09-24 00:52:56115}
116
cjhopmancd7694af2014-09-08 00:00:04117android_apk("content_shell_apk") {
cjhopman2fd48fd2014-09-24 00:52:56118 testonly = true
cjhopmancd7694af2014-09-08 00:00:04119 deps = [
brettwf9505792015-06-03 19:43:38120 ":content_shell_apk_java",
pkotwicz8c7027d2015-11-11 06:30:07121 ":content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04122 ":content_shell_java",
cjhopmancd7694af2014-09-08 00:00:04123 "//base:base_java",
124 "//content/public/android:content_java",
jbudorick7305b4bb2016-04-27 16:15:31125 "//content/public/test/android:layouttest_java_support",
mcasase1755002016-02-19 22:54:51126 "//media/capture/video/android:capture_java",
cjhopmancd7694af2014-09-08 00:00:04127 "//net/android:net_java",
agrieveda37b9ba52015-12-03 02:17:06128 "//third_party/mesa:osmesa",
cjhopmancd7694af2014-09-08 00:00:04129 "//ui/android:ui_java",
130 ]
131 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55132 android_manifest = content_shell_manifest
agrievec6811b422016-06-23 02:25:09133 android_manifest_dep = ":content_shell_manifest"
agrieve48bd27e2016-06-22 21:04:07134 shared_libraries = [ ":libcontent_shell_content_view" ]
agrieveda37b9ba52015-12-03 02:17:06135 loadable_modules = [ "$root_out_dir/libosmesa.so" ]
cjhopmancd7694af2014-09-08 00:00:04136}
cjhopman394dfd12014-09-09 08:55:54137
138android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56139 testonly = true
cjhopman394dfd12014-09-09 08:55:54140 deps = [
cjhopman394dfd12014-09-09 08:55:54141 ":content_shell_apk_java",
agrieved7a71c882015-11-20 19:53:28142 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54143 "//base:base_java",
144 "//base:base_java_test_support",
agrieved7a71c882015-11-20 19:53:28145 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54146 "//content/public/test/android:content_java_test_support",
147 "//content/shell/android:content_shell_java",
yolandyane85326c2017-03-04 04:19:13148 "//third_party/android_support_test_runner:rules_java",
yolandyan45001472016-12-21 21:12:42149 "//third_party/android_support_test_runner:runner_java",
yolandyane85326c2017-03-04 04:19:13150 "//third_party/junit:junit",
boliu16136c02016-10-06 00:55:28151 "//ui/android:ui_java",
cjhopman394dfd12014-09-09 08:55:54152 ]
agrieve696e6a52016-03-23 19:54:45153 java_files = [
154 "javatests/src/org/chromium/content_shell_apk/ContentShellPreconditionsTest.java",
155 "javatests/src/org/chromium/content_shell_apk/ContentShellShellManagementTest.java",
156 "javatests/src/org/chromium/content_shell_apk/ContentShellTestBase.java",
yolandyane85326c2017-03-04 04:19:13157 "javatests/src/org/chromium/content_shell_apk/ContentShellTestCommon.java",
158 "javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java",
agrieve696e6a52016-03-23 19:54:45159 "javatests/src/org/chromium/content_shell_apk/ContentShellUrlTest.java",
160 ]
cjhopman394dfd12014-09-09 08:55:54161}
162
mikecase56d80d72015-06-03 00:57:26163instrumentation_test_apk("content_shell_test_apk") {
cjhopman394dfd12014-09-09 08:55:54164 deps = [
cjhopman394dfd12014-09-09 08:55:54165 "//base:base_javatests",
agrieved7a71c882015-11-20 19:53:28166 "//content/public/android:content_javatests",
ke.he48ce2ae2017-02-02 15:31:32167 "//device/sensors:javatests",
cjhopman394dfd12014-09-09 08:55:54168 "//net/android:net_javatests",
yolandyan45001472016-12-21 21:12:42169 "//third_party/android_support_test_runner:runner_java",
cjhopman394dfd12014-09-09 08:55:54170 ]
cjhopman7b9ba2e2015-04-22 23:31:53171 apk_under_test = ":content_shell_apk"
cjhopman394dfd12014-09-09 08:55:54172 apk_name = "ContentShellTest"
173 android_manifest = "javatests/AndroidManifest.xml"
174}
cjhopmanaac45ed82014-10-17 22:08:19175
simonb51958d62015-09-01 19:04:42176if (current_cpu != "x64") {
scottmg6da1b582014-12-08 18:31:15177 chromium_linker_test_manifest =
178 "$target_gen_dir/linker_test_apk/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:55179
180 jinja_template("chromium_linker_test_manifest") {
181 testonly = true
sievers4c08a9c2014-12-05 01:57:28182 input = "linker_test_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:55183 output = chromium_linker_test_manifest
184 }
185
cjhopmanaac45ed82014-10-17 22:08:19186 android_resources("linker_resources") {
brettwf9505792015-06-03 19:43:38187 testonly = true
cjhopmanaac45ed82014-10-17 22:08:19188 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55189 android_manifest = chromium_linker_test_manifest
agrieve24b56ca82016-06-30 14:46:33190 android_manifest_dep = ":chromium_linker_test_manifest"
cjhopmanaac45ed82014-10-17 22:08:19191 }
192
jbudorickbf713872017-01-04 01:15:18193 _linker_test_apk_target_name = "chromium_linker_test_apk__apk"
194 _linker_test_apk_test_runner_target_name =
195 "chromium_linker_test_apk__test_runner_script"
196
197 android_apk(_linker_test_apk_target_name) {
cjhopmanaac45ed82014-10-17 22:08:19198 testonly = true
199 deps = [
pkotwicz8c7027d2015-11-11 06:30:07200 ":content_shell_assets",
cjhopmanaac45ed82014-10-17 22:08:19201 ":content_shell_java",
cjhopmanaac45ed82014-10-17 22:08:19202 ":linker_resources",
cjhopmanaac45ed82014-10-17 22:08:19203 "//base:base_java",
204 "//content/public/android:content_java",
205 "//ui/android:ui_java",
206 ]
sievers0350cad2014-12-03 23:50:55207 android_manifest = chromium_linker_test_manifest
agrievec6811b422016-06-23 02:25:09208 android_manifest_dep = ":chromium_linker_test_manifest"
cjhopmanaac45ed82014-10-17 22:08:19209 apk_name = "ChromiumLinkerTest"
agrieve696e6a52016-03-23 19:54:45210 java_files = [
211 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestActivity.java",
212 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestApplication.java",
213 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
214 ]
agrieve48bd27e2016-06-22 21:04:07215 shared_libraries = [ ":linker_test" ]
cjhopmanaac45ed82014-10-17 22:08:19216 use_chromium_linker = true
217 enable_chromium_linker_tests = true
218 }
219
jbudorickbf713872017-01-04 01:15:18220 test_runner_script(_linker_test_apk_test_runner_target_name) {
221 test_name = "chromium_linker_test_apk"
222 test_type = "linker"
223 apk_target = ":$_linker_test_apk_target_name"
224 ignore_all_data_deps = true
225 }
226
227 group("chromium_linker_test_apk") {
228 testonly = true
229 deps = [
230 ":$_linker_test_apk_target_name",
231 ":$_linker_test_apk_test_runner_target_name",
232 ]
233 }
234
cjhopmanaac45ed82014-10-17 22:08:19235 shared_library("linker_test") {
236 testonly = true
237 sources = [
238 "linker_test_apk/chromium_linker_test_android.cc",
239 "linker_test_apk/chromium_linker_test_linker_tests.cc",
thakisb8590c92017-03-23 18:14:53240 "linker_test_apk/chromium_linker_test_linker_tests.h",
cjhopmanaac45ed82014-10-17 22:08:19241 ]
242
243 deps = [
244 ":linker_test_jni_headers",
thomasanderson84fa8b02017-05-18 23:38:47245 "//build/config:exe_and_shlib_deps",
cjhopmanaac45ed82014-10-17 22:08:19246 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42247
cjhopmanaac45ed82014-10-17 22:08:19248 # Required to include "content/public/browser/android/compositor.h"
249 # in chromium_linker_test_android.cc :-(
250 "//skia",
simonb01cb97b2015-08-24 15:54:09251 "//third_party/re2",
cjhopmanaac45ed82014-10-17 22:08:19252 ]
253 }
254
cjhopmanaac45ed82014-10-17 22:08:19255 generate_jni("linker_test_jni_headers") {
256 testonly = true
257 jni_package = "content/shell"
258 sources = [
259 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
260 ]
261 }
262}
pkotwicz93fa232b2015-11-11 17:55:07263
pkotwicz93fa232b2015-11-11 17:55:07264android_library("content_shell_browsertests_java") {
265 testonly = true
266 deps = [
267 ":content_shell_java",
268 "//base:base_java",
269 "//content/public/android:content_java",
270 "//testing/android/native_test:native_test_java",
271 "//ui/android:ui_java",
272 ]
agrieve696e6a52016-03-23 19:54:45273 java_files = [ "browsertests/src/org/chromium/content_shell/browsertests/ContentShellBrowserTestActivity.java" ]
pkotwicz93fa232b2015-11-11 17:55:07274}