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 '<output_dir>/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}
diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni
index edbd153..d179ed4 100644
--- a/webrtc/build/webrtc.gni
+++ b/webrtc/build/webrtc.gni
@@ -323,32 +323,3 @@
}
}
}
-
-# 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 3764b5c..eaa3bc9 100644
--- a/webrtc/examples/BUILD.gn
+++ b/webrtc/examples/BUILD.gn
@@ -93,6 +93,7 @@
":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 e2b510c..4dc6760 100644
--- a/webrtc/modules/audio_device/BUILD.gn
+++ b/webrtc/modules/audio_device/BUILD.gn
@@ -347,8 +347,8 @@
}
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 @@
"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 cff8c21..2adcdb5 100644
--- a/webrtc/sdk/android/BUILD.gn
+++ b/webrtc/sdk/android/BUILD.gn
@@ -110,6 +110,19 @@
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 @@
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") {