OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/android/rules.gni") | 5 import("//build/config/android/rules.gni") |
6 | 6 |
7 declare_args() { | 7 declare_args() { |
8 # The origin URL of the WebAPK. Used to generate a unique package name for | 8 # The origin URL of the WebAPK. Used to generate a unique package name for |
9 # WebAPK. Example: "foo.com" | 9 # WebAPK. Example: "foo.com" |
10 webapk_manifest_package_origin = "template" | 10 webapk_manifest_package_origin = "template" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 "scope_url_host=$webapk_scope_url_host", | 56 "scope_url_host=$webapk_scope_url_host", |
57 "web_manifest_url=$webapk_web_manifest_url", | 57 "web_manifest_url=$webapk_web_manifest_url", |
58 ] | 58 ] |
59 } | 59 } |
60 | 60 |
61 android_resources("shell_apk_resources") { | 61 android_resources("shell_apk_resources") { |
62 resource_dirs = [ "res" ] | 62 resource_dirs = [ "res" ] |
63 custom_package = "org.chromium.webapk.shell_apk" | 63 custom_package = "org.chromium.webapk.shell_apk" |
64 } | 64 } |
65 | 65 |
66 android_library("dex_loader_java") { | 66 android_library("webapk_java") { |
67 java_files = [ "src/org/chromium/webapk/shell_apk/DexLoader.java" ] | |
68 } | |
69 | |
70 # Template for WebAPK. When a WebAPK is generated: | |
71 # - Android manifest is customized to the website. | |
72 # - App icon is extracted from the website and added to the APK's resources. | |
73 android_apk("webapk") { | |
74 android_manifest = shell_apk_manifest | |
75 android_manifest_dep = ":shell_apk_manifest" | |
76 apk_name = "WebApk.$webapk_manifest_package_origin" | |
77 java_files = [ | 67 java_files = [ |
| 68 "src/org/chromium/webapk/shell_apk/DexLoader.java", |
78 "src/org/chromium/webapk/shell_apk/HostBrowserClassLoader.java", | 69 "src/org/chromium/webapk/shell_apk/HostBrowserClassLoader.java", |
79 "src/org/chromium/webapk/shell_apk/MainActivity.java", | 70 "src/org/chromium/webapk/shell_apk/MainActivity.java", |
80 "src/org/chromium/webapk/shell_apk/NotificationSettingsLauncherActivity.java
", | 71 "src/org/chromium/webapk/shell_apk/NotificationSettingsLauncherActivity.java
", |
81 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService.java", | 72 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService.java", |
82 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService0.java", | 73 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService0.java", |
83 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService1.java", | 74 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService1.java", |
84 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService2.java", | 75 "src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService2.java", |
85 "src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java", | 76 "src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java", |
86 "src/org/chromium/webapk/shell_apk/WebApkUtils.java", | 77 "src/org/chromium/webapk/shell_apk/WebApkUtils.java", |
87 ] | 78 ] |
88 deps = [ | 79 deps = [ |
89 ":dex_loader_java", | |
90 ":shell_apk_resources", | 80 ":shell_apk_resources", |
91 "//chrome/android/webapk/libs/common:common_java", | 81 "//chrome/android/webapk/libs/common:common_java", |
92 ] | 82 ] |
| 83 } |
| 84 |
| 85 # Template for WebAPK. When a WebAPK is generated: |
| 86 # - Android manifest is customized to the website. |
| 87 # - App icon is extracted from the website and added to the APK's resources. |
| 88 android_apk("webapk") { |
| 89 android_manifest = shell_apk_manifest |
| 90 android_manifest_dep = ":shell_apk_manifest" |
| 91 apk_name = "WebApk.$webapk_manifest_package_origin" |
| 92 deps = [ |
| 93 ":webapk_java", |
| 94 ] |
93 if (!is_java_debug) { | 95 if (!is_java_debug) { |
94 proguard_enabled = true | 96 proguard_enabled = true |
95 proguard_configs = [ | 97 proguard_configs = [ |
96 "//chrome/android/java/proguard.flags", | 98 "//chrome/android/java/proguard.flags", |
97 "//base/android/base_proguard_config.flags", | 99 "//base/android/base_proguard_config.flags", |
98 ] | 100 ] |
99 } | 101 } |
100 } | 102 } |
101 | 103 |
102 android_library("shell_apk_javatests") { | 104 android_library("shell_apk_javatests") { |
103 testonly = true | 105 testonly = true |
104 java_files = | 106 java_files = |
105 [ "javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java" ] | 107 [ "javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java" ] |
106 deps = [ | 108 deps = [ |
107 ":dex_loader_java", | 109 ":webapk_java", |
108 "//base:base_java", | 110 "//base:base_java", |
109 "//base:base_java_test_support", | 111 "//base:base_java_test_support", |
110 "//chrome/android/webapk/libs/common:common_java", | 112 "//chrome/android/webapk/libs/common:common_java", |
111 "//content/public/test/android:content_java_test_support", | 113 "//content/public/test/android:content_java_test_support", |
112 ] | 114 ] |
113 srcjar_deps = [ "javatests/dex_optimizer:dex_optimizer_service_aidl" ] | 115 srcjar_deps = [ "javatests/dex_optimizer:dex_optimizer_service_aidl" ] |
114 } | 116 } |
| 117 |
| 118 junit_binary("webapk_shell_apk_junit_tests") { |
| 119 java_files = [ "junit/src/org/chromium/webapk/shell_apk/HostBrowserClassLoader
Test.java" ] |
| 120 deps = [ |
| 121 ":webapk_java", |
| 122 "//base:base_junit_test_support", |
| 123 "//chrome/android/webapk/libs/common:common_java", |
| 124 ] |
| 125 } |
OLD | NEW |