| 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 |