blob: fc65f9aec085479f06d47ab55f6e9d13dcf5a3a5 [file] [log] [blame]
# Copyright 2016 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/rules.gni")
import("//chrome/android/webapk/libs/runtime_library_version.gni")
# runtime_library_version.gni must be updated whenever the runtime library is
# updated. The WebAPK re-extracts the runtime library from the Chrome APK when
# |runtime_library_version| is incremented.
# Whenever this constant is changed, WebApkUtils#getRuntimeDexName() must also
# be changed.
runtime_library_dex_asset_name = "webapk$runtime_library_version.dex"
android_aidl("webapk_service_aidl") {
import_include = [ "src/org/chromium/webapk/lib/runtime_library" ]
interface_file = "src/org/chromium/webapk/lib/runtime_library/common.aidl"
sources = [
"src/org/chromium/webapk/lib/runtime_library/IWebApkApi.aidl",
]
}
# A standalone jar for the aidl's generated java files so that multiple places
# can depend on the aidl.
android_library("webapk_service_aidl_java") {
srcjar_deps = [ ":webapk_service_aidl" ]
}
# runtime_library_from_assets_java cannot be used as a dependency of another
# library because the dx tool expects files ending in .dex.jar
android_library("runtime_library_for_assets_java") {
java_files =
[ "src/org/chromium/webapk/lib/runtime_library/WebApkServiceImpl.java" ]
srcjar_deps = [ ":webapk_service_aidl" ]
deps = [
"//third_party/android_tools:android_support_compat_java",
]
}
# The subset of runtime_library_from_assets_java needed for tests.
android_library("runtime_library_for_tests_java") {
java_files =
[ "src/org/chromium/webapk/lib/runtime_library/WebApkServiceImpl.java" ]
deps = [
":webapk_service_aidl_java",
"//third_party/android_tools:android_support_compat_java",
]
}
dist_jar("webapk_runtime_library") {
requires_android = true
deps = [
":runtime_library_for_assets_java",
]
proguard_enabled = true
proguard_configs = [
"runtime_library.proguard.flags",
"//base/android/proguard/chromium_code.flags",
"//base/android/proguard/chromium_apk.flags",
]
output = "$target_gen_dir/$target_name.jar"
dex_path = "$target_gen_dir/$runtime_library_dex_asset_name"
}
android_assets("runtime_library_assets") {
write_file("$target_gen_dir/webapk_dex_version.txt", runtime_library_version)
sources = [
"$target_gen_dir/$runtime_library_dex_asset_name",
"$target_gen_dir/webapk_dex_version.txt",
]
deps = [
":webapk_runtime_library",
]
}
android_library("runtime_library_javatests") {
testonly = true
java_files = [ "javatests/src/org/chromium/webapk/lib/runtime_library/WebApkServiceImplTest.java" ]
deps = [
":runtime_library_for_tests_java",
":webapk_service_aidl_java",
"//base:base_java_test_support",
"//chrome/test/android:chrome_java_test_support",
"//content/public/test/android:content_java_test_support",
"//third_party/android_support_test_runner:runner_java",
"//third_party/junit",
]
}