Index: chrome/android/BUILD.gn |
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn |
index fc6f37a5031fc99e768e3fa54c78e75c522feed2..dbe3885c1385365a2ad256dd8027f1bff6dde61c 100644 |
--- a/chrome/android/BUILD.gn |
+++ b/chrome/android/BUILD.gn |
@@ -774,3 +774,106 @@ static_library("chrome_staging") { |
defines = [] |
} |
+ |
+chrome_public_apk_assets_dir = "$root_build_dir/chrome_public_apk_assets" |
+ |
+chrome_android_paks_gypi = |
+ exec_script("//build/gypi_to_gn.py", |
+ [ rebase_path("//chrome/chrome_android_paks.gypi") ], |
+ "scope", |
+ [ "//chrome/chrome_android_paks.gypi" ]) |
+ |
+copy_ex("chrome_public_apk_assets") { |
+ clear_dir = true |
+ dest = chrome_public_apk_assets_dir |
+ gypi_sources = chrome_android_paks_gypi.chrome_android_pak_input_resources |
+ cleaned_sources = rebase_path(gypi_sources, "<(PRODUCT_DIR)") |
+ sources = rebase_path(cleaned_sources, ".", root_out_dir) |
+ if (icu_use_data_file) { |
+ sources += [ "$root_build_dir/icudtl.dat" ] |
+ } |
+ |
+ if (v8_use_external_startup_data) { |
+ sources += [ |
+ "$root_build_dir/natives_blob.bin", |
+ "$root_build_dir/snapshot_blob.bin", |
+ ] |
+ } |
+ |
+ sources += [ "$root_build_dir/resources.pak" ] |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_apk_manifest |
+jinja_template("chrome_public_apk_manifest") { |
+ input = "java_staging/AndroidManifest.xml" |
+ output = "$root_gen_dir/chrome_public_apk_manifest/AndroidManifest.xml" |
+ variables = jinja_variables + [ "min_sdk_version=16" ] |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:libchrome_public |
+shared_library("chrome_public") { |
+ deps = [ |
+ "//chrome/android:chrome_staging", |
+ "//chrome:chrome_android_core", |
+ ] |
+ gypi_values = exec_script( |
+ "//build/gypi_to_gn.py", |
+ [ |
+ rebase_path("chrome_apk.gyp"), |
+ "--replace=<(chrome_native_sources_dir)=../browser/android/", |
+ ], |
+ "scope", |
+ [ "chrome_apk.gyp" ]) |
+ sources = gypi_values.chrome_public_app_native_sources |
+ |
+ # TODO(GYP): |
+ #'target_conditions': [ |
+ #['component != "shared_library"', { |
+ #'product_extension': '<(version_libchrome_short).so', |
+ #}], |
+ #], |
+} |
+ |
+android_apk("chrome_public_apk") { |
+ version_name = "Developer Build" |
+ version_code = "1" |
+ android_manifest = get_target_outputs(":chrome_public_apk_manifest") |
+ android_manifest = android_manifest[1] |
+ apk_name = "ChromePublic" |
+ native_libs = [ "$root_build_dir/lib.stripped/libchrome_public.so" ] |
+ native_lib_version_name = _version_full |
+ asset_location = chrome_public_apk_assets_dir |
+ |
+ deps = [ |
+ "//base:base_java", |
+ ":chrome_staging_java", |
+ ":chrome_staging_java_resources", |
+ ":chrome_public_apk_assets", |
+ ":chrome_public", |
+ "//third_party/android_tools:google_play_services_default_resources", |
+ ] |
+} |
+ |
+chrome_public_test_apk_manifest = |
+ "$root_gen_dir/chrome_public_test_apk_manifest/AndroidManifest.xml" |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_public_test_apk_manifest |
+jinja_template("chrome_public_test_apk_manifest") { |
+ input = "javatests/AndroidManifest.xml" |
+ output = chrome_public_test_apk_manifest |
+ variables = jinja_variables |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_public_test_apk |
+android_apk("chrome_public_test_apk") { |
+ testonly = true |
+ |
+ # TODO(GYP,cjhopman): Does this need version code/name? |
+ apk_name = "ChromePublicTest" |
+ apk_under_test = ":chrome_public_apk" |
+ android_manifest = chrome_public_test_apk_manifest |
+ deps = [ |
+ "//chrome/test/android:chrome_staging_test_support_java", |
+ "//chrome/android:chrome_staging_test_java", |
+ ] |
+} |