blob: 4ae34574a989434d56b9f62e1a00df4a6f6d01c2 [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",
cjhopmancd7694af2014-09-08 00:00:0416 ]
17}
18
19shared_library("libcontent_shell_content_view") {
cjhopman2fd48fd2014-09-24 00:52:5620 testonly = true
cjhopmancd7694af2014-09-08 00:00:0421 deps = [
22 ":content_shell_jni_headers",
brettwba7a73d2015-08-31 22:17:3923 "//build/config/sanitizers:deps",
agrieved7a71c882015-11-20 19:53:2824 "//components/crash/content/browser",
cjhopman2fd48fd2014-09-24 00:52:5625 "//content/shell:content_shell_lib",
26 "//content/shell:pak",
cjhopmancd7694af2014-09-08 00:00:0427 "//media/base/android",
agrieved7a71c882015-11-20 19:53:2828 "//skia",
cjhopmancd7694af2014-09-08 00:00:0429 ]
30 sources = [
cjhopman2fd48fd2014-09-24 00:52:5631 "shell_library_loader.cc",
cjhopmancd7694af2014-09-08 00:00:0432 ]
cjhopmancd7694af2014-09-08 00:00:0433}
34
35android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5636 testonly = true
cjhopmancd7694af2014-09-08 00:00:0437 resource_dirs = [ "java/res" ]
38 custom_package = "org.chromium.content_shell"
39}
40
41android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5642 testonly = true
cjhopmancd7694af2014-09-08 00:00:0443 deps = [
agrieved7a71c882015-11-20 19:53:2844 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0445 "//base:base_java",
46 "//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",
agrieve696e6a52016-03-23 19:54:4558 ]
cjhopmancd7694af2014-09-08 00:00:0459}
60
scottmg6da1b582014-12-08 18:31:1561content_shell_manifest =
62 "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:5563
64jinja_template("content_shell_manifest") {
65 testonly = true
sievers4c08a9c2014-12-05 01:57:2866 input = "shell_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:5567 output = content_shell_manifest
68}
69
cjhopmancd7694af2014-09-08 00:00:0470android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5671 testonly = true
cjhopmancd7694af2014-09-08 00:00:0472 resource_dirs = [ "shell_apk/res" ]
73 deps = [
scottmg7afc4092014-12-03 19:22:4274 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0475 ]
sievers0350cad2014-12-03 23:50:5576 android_manifest = content_shell_manifest
agrieve24b56ca82016-06-30 14:46:3377 android_manifest_dep = ":content_shell_manifest"
cjhopmancd7694af2014-09-08 00:00:0478}
79
cjhopman394dfd12014-09-09 08:55:5480android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5681 testonly = true
cjhopman394dfd12014-09-09 08:55:5482 deps = [
83 ":content_shell_apk_resources",
84 ":content_shell_java",
agrieve35287052016-07-05 19:48:2085 ":content_shell_manifest",
cjhopman394dfd12014-09-09 08:55:5486 "//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 ]
agrieve35287052016-07-05 19:48:2092
93 # Supply manifest for linting.
94 android_manifest = content_shell_manifest
95
agrieve696e6a52016-03-23 19:54:4596 java_files = [
97 "shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java",
98 "shell_apk/src/org/chromium/content_shell_apk/ContentShellApplication.java",
99 ]
cjhopman394dfd12014-09-09 08:55:54100}
101
pkotwicz8c7027d2015-11-11 06:30:07102android_assets("content_shell_assets") {
cjhopman2fd48fd2014-09-24 00:52:56103 sources = [
scottmg7afc4092014-12-03 19:22:42104 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:56105 ]
pkotwicz8c7027d2015-11-11 06:30:07106 disable_compression = true
brettwf9505792015-06-03 19:43:38107 deps = [
108 "//content/shell:pak",
pkotwicz8c7027d2015-11-11 06:30:07109 "//third_party/icu:icu_assets",
110 "//v8:v8_external_startup_data_assets",
brettwf9505792015-06-03 19:43:38111 ]
cjhopman2fd48fd2014-09-24 00:52:56112}
113
cjhopmancd7694af2014-09-08 00:00:04114android_apk("content_shell_apk") {
cjhopman2fd48fd2014-09-24 00:52:56115 testonly = true
cjhopmancd7694af2014-09-08 00:00:04116 deps = [
brettwf9505792015-06-03 19:43:38117 ":content_shell_apk_java",
pkotwicz8c7027d2015-11-11 06:30:07118 ":content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04119 ":content_shell_java",
cjhopmancd7694af2014-09-08 00:00:04120 "//base:base_java",
121 "//content/public/android:content_java",
jbudorick7305b4bb2016-04-27 16:15:31122 "//content/public/test/android:layouttest_java_support",
mcasase1755002016-02-19 22:54:51123 "//media/capture/video/android:capture_java",
cjhopmancd7694af2014-09-08 00:00:04124 "//net/android:net_java",
agrieveda37b9ba52015-12-03 02:17:06125 "//third_party/mesa:osmesa",
cjhopmancd7694af2014-09-08 00:00:04126 "//ui/android:ui_java",
127 ]
128 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55129 android_manifest = content_shell_manifest
agrievec6811b422016-06-23 02:25:09130 android_manifest_dep = ":content_shell_manifest"
agrieve48bd27e2016-06-22 21:04:07131 shared_libraries = [ ":libcontent_shell_content_view" ]
agrieveda37b9ba52015-12-03 02:17:06132 loadable_modules = [ "$root_out_dir/libosmesa.so" ]
cjhopmancd7694af2014-09-08 00:00:04133}
cjhopman394dfd12014-09-09 08:55:54134
135android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56136 testonly = true
cjhopman394dfd12014-09-09 08:55:54137 deps = [
cjhopman394dfd12014-09-09 08:55:54138 ":content_shell_apk_java",
agrieved7a71c882015-11-20 19:53:28139 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54140 "//base:base_java",
141 "//base:base_java_test_support",
agrieved7a71c882015-11-20 19:53:28142 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54143 "//content/public/test/android:content_java_test_support",
144 "//content/shell/android:content_shell_java",
boliu16136c02016-10-06 00:55:28145 "//ui/android:ui_java",
cjhopman394dfd12014-09-09 08:55:54146 ]
agrieve696e6a52016-03-23 19:54:45147 java_files = [
148 "javatests/src/org/chromium/content_shell_apk/ContentShellPreconditionsTest.java",
149 "javatests/src/org/chromium/content_shell_apk/ContentShellShellManagementTest.java",
150 "javatests/src/org/chromium/content_shell_apk/ContentShellTestBase.java",
151 "javatests/src/org/chromium/content_shell_apk/ContentShellUrlTest.java",
152 ]
cjhopman394dfd12014-09-09 08:55:54153}
154
mikecase56d80d72015-06-03 00:57:26155instrumentation_test_apk("content_shell_test_apk") {
cjhopman394dfd12014-09-09 08:55:54156 deps = [
cjhopman394dfd12014-09-09 08:55:54157 "//base:base_javatests",
agrieved7a71c882015-11-20 19:53:28158 "//content/public/android:content_javatests",
cjhopman394dfd12014-09-09 08:55:54159 "//net/android:net_javatests",
160 ]
cjhopman7b9ba2e2015-04-22 23:31:53161 apk_under_test = ":content_shell_apk"
cjhopman394dfd12014-09-09 08:55:54162 apk_name = "ContentShellTest"
163 android_manifest = "javatests/AndroidManifest.xml"
164}
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
agrieve24b56ca82016-06-30 14:46:33180 android_manifest_dep = ":chromium_linker_test_manifest"
cjhopmanaac45ed82014-10-17 22:08:19181 }
182
cjhopmanaac45ed82014-10-17 22:08:19183 android_apk("chromium_linker_test_apk") {
184 testonly = true
185 deps = [
pkotwicz8c7027d2015-11-11 06:30:07186 ":content_shell_assets",
cjhopmanaac45ed82014-10-17 22:08:19187 ":content_shell_java",
cjhopmanaac45ed82014-10-17 22:08:19188 ":linker_resources",
cjhopmanaac45ed82014-10-17 22:08:19189 "//base:base_java",
190 "//content/public/android:content_java",
191 "//ui/android:ui_java",
192 ]
sievers0350cad2014-12-03 23:50:55193 android_manifest = chromium_linker_test_manifest
agrievec6811b422016-06-23 02:25:09194 android_manifest_dep = ":chromium_linker_test_manifest"
cjhopmanaac45ed82014-10-17 22:08:19195 apk_name = "ChromiumLinkerTest"
agrieve696e6a52016-03-23 19:54:45196 java_files = [
197 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestActivity.java",
198 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestApplication.java",
199 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
200 ]
agrieve48bd27e2016-06-22 21:04:07201 shared_libraries = [ ":linker_test" ]
cjhopmanaac45ed82014-10-17 22:08:19202 use_chromium_linker = true
203 enable_chromium_linker_tests = true
204 }
205
cjhopmanaac45ed82014-10-17 22:08:19206 shared_library("linker_test") {
207 testonly = true
208 sources = [
209 "linker_test_apk/chromium_linker_test_android.cc",
210 "linker_test_apk/chromium_linker_test_linker_tests.cc",
211 ]
212
213 deps = [
214 ":linker_test_jni_headers",
brettwba7a73d2015-08-31 22:17:39215 "//build/config/sanitizers:deps",
cjhopmanaac45ed82014-10-17 22:08:19216 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42217
cjhopmanaac45ed82014-10-17 22:08:19218 # Required to include "content/public/browser/android/compositor.h"
219 # in chromium_linker_test_android.cc :-(
220 "//skia",
simonb01cb97b2015-08-24 15:54:09221 "//third_party/re2",
cjhopmanaac45ed82014-10-17 22:08:19222 ]
223 }
224
cjhopmanaac45ed82014-10-17 22:08:19225 generate_jni("linker_test_jni_headers") {
226 testonly = true
227 jni_package = "content/shell"
228 sources = [
229 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
230 ]
231 }
232}
pkotwicz93fa232b2015-11-11 17:55:07233
pkotwicz93fa232b2015-11-11 17:55:07234android_library("content_shell_browsertests_java") {
235 testonly = true
236 deps = [
237 ":content_shell_java",
238 "//base:base_java",
239 "//content/public/android:content_java",
240 "//testing/android/native_test:native_test_java",
241 "//ui/android:ui_java",
242 ]
agrieve696e6a52016-03-23 19:54:45243 java_files = [ "browsertests/src/org/chromium/content_shell/browsertests/ContentShellBrowserTestActivity.java" ]
pkotwicz93fa232b2015-11-11 17:55:07244}