blob: 070cc6bf8f7cc5d31153ec16491557645603c9f7 [file] [log] [blame]
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
weblayer_client_manifest =
"$target_gen_dir/weblayer_client_manifest/AndroidManifest.xml"
jinja_template("weblayer_client_manifest") {
input = "AndroidManifest.xml"
output = weblayer_client_manifest
}
android_resources("client_resources") {
resource_dirs = []
android_manifest = weblayer_client_manifest
android_manifest_dep = ":weblayer_client_manifest"
}
template("weblayer_java") {
android_library(target_name) {
java_files = [
"org/chromium/weblayer/BrowserController.java",
"org/chromium/weblayer/BrowserFragment.java",
"org/chromium/weblayer/BrowserFragmentController.java",
"org/chromium/weblayer/BrowserObserver.java",
"org/chromium/weblayer/Callback.java",
"org/chromium/weblayer/ListenableFuture.java",
"org/chromium/weblayer/ListenableResult.java",
"org/chromium/weblayer/Navigation.java",
"org/chromium/weblayer/NavigationController.java",
"org/chromium/weblayer/NavigationObserver.java",
"org/chromium/weblayer/ObserverList.java",
"org/chromium/weblayer/Profile.java",
"org/chromium/weblayer/ProfileManager.java",
"org/chromium/weblayer/WebLayer.java",
"org/chromium/weblayer/ChildProcessService.java",
"org/chromium/weblayer/UnsupportedVersionException.java",
]
deps = [
"//third_party/android_deps:com_android_support_support_fragment_java",
"//weblayer/browser/java:client_java",
]
deps += invoker.deps
# Needed for android.webkit.WebViewDelegate.
alternative_android_sdk_dep =
"//third_party/android_sdk:public_framework_system_java"
}
}
# This target should be used by client apps in the chromium repo that want to
# include the client library code and manifest.
weblayer_java("java") {
deps = [
# This dep is needed to include the manifest that should be merged into the
# client app's manifest.
":client_resources",
]
}
# This target should only be used when generating the aar. The dist_aar rule
# adds the client manifest separately.
weblayer_java("aar_java") {
deps = []
}
dist_aar("client_aar") {
deps = [
":aar_java",
":weblayer_client_manifest",
]
# The aar should only include weblayer files. The client will provide the
# support library.
jar_included_patterns = [
"org/chromium/weblayer/*",
"org/chromium/weblayer_private/*",
]
# dist_aar does not take the manifest from libraries in deps, so we have to
# specify again here.
android_manifest = weblayer_client_manifest
output = "$root_build_dir/WebLayerClient.aar"
}