Chromium Code Reviews| 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", |
| + ] |
| } |