Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2048)

Unified Diff: android_webview/glue/BUILD.gn

Issue 1892613007: Refactorying gule/BUILD.gn to make merging easy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add more comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | build/config/android/config.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/glue/BUILD.gn
diff --git a/android_webview/glue/BUILD.gn b/android_webview/glue/BUILD.gn
index 59302f7783514bd882f205b2df158cc97555046e..f8be999c5b70990c4e92e142ac787670df935900 100644
--- a/android_webview/glue/BUILD.gn
+++ b/android_webview/glue/BUILD.gn
@@ -2,17 +2,33 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+# There are two copies of this file in upstream and downstream, all
agrieve 2016/04/18 17:40:56 nit: there's only one copy in upstream and downstr
michaelbai 2016/04/18 18:28:55 Done.
+# targets defined in this file will finally generate two targets.
+# The full target name is used to differentiate those two targets,
+# see 'glue' target for details.
+
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("generate_resource_rewriter.gni")
import("glue.gni")
-webview_framework_ijar =
- "$root_out_dir/lib.java/webview/frameworks.interface.jar"
+webview_framework_ijar = "frameworks.interface.jar"
+webview_public_framework_ijar = "frameworks.public.interface.jar"
+
+# Mark webview_framework_ijar is used, otherwise it isn't used if there
+# is no internal code.
+assert(webview_framework_ijar != "")
+
+if (defined(webview_internal_framework_jar)) {
+ generate_interface_jar("framework_ijar") {
+ input_jar = webview_internal_framework_jar
+ output_jar = "$target_out_dir/$webview_framework_ijar"
+ }
+}
-generate_interface_jar("framework_ijar") {
- input_jar = webview_framework_jar
- output_jar = webview_framework_ijar
+generate_interface_jar("public_framework_ijar") {
+ input_jar = webview_public_framework_jar
+ output_jar = "$target_out_dir/$webview_public_framework_ijar"
}
generate_resource_rewriter("glue_resource_rewriter") {
@@ -21,35 +37,45 @@ generate_resource_rewriter("glue_resource_rewriter") {
package_name = "com.android.webview.chromium"
}
-if (!defined(use_webview_internal_framework) ||
- !use_webview_internal_framework) {
- android_library("glue") {
- # Change deps? please modify glue_library_deps variable.
- deps = glue_library_deps
- srcjar_deps = [ ":glue_resource_rewriter" ]
-
- alternative_android_sdk_ijar = webview_framework_ijar
- alternative_android_sdk_ijar_dep = "//android_webview/glue:framework_ijar"
-
- java_files = [
- "java/src/com/android/webview/chromium/ContentSettingsAdapter.java",
- "java/src/com/android/webview/chromium/CookieManagerAdapter.java",
- "java/src/com/android/webview/chromium/DrawGLFunctor.java",
- "java/src/com/android/webview/chromium/GeolocationPermissionsAdapter.java",
- "java/src/com/android/webview/chromium/GraphicsUtils.java",
- "java/src/com/android/webview/chromium/LicenseActivity.java",
- "java/src/com/android/webview/chromium/LicenseContentProvider.java",
- "java/src/com/android/webview/chromium/ResourcesContextWrapperFactory.java",
- "java/src/com/android/webview/chromium/WebBackForwardListChromium.java",
- "java/src/com/android/webview/chromium/WebHistoryItemChromium.java",
- "java/src/com/android/webview/chromium/WebIconDatabaseAdapter.java",
- "java/src/com/android/webview/chromium/WebMessagePortAdapter.java",
- "java/src/com/android/webview/chromium/WebStorageAdapter.java",
- "java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java",
- "java/src/com/android/webview/chromium/WebViewChromium.java",
- "java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java",
- "java/src/com/android/webview/chromium/WebViewDatabaseAdapter.java",
- "java/src/com/android/webview/chromium/WebViewDelegateFactory.java",
- ]
+android_library("glue") {
+ # Change deps? please modify glue_library_deps variable.
+ deps = glue_library_deps
+ srcjar_deps = [ ":glue_resource_rewriter" ]
+
+ # Always build upstream or downstream target with public or internal
+ # framwork jar respectively.
agrieve 2016/04/18 17:40:57 nit: framwork
michaelbai 2016/04/18 18:28:55 Done.
+ _target_full_name = get_label_info(target_name, "label_no_toolchain")
+ if (_target_full_name == "//android_webview/glue/glue:glue") {
+ alternative_android_sdk_ijar_dep = ":public_framework_ijar"
+ _ijar = webview_public_framework_ijar
+ } else {
+ # This must be downstream target.
+ assert(_target_full_name == "//clank/android_webview/glue/glue:glue",
+ "target_dir is " + _target_full_name)
+ assert(defined(webview_internal_framework_jar))
+ alternative_android_sdk_ijar_dep = ":framework_ijar"
+ _ijar = webview_framework_ijar
}
+ _ijar_dir = get_label_info(alternative_android_sdk_ijar_dep, "target_out_dir")
+ alternative_android_sdk_ijar = "$_ijar_dir/$_ijar"
+ java_files = [
+ "java/src/com/android/webview/chromium/ContentSettingsAdapter.java",
+ "java/src/com/android/webview/chromium/CookieManagerAdapter.java",
+ "java/src/com/android/webview/chromium/DrawGLFunctor.java",
+ "java/src/com/android/webview/chromium/GeolocationPermissionsAdapter.java",
+ "java/src/com/android/webview/chromium/GraphicsUtils.java",
+ "java/src/com/android/webview/chromium/LicenseActivity.java",
+ "java/src/com/android/webview/chromium/LicenseContentProvider.java",
+ "java/src/com/android/webview/chromium/ResourcesContextWrapperFactory.java",
+ "java/src/com/android/webview/chromium/WebBackForwardListChromium.java",
+ "java/src/com/android/webview/chromium/WebHistoryItemChromium.java",
+ "java/src/com/android/webview/chromium/WebIconDatabaseAdapter.java",
+ "java/src/com/android/webview/chromium/WebMessagePortAdapter.java",
+ "java/src/com/android/webview/chromium/WebStorageAdapter.java",
+ "java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java",
+ "java/src/com/android/webview/chromium/WebViewChromium.java",
+ "java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java",
+ "java/src/com/android/webview/chromium/WebViewDatabaseAdapter.java",
+ "java/src/com/android/webview/chromium/WebViewDelegateFactory.java",
+ ]
}
« no previous file with comments | « no previous file | build/config/android/config.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698