Chromium Code Reviews| Index: chrome/android/webapk/shell_apk/BUILD.gn |
| diff --git a/chrome/android/webapk/shell_apk/BUILD.gn b/chrome/android/webapk/shell_apk/BUILD.gn |
| index 285a1eb8025616e16acfde1d8718286a3b899668..25a825c4859838dd0fb951a208aed650db78cc4f 100644 |
| --- a/chrome/android/webapk/shell_apk/BUILD.gn |
| +++ b/chrome/android/webapk/shell_apk/BUILD.gn |
| @@ -24,20 +24,37 @@ declare_args() { |
| shell_apk_manifest_package = |
| "org.chromium.webapk.$webapk_manifest_package_origin" |
| +test_shell_apk_manifest_package = |
| + "org.chromium.webapk.$webapk_manifest_package_origin.test" |
|
pkotwicz
2016/06/20 19:14:43
Don't you need to hard code test_shell_apk_manifes
Xi Han
2016/06/20 20:07:23
Good point. Updated.
|
| -shell_apk_manifest = "$target_gen_dir/shell_apk_manifest/AndroidManifest.xml" |
| +webapk_common_jinja_variables = [ |
| + "host_url=$webapk_start_url", |
| + "scope_url=$webapk_scope_url", |
| + "scope_url_host=$webapk_scope_url_host", |
| +] |
| + |
| +webapk_jinja_variables = [ |
| + "manifest_package=$shell_apk_manifest_package", |
| + "runtime_host=$webapk_runtime_host", |
| +] |
| + |
| +test_webapk_jinja_variables = [ |
| + "manifest_package=$test_shell_apk_manifest_package", |
| + "runtime_host=org.chromium.chrome", |
| +] |
| jinja_template("shell_apk_manifest") { |
| input = "AndroidManifest.xml" |
| - output = shell_apk_manifest |
| - |
| - variables = [ |
| - "manifest_package=$shell_apk_manifest_package", |
| - "host_url=$webapk_start_url", |
| - "runtime_host=$webapk_runtime_host", |
| - "scope_url=$webapk_scope_url", |
| - "scope_url_host=$webapk_scope_url_host", |
| - ] |
| + output = "$target_gen_dir/shell_apk_manifest/AndroidManifest.xml" |
| + |
|
pkotwicz
2016/06/20 19:14:43
Nit: remove the new line
Xi Han
2016/06/20 20:07:23
Done.
|
| + variables = webapk_common_jinja_variables + webapk_jinja_variables |
| +} |
| + |
| +jinja_template("test_shell_apk_manifest") { |
| + input = "AndroidManifest.xml" |
| + output = "$target_gen_dir/test_shell_apk_manifest/AndroidManifest.xml" |
| + |
|
pkotwicz
2016/06/20 19:14:43
Nit: remove the new line
Xi Han
2016/06/20 20:07:23
Done.
|
| + variables = webapk_common_jinja_variables + test_webapk_jinja_variables |
| } |
| android_resources("shell_apk_resources") { |
| @@ -52,24 +69,47 @@ android_library("dex_loader_lib") { |
| # Template for WebAPK. When a WebAPK is generated: |
| # - Android manifest is customized to the website. |
| # - App icon is extracted from the website and added to the APK's resources. |
| -android_apk("webapk") { |
| - android_manifest = shell_apk_manifest |
| +template("webapk_template") { |
| + android_apk(target_name) { |
| + forward_variables_from(invoker, "*") |
| + java_files = [ |
| + "src/org/chromium/webapk/shell_apk/MainActivity.java", |
| + "src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java", |
| + ] |
| + deps += [ |
| + ":dex_loader_lib", |
| + ":shell_apk_manifest", |
| + ":shell_apk_resources", |
| + "//chrome/android/webapk/libs/common", |
| + "//chrome/android/webapk/libs/runtime_library", |
| + ] |
| + if (!is_debug) { |
| + proguard_enabled = true |
| + proguard_configs = [ "//chrome/android/java/proguard.flags" ] |
| + } |
| + } |
| +} |
| + |
| +webapk_template("webapk") { |
| + android_manifest = get_target_outputs(":shell_apk_manifest") |
| + android_manifest = android_manifest[1] |
| apk_name = "WebApk.$webapk_manifest_package_origin" |
| - java_files = [ |
| - "src/org/chromium/webapk/shell_apk/MainActivity.java", |
| - "src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java", |
| - ] |
| + |
| deps = [ |
| - ":dex_loader_lib", |
| ":shell_apk_manifest", |
| - ":shell_apk_resources", |
| - "//chrome/android/webapk/libs/common", |
| - "//chrome/android/webapk/libs/runtime_library", |
| ] |
| - if (!is_debug) { |
| - proguard_enabled = true |
| - proguard_configs = [ "//chrome/android/java/proguard.flags" ] |
| - } |
| +} |
| + |
| +# The "test_webapk" target is used for WebAPK's instrument tests in the target |
| +# chrome_public_test_apk, and its runtime host package is "org.chromium.chrome". |
|
pkotwicz
2016/06/20 19:14:43
How about: "The |test_webapk| target is used for W
Xi Han
2016/06/20 20:07:23
Sounds good to me.
|
| +webapk_template("test_webapk") { |
| + android_manifest = get_target_outputs(":test_shell_apk_manifest") |
| + android_manifest = android_manifest[1] |
| + apk_name = "WebApk.$webapk_manifest_package_origin.test" |
|
pkotwicz
2016/06/20 19:14:43
Can you hard code apk_name? TestWebApk maybe?
Xi Han
2016/06/20 20:07:23
Done.
|
| + |
| + deps = [ |
| + ":test_shell_apk_manifest", |
| + ] |
| } |
| android_library("shell_apk_javatests") { |