From b55bd979725366ce12d84b08e921dc23618a0f74 Mon Sep 17 00:00:00 2001 From: mbonadei Date: Mon, 23 Jan 2017 01:25:53 -0800 Subject: [PATCH] Reland of Creating libwebrtc bundle jar (patchset #1 id:1 of https://codereview.webrtc.org/2640023010/ ) Reason for revert: It seems that we cannot skip the generation of "//webrtc/base/base_java" in chromium without some refactoring because it is included as a dependency in some places. Original issue's description: > Revert of Creating libwebrtc bundle jar (patchset #4 id:60001 of https://codereview.webrtc.org/2646443002/ ) > > Reason for revert: > This breaks some chromium.webrtc.fyi buildbots with the following error: > > ERROR Unresolved dependencies. > //third_party/webrtc/base:base(//build/toolchain/android:android_arm) > needs //third_party/webrtc/base:base_java(//build/toolchain/android:android_arm) > > > Original issue's description: > > Creating libwebrtc bundle jar > > > > Creates a JAR which includes: > > - //webrtc/base:base_java > > - //webrtc/modules/audio_device:audio_device_java > > - //webrtc/sdk/android:libjingle_peerconnection_java > > - //webrtc/sdk/android:libjingle_peerconnection_metrics_default_java > > > > The libwebrtc.jar file will be generated at '/lib.java/webrtc/sdk/android/libwebrtc.jar'. > > > > BUG=webrtc:6356 > > > > Review-Url: https://codereview.webrtc.org/2646443002 > > Cr-Commit-Position: refs/heads/master@{#16189} > > Committed: https://chromium.googlesource.com/external/webrtc/+/a62a82b7e7da5a1bbbf8b5614ef19334cc1603ce > > TBR=kjellander@webrtc.org,sakal@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6356 > > Review-Url: https://codereview.webrtc.org/2640023010 > Cr-Commit-Position: refs/heads/master@{#16190} > Committed: https://chromium.googlesource.com/external/webrtc/+/3c9151b9532b372a35f0b81cc7c6b34d820506e1 TBR=kjellander@webrtc.org,sakal@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6356 Review-Url: https://codereview.webrtc.org/2646093004 Cr-Commit-Position: refs/heads/master@{#16203} --- webrtc/build/webrtc.gni | 29 ---------------------------- webrtc/examples/BUILD.gn | 1 + webrtc/modules/audio_device/BUILD.gn | 7 +++++-- webrtc/sdk/android/BUILD.gn | 16 +++++++++++++-- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni index edbd15359e..d179ed4e7d 100644 --- a/webrtc/build/webrtc.gni +++ b/webrtc/build/webrtc.gni @@ -323,32 +323,3 @@ template("rtc_shared_library") { } } } - -# TODO(mbonadei): Merge this in android_library or create an -# rtc_android_library. Waiting for hints from chromium:648244. -if (is_android) { - template("android_shared_srcjar") { - action(target_name) { - check_includes = false - set_sources_assignment_filter([]) - assert(defined(invoker.sources)) - - forward_variables_from(invoker, - [ - "sources", - "testonly", - "visibility", - ]) - script = "//webrtc/build/generate_srcjar.py" - _srcjar_path = "${target_gen_dir}/${target_name}.srcjar" - _rebased_srcjar_path = rebase_path(_srcjar_path, root_build_dir) - _rebased_sources = rebase_path(invoker.sources, root_build_dir) - - args = [ "--srcjar=$_rebased_srcjar_path" ] + _rebased_sources - - outputs = [ - _srcjar_path, - ] - } - } -} diff --git a/webrtc/examples/BUILD.gn b/webrtc/examples/BUILD.gn index 3764b5c72c..eaa3bc9183 100644 --- a/webrtc/examples/BUILD.gn +++ b/webrtc/examples/BUILD.gn @@ -93,6 +93,7 @@ if (is_android) { ":AppRTCMobile_resources", "//webrtc/base:base_java", "//webrtc/examples/androidapp/third_party/autobanh:autobanh_java", + "//webrtc/modules/audio_device:audio_device_java", "//webrtc/sdk/android:libjingle_peerconnection_java", "//webrtc/sdk/android:libjingle_peerconnection_metrics_default_java", ] diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn index e2b510cd72..4dc6760144 100644 --- a/webrtc/modules/audio_device/BUILD.gn +++ b/webrtc/modules/audio_device/BUILD.gn @@ -347,8 +347,8 @@ if (rtc_include_tests) { } if (!build_with_chromium && is_android) { - android_shared_srcjar("audio_device_java") { - sources = [ + android_library("audio_device_java") { + java_files = [ "android/java/src/org/webrtc/voiceengine/BuildInfo.java", "android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java", "android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java", @@ -356,5 +356,8 @@ if (!build_with_chromium && is_android) { "android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java", "android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java", ] + deps = [ + "//webrtc/base:base_java", + ] } } diff --git a/webrtc/sdk/android/BUILD.gn b/webrtc/sdk/android/BUILD.gn index cff8c21457..2adcdb5c02 100644 --- a/webrtc/sdk/android/BUILD.gn +++ b/webrtc/sdk/android/BUILD.gn @@ -110,6 +110,19 @@ rtc_shared_library("libjingle_peerconnection_so") { output_extension = "so" } +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 + deps = [ + ":libjingle_peerconnection_java", + ":libjingle_peerconnection_metrics_default_java", + "//webrtc/base:base_java", + "//webrtc/modules/audio_device:audio_device_java", + ] +} + android_library("libjingle_peerconnection_java") { java_files = [ "api/org/webrtc/AudioSource.java", @@ -171,9 +184,8 @@ android_library("libjingle_peerconnection_java") { deps = [ "//webrtc/base:base_java", + "//webrtc/modules/audio_device:audio_device_java", ] - - srcjar_deps = [ "//webrtc/modules/audio_device:audio_device_java" ] } android_library("libjingle_peerconnection_metrics_default_java") {