Commit 9a8cfdf0 authored by Peter Kotwicz's avatar Peter Kotwicz Committed by Commit Bot

[Android WebAPK]: Move Android Manifest generation to webapk_tmp GN template 1/X

This CL moves the Android Manifest generation via manifest_processor_template
into the webapk_tmpl GN template.

This CL is in preparation to adding a new webapk_tmpl() GN target for generating
a WebAPK which shows the splash screen within the WebAPK's activity.

BUG=817263

Change-Id: I83b1292da2869dc1d8de784d137cba75962633c6
Reviewed-on: https://chromium-review.googlesource.com/1183814
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: default avatarXi Han <hanxi@chromium.org>
Reviewed-by: default avataragrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587761}
parent 0b53bbe1
...@@ -6,46 +6,6 @@ import("//build/config/android/rules.gni") ...@@ -6,46 +6,6 @@ import("//build/config/android/rules.gni")
import("manifest_processor.gni") import("manifest_processor.gni")
import("shell_apk_version.gni") import("shell_apk_version.gni")
shell_apk_manifest = "$target_gen_dir/shell_apk_manifest/AndroidManifest.xml"
unbound_shell_apk_manifest =
"$target_gen_dir/unbound_shell_apk_manifest/AndroidManifest.xml"
maps_go_apk_manifest =
"$target_gen_dir/maps_go_apk_manifest/AndroidManifest.xml"
shell_apk_http_manifest =
"$target_gen_dir/shell_apk_http_manifest/AndroidManifest.xml"
manifest_processor_template("shell_apk_manifest") {
input = "AndroidManifest.xml"
config_file = "bound_manifest_config.json"
output = shell_apk_manifest
extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
}
manifest_processor_template("unbound_shell_apk_manifest") {
input = "AndroidManifest.xml"
config_file = "unbound_manifest_config.json"
output = unbound_shell_apk_manifest
extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
}
manifest_processor_template("maps_go_apk_manifest") {
input = "AndroidManifest.xml"
config_file = "maps_go_manifest_config.json"
output = maps_go_apk_manifest
extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
}
manifest_processor_template("shell_apk_http_manifest") {
input = "AndroidManifest.xml"
config_file = "http_manifest_config.json"
output = shell_apk_http_manifest
extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
}
android_resources("shell_apk_resources") { android_resources("shell_apk_resources") {
resource_dirs = [ "res" ] resource_dirs = [ "res" ]
custom_package = "org.chromium.webapk.shell_apk" custom_package = "org.chromium.webapk.shell_apk"
...@@ -66,46 +26,70 @@ android_library("dex_loader_java") { ...@@ -66,46 +26,70 @@ android_library("dex_loader_java") {
java_files = [ "src/org/chromium/webapk/shell_apk/DexLoader.java" ] java_files = [ "src/org/chromium/webapk/shell_apk/DexLoader.java" ]
} }
android_library("webapk_java") { template("webapk_java") {
java_files = [ android_library(target_name) {
"src/org/chromium/webapk/shell_apk/HostBrowserClassLoader.java", forward_variables_from(invoker,
"src/org/chromium/webapk/shell_apk/HostBrowserLauncher.java", [
"src/org/chromium/webapk/shell_apk/ChooseHostBrowserDialog.java", "android_manifest_for_lint",
"src/org/chromium/webapk/shell_apk/MainActivity.java", "deps",
"src/org/chromium/webapk/shell_apk/IdentityService.java", ])
"src/org/chromium/webapk/shell_apk/InstallHostBrowserDialog.java",
"src/org/chromium/webapk/shell_apk/ShareActivity.java",
"src/org/chromium/webapk/shell_apk/ShareActivity0.java",
"src/org/chromium/webapk/shell_apk/ShareActivity1.java",
"src/org/chromium/webapk/shell_apk/ShareActivity2.java",
"src/org/chromium/webapk/shell_apk/ShareActivity3.java",
"src/org/chromium/webapk/shell_apk/ShareActivity4.java",
"src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java",
"src/org/chromium/webapk/shell_apk/WebApkServiceImplWrapper.java",
"src/org/chromium/webapk/shell_apk/WebApkUtils.java",
]
deps = [
":compiled_in_runtime_library_java",
":dex_loader_java",
":shell_apk_manifest",
":shell_apk_resources",
"//chrome/android/webapk/libs/common:common_java",
]
android_manifest_for_lint = shell_apk_manifest java_files = [
"src/org/chromium/webapk/shell_apk/HostBrowserClassLoader.java",
"src/org/chromium/webapk/shell_apk/HostBrowserLauncher.java",
"src/org/chromium/webapk/shell_apk/ChooseHostBrowserDialog.java",
"src/org/chromium/webapk/shell_apk/IdentityService.java",
"src/org/chromium/webapk/shell_apk/InstallHostBrowserDialog.java",
"src/org/chromium/webapk/shell_apk/MainActivity.java",
"src/org/chromium/webapk/shell_apk/ShareActivity.java",
"src/org/chromium/webapk/shell_apk/ShareActivity0.java",
"src/org/chromium/webapk/shell_apk/ShareActivity1.java",
"src/org/chromium/webapk/shell_apk/ShareActivity2.java",
"src/org/chromium/webapk/shell_apk/ShareActivity3.java",
"src/org/chromium/webapk/shell_apk/ShareActivity4.java",
"src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java",
"src/org/chromium/webapk/shell_apk/WebApkServiceImplWrapper.java",
"src/org/chromium/webapk/shell_apk/WebApkUtils.java",
]
deps += [
":compiled_in_runtime_library_java",
":dex_loader_java",
":shell_apk_resources",
"//chrome/android/webapk/libs/common:common_java",
]
}
} }
template("webapk_tmpl") { template("webapk_tmpl") {
_manifest_target_name = "${target_name}_generate_manifest"
_manifest_output =
"${target_gen_dir}/${_manifest_target_name}/AndroidManifest.xml"
_java_target_name = "${target_name}_java"
manifest_processor_template(_manifest_target_name) {
forward_variables_from(invoker, [ "config_file" ])
input = "AndroidManifest.xml"
output = _manifest_output
extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
}
webapk_java(_java_target_name) {
android_manifest_for_lint = _manifest_output
deps = [
":$_manifest_target_name",
]
}
android_apk(target_name) { android_apk(target_name) {
forward_variables_from(invoker, forward_variables_from(invoker, [ "apk_name" ])
[
"android_manifest",
"android_manifest_dep",
"apk_name",
])
deps = [ deps = [
":webapk_java", ":$_java_target_name",
] ]
android_manifest = _manifest_output
android_manifest_dep = ":$_manifest_target_name"
never_incremental = true never_incremental = true
# Force 32 bit mode on 64 bit devices. # Force 32 bit mode on 64 bit devices.
...@@ -178,26 +162,22 @@ java_strings_grd("webapk_strings_grd") { ...@@ -178,26 +162,22 @@ java_strings_grd("webapk_strings_grd") {
# - Android manifest is customized to the website. # - Android manifest is customized to the website.
# - App icon is extracted from the website and added to the APK's resources. # - App icon is extracted from the website and added to the APK's resources.
webapk_tmpl("webapk") { webapk_tmpl("webapk") {
android_manifest = shell_apk_manifest config_file = "bound_manifest_config.json"
android_manifest_dep = ":shell_apk_manifest"
apk_name = "WebApk" apk_name = "WebApk"
} }
webapk_tmpl("maps_go_webapk") { webapk_tmpl("maps_go_webapk") {
android_manifest = maps_go_apk_manifest config_file = "maps_go_manifest_config.json"
android_manifest_dep = ":maps_go_apk_manifest"
apk_name = "MapsWebApk" apk_name = "MapsWebApk"
} }
webapk_tmpl("unbound_webapk") { webapk_tmpl("unbound_webapk") {
android_manifest = unbound_shell_apk_manifest config_file = "unbound_manifest_config.json"
android_manifest_dep = ":unbound_shell_apk_manifest"
apk_name = "UnboundWebApk" apk_name = "UnboundWebApk"
} }
webapk_tmpl("http_webapk") { webapk_tmpl("http_webapk") {
android_manifest = shell_apk_http_manifest config_file = "http_manifest_config.json"
android_manifest_dep = ":shell_apk_http_manifest"
apk_name = "HttpWebApk" apk_name = "HttpWebApk"
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment