blob: 957a9c12db4bdaeced50f337fade4b623b8217e3 [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")
dpranked4da5ab42015-10-13 06:20:337import("//build_overrides/v8.gni")
cjhopman2fd48fd2014-09-24 00:52:568import("//third_party/icu/config.gni")
cjhopmancd7694af2014-09-08 00:00:049
10generate_jni("content_shell_jni_headers") {
11 jni_package = "content/shell"
12 sources = [
scottmg7c7296f42015-02-28 02:23:0913 "java/src/org/chromium/content_shell/Shell.java",
cjhopmancd7694af2014-09-08 00:00:0414 "java/src/org/chromium/content_shell/ShellLayoutTestUtils.java",
15 "java/src/org/chromium/content_shell/ShellManager.java",
ppif581fe92014-10-08 18:52:1916 "java/src/org/chromium/content_shell/ShellMojoTestUtils.java",
cjhopmancd7694af2014-09-08 00:00:0417 ]
18}
19
20shared_library("libcontent_shell_content_view") {
cjhopman2fd48fd2014-09-24 00:52:5621 testonly = true
cjhopmancd7694af2014-09-08 00:00:0422 deps = [
23 ":content_shell_jni_headers",
brettwba7a73d2015-08-31 22:17:3924 "//build/config/sanitizers:deps",
agrieved7a71c882015-11-20 19:53:2825 "//components/crash/content/browser",
cjhopman2fd48fd2014-09-24 00:52:5626 "//content/shell:content_shell_lib",
27 "//content/shell:pak",
cjhopmancd7694af2014-09-08 00:00:0428 "//media/base/android",
agrieved7a71c882015-11-20 19:53:2829 "//skia",
cjhopmancd7694af2014-09-08 00:00:0430 ]
31 sources = [
cjhopman2fd48fd2014-09-24 00:52:5632 "shell_library_loader.cc",
cjhopmancd7694af2014-09-08 00:00:0433 ]
cjhopmancd7694af2014-09-08 00:00:0434}
35
36android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5637 testonly = true
cjhopmancd7694af2014-09-08 00:00:0438 resource_dirs = [ "java/res" ]
39 custom_package = "org.chromium.content_shell"
40}
41
42android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5643 testonly = true
cjhopmancd7694af2014-09-08 00:00:0444 deps = [
agrieved7a71c882015-11-20 19:53:2845 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0446 "//base:base_java",
47 "//content/public/android:content_java",
clamy5f5cab52016-02-19 14:42:0048 "//media/base/android:media_java",
mcasase1755002016-02-19 22:54:5149 "//media/capture/video/android:capture_java",
rockot85dce0862015-11-13 01:33:5950 "//mojo/public/java:system",
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",
58 "java/src/org/chromium/content_shell/ShellMojoTestUtils.java",
59 ]
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",
brettwf9505792015-06-03 19:43:3876 ":content_shell_manifest",
cjhopmancd7694af2014-09-08 00:00:0477 ]
sievers0350cad2014-12-03 23:50:5578 android_manifest = 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",
86 "//base:base_java",
87 "//content/public/android:content_java",
mcasase1755002016-02-19 22:54:5188 "//media/capture/video/android:capture_java",
cjhopman394dfd12014-09-09 08:55:5489 "//net/android:net_java",
90 "//ui/android:ui_java",
91 ]
agrieve696e6a52016-03-23 19:54:4592 java_files = [
93 "shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java",
94 "shell_apk/src/org/chromium/content_shell_apk/ContentShellApplication.java",
95 ]
cjhopman394dfd12014-09-09 08:55:5496}
97
pkotwicz8c7027d2015-11-11 06:30:0798android_assets("content_shell_assets") {
cjhopman2fd48fd2014-09-24 00:52:5699 sources = [
scottmg7afc4092014-12-03 19:22:42100 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:56101 ]
pkotwicz8c7027d2015-11-11 06:30:07102 disable_compression = true
brettwf9505792015-06-03 19:43:38103 deps = [
104 "//content/shell:pak",
pkotwicz8c7027d2015-11-11 06:30:07105 "//third_party/icu:icu_assets",
106 "//v8:v8_external_startup_data_assets",
brettwf9505792015-06-03 19:43:38107 ]
cjhopman2fd48fd2014-09-24 00:52:56108}
109
cjhopmancd7694af2014-09-08 00:00:04110android_apk("content_shell_apk") {
cjhopman2fd48fd2014-09-24 00:52:56111 testonly = true
cjhopmancd7694af2014-09-08 00:00:04112 deps = [
brettwf9505792015-06-03 19:43:38113 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04114 ":content_shell_apk_resources",
pkotwicz8c7027d2015-11-11 06:30:07115 ":content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04116 ":content_shell_java",
brettwf9505792015-06-03 19:43:38117 ":content_shell_manifest",
brettwf9505792015-06-03 19:43:38118 ":libcontent_shell_content_view",
cjhopmancd7694af2014-09-08 00:00:04119 "//base:base_java",
120 "//content/public/android:content_java",
mcasase1755002016-02-19 22:54:51121 "//media/capture/video/android:capture_java",
cjhopmancd7694af2014-09-08 00:00:04122 "//net/android:net_java",
agrieveda37b9ba52015-12-03 02:17:06123 "//third_party/mesa:osmesa",
cjhopmancd7694af2014-09-08 00:00:04124 "//ui/android:ui_java",
125 ]
126 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55127 android_manifest = content_shell_manifest
scottmg7afc4092014-12-03 19:22:42128 native_libs = [ "libcontent_shell_content_view.so" ]
agrieveda37b9ba52015-12-03 02:17:06129 loadable_modules = [ "$root_out_dir/libosmesa.so" ]
cjhopmancd7694af2014-09-08 00:00:04130}
cjhopman394dfd12014-09-09 08:55:54131
132android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56133 testonly = true
cjhopman394dfd12014-09-09 08:55:54134 deps = [
cjhopman394dfd12014-09-09 08:55:54135 ":content_shell_apk_java",
agrieved7a71c882015-11-20 19:53:28136 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54137 "//base:base_java",
138 "//base:base_java_test_support",
agrieved7a71c882015-11-20 19:53:28139 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54140 "//content/public/test/android:content_java_test_support",
141 "//content/shell/android:content_shell_java",
cjhopman394dfd12014-09-09 08:55:54142 ]
agrieve696e6a52016-03-23 19:54:45143 java_files = [
144 "javatests/src/org/chromium/content_shell_apk/ContentShellPreconditionsTest.java",
145 "javatests/src/org/chromium/content_shell_apk/ContentShellShellManagementTest.java",
146 "javatests/src/org/chromium/content_shell_apk/ContentShellTestBase.java",
147 "javatests/src/org/chromium/content_shell_apk/ContentShellUrlTest.java",
148 ]
cjhopman394dfd12014-09-09 08:55:54149}
150
mikecase56d80d72015-06-03 00:57:26151instrumentation_test_apk("content_shell_test_apk") {
cjhopman394dfd12014-09-09 08:55:54152 deps = [
cjhopman394dfd12014-09-09 08:55:54153 "//base:base_javatests",
agrieved7a71c882015-11-20 19:53:28154 "//content/public/android:content_javatests",
cjhopman394dfd12014-09-09 08:55:54155 "//net/android:net_javatests",
156 ]
agrieveb37b7122015-10-23 03:53:41157 data_deps = [
158 ":content_shell_apk",
159 ]
cjhopman7b9ba2e2015-04-22 23:31:53160 apk_under_test = ":content_shell_apk"
cjhopman394dfd12014-09-09 08:55:54161 apk_name = "ContentShellTest"
162 android_manifest = "javatests/AndroidManifest.xml"
mikecase56d80d72015-06-03 00:57:26163 isolate_file = "../../content_shell_test_apk.isolate"
cjhopman394dfd12014-09-09 08:55:54164}
cjhopmanaac45ed82014-10-17 22:08:19165
simonb51958d62015-09-01 19:04:42166if (current_cpu != "x64") {
scottmg6da1b582014-12-08 18:31:15167 chromium_linker_test_manifest =
168 "$target_gen_dir/linker_test_apk/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:55169
170 jinja_template("chromium_linker_test_manifest") {
171 testonly = true
sievers4c08a9c2014-12-05 01:57:28172 input = "linker_test_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:55173 output = chromium_linker_test_manifest
174 }
175
cjhopmanaac45ed82014-10-17 22:08:19176 android_resources("linker_resources") {
brettwf9505792015-06-03 19:43:38177 testonly = true
cjhopmanaac45ed82014-10-17 22:08:19178 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55179 android_manifest = chromium_linker_test_manifest
brettwf9505792015-06-03 19:43:38180 deps = [
181 ":chromium_linker_test_manifest",
182 ]
cjhopmanaac45ed82014-10-17 22:08:19183 }
184
185 # GYP: //content/content_tests.gypi:chromium_linker_test_apk
186 android_apk("chromium_linker_test_apk") {
187 testonly = true
188 deps = [
brettwf9505792015-06-03 19:43:38189 ":chromium_linker_test_manifest",
pkotwicz8c7027d2015-11-11 06:30:07190 ":content_shell_assets",
cjhopmanaac45ed82014-10-17 22:08:19191 ":content_shell_java",
cjhopmanaac45ed82014-10-17 22:08:19192 ":linker_resources",
193 ":linker_test",
194 "//base:base_java",
195 "//content/public/android:content_java",
196 "//ui/android:ui_java",
197 ]
sievers0350cad2014-12-03 23:50:55198 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19199 apk_name = "ChromiumLinkerTest"
agrieve696e6a52016-03-23 19:54:45200 java_files = [
201 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestActivity.java",
202 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestApplication.java",
203 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
204 ]
scottmg7afc4092014-12-03 19:22:42205 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19206 use_chromium_linker = true
207 enable_chromium_linker_tests = true
208 }
209
cjhopmanaac45ed82014-10-17 22:08:19210 # GYP: //content/content_tests.gypi:chromium_android_linker_test
211 shared_library("linker_test") {
212 testonly = true
213 sources = [
214 "linker_test_apk/chromium_linker_test_android.cc",
215 "linker_test_apk/chromium_linker_test_linker_tests.cc",
216 ]
217
218 deps = [
219 ":linker_test_jni_headers",
brettwba7a73d2015-08-31 22:17:39220 "//build/config/sanitizers:deps",
cjhopmanaac45ed82014-10-17 22:08:19221 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42222
cjhopmanaac45ed82014-10-17 22:08:19223 # Required to include "content/public/browser/android/compositor.h"
224 # in chromium_linker_test_android.cc :-(
225 "//skia",
simonb01cb97b2015-08-24 15:54:09226 "//third_party/re2",
cjhopmanaac45ed82014-10-17 22:08:19227 ]
228 }
229
230 # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers
231 generate_jni("linker_test_jni_headers") {
232 testonly = true
233 jni_package = "content/shell"
234 sources = [
235 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
236 ]
237 }
238}
pkotwicz93fa232b2015-11-11 17:55:07239
240# GYP: //content/content_tests.gypi:content_shell_browsertests_java"
241android_library("content_shell_browsertests_java") {
242 testonly = true
243 deps = [
244 ":content_shell_java",
245 "//base:base_java",
246 "//content/public/android:content_java",
247 "//testing/android/native_test:native_test_java",
248 "//ui/android:ui_java",
249 ]
agrieve696e6a52016-03-23 19:54:45250 java_files = [ "browsertests/src/org/chromium/content_shell/browsertests/ContentShellBrowserTestActivity.java" ]
pkotwicz93fa232b2015-11-11 17:55:07251}