Update AAR-generation to use non-preprocessed jar files.
Previously Java 8 bytecode was transpiled into Java 7 bytecode for AAR. With this change we instead include Java 8 bytecode in the AAR. This drops support for Java 7 but allows using Java 8 features such as static methods in interfaces and default methods. Bug: webrtc:8084, chromium:762967 Change-Id: I3c6ec9332c5612b7ed811a81957f25c94c80da70 No-Try: True Reviewed-on: https://webrtc-review.googlesource.com/21222 Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20849}
This commit is contained in:
parent
6a82207e4e
commit
7bc55b8e84
@ -438,12 +438,63 @@ rtc_shared_library("libjingle_peerconnection_so") {
|
||||
output_extension = "so"
|
||||
}
|
||||
|
||||
dist_jar("libwebrtc") {
|
||||
template("java8_dist_jar") {
|
||||
_deps = []
|
||||
_output_jars = []
|
||||
foreach(dep, invoker.deps) {
|
||||
_dep_name = get_label_info(dep, "name")
|
||||
_source_jar = get_label_info(dep, "target_gen_dir") + "/" + _dep_name +
|
||||
"__compile_java.javac.jar"
|
||||
_output_jar = "$target_gen_dir/" + _dep_name + ".jar"
|
||||
|
||||
_copy_dep = dep + "__compile_java__javac"
|
||||
_copy_target_name = "${target_name}_${_dep_name}_copy"
|
||||
|
||||
copy(_copy_target_name) {
|
||||
sources = [
|
||||
_source_jar,
|
||||
]
|
||||
outputs = [
|
||||
_output_jar,
|
||||
]
|
||||
deps = [
|
||||
_copy_dep,
|
||||
]
|
||||
}
|
||||
_deps += [ ":" + _copy_target_name ]
|
||||
_output_jars += [ _output_jar ]
|
||||
}
|
||||
|
||||
action(target_name) {
|
||||
forward_variables_from(invoker, [ "data" ])
|
||||
script = "//build/android/gyp/create_dist_jar.py"
|
||||
depfile = "$target_gen_dir/$target_name.d"
|
||||
deps = _deps
|
||||
|
||||
outputs = [
|
||||
invoker.output,
|
||||
]
|
||||
|
||||
args = [
|
||||
"--depfile",
|
||||
rebase_path(depfile, root_build_dir),
|
||||
"--output",
|
||||
rebase_path(invoker.output, root_build_dir),
|
||||
]
|
||||
|
||||
foreach(output_jar, _output_jars) {
|
||||
args += [
|
||||
"--inputs",
|
||||
rebase_path(output_jar, root_build_dir),
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
java8_dist_jar("libwebrtc") {
|
||||
_target_dir_name = get_label_info(":$target_name", "dir")
|
||||
output = "${root_out_dir}/lib.java${_target_dir_name}/${target_name}.jar"
|
||||
direct_deps_only = true
|
||||
use_interface_jars = false
|
||||
requires_android = true
|
||||
|
||||
deps = [
|
||||
":libjingle_peerconnection_java",
|
||||
":libjingle_peerconnection_metrics_default_java",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user