Add GN targets for AppRTC Demo on Android.
Adds GN equivalents for following targets: AppRTCDemo -> //webrtc/examples:AppRTCDemo AppRTCDemo_apk -> //webrtc/examples:AppRTCDemo_lib (kind of) AppRTCDemoJUnitTest -> //webrtc/examples:AppRTCDemoJUnitTest AppRTCDemoTest -> //webrtc/examples:AppRTCDemoTest libjingle_peerconnection_java -> //webrtc/api/libjingle_peerconnection_java libjingle_peerconnection_so -> //webrtc/api/libjingle_peerconnection_so New GN targets: //webrtc/base:base_java //webrtc/examples:AppRTCDemo_resources //webrtc/examples/androidapp/third_party/autobanh:autobanh_java BUG=webrtc:6035 R=magjed@webrtc.org, tommi@webrtc.org Review URL: https://codereview.webrtc.org/2105803002 . Cr-Commit-Position: refs/heads/master@{#13322}
This commit is contained in:
@ -8,6 +8,10 @@
|
||||
|
||||
import("../build/webrtc.gni")
|
||||
import("//testing/test.gni")
|
||||
if (is_android) {
|
||||
import("//build/config/android/config.gni")
|
||||
import("//build/config/android/rules.gni")
|
||||
}
|
||||
|
||||
group("api") {
|
||||
deps = [
|
||||
@ -206,6 +210,79 @@ if (is_android && !build_with_chromium) {
|
||||
include_dirs += [ "$rtc_libyuv_dir/include" ]
|
||||
}
|
||||
}
|
||||
|
||||
shared_library("libjingle_peerconnection_so") {
|
||||
sources = [
|
||||
"java/jni/jni_onload.cc",
|
||||
]
|
||||
|
||||
configs -= [ "//build/config/android:hide_native_jni_exports" ]
|
||||
|
||||
deps = [
|
||||
":libjingle_peerconnection",
|
||||
":libjingle_peerconnection_jni",
|
||||
]
|
||||
}
|
||||
|
||||
android_library("libjingle_peerconnection_java") {
|
||||
java_files = [
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java",
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java",
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java",
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java",
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java",
|
||||
"../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java",
|
||||
"java/android/org/webrtc/Camera1Enumerator.java",
|
||||
"java/android/org/webrtc/Camera2Capturer.java",
|
||||
"java/android/org/webrtc/Camera2Enumerator.java",
|
||||
"java/android/org/webrtc/CameraEnumerationAndroid.java",
|
||||
"java/android/org/webrtc/CameraEnumerator.java",
|
||||
"java/android/org/webrtc/CameraVideoCapturer.java",
|
||||
"java/android/org/webrtc/EglBase.java",
|
||||
"java/android/org/webrtc/EglBase10.java",
|
||||
"java/android/org/webrtc/EglBase14.java",
|
||||
"java/android/org/webrtc/GlRectDrawer.java",
|
||||
"java/android/org/webrtc/GlShader.java",
|
||||
"java/android/org/webrtc/GlTextureFrameBuffer.java",
|
||||
"java/android/org/webrtc/GlUtil.java",
|
||||
"java/android/org/webrtc/NetworkMonitor.java",
|
||||
"java/android/org/webrtc/NetworkMonitorAutoDetect.java",
|
||||
"java/android/org/webrtc/RendererCommon.java",
|
||||
"java/android/org/webrtc/SurfaceTextureHelper.java",
|
||||
"java/android/org/webrtc/SurfaceViewRenderer.java",
|
||||
"java/android/org/webrtc/VideoCapturerAndroid.java",
|
||||
"java/android/org/webrtc/VideoRendererGui.java",
|
||||
"java/src/org/webrtc/AudioSource.java",
|
||||
"java/src/org/webrtc/AudioTrack.java",
|
||||
"java/src/org/webrtc/CallSessionFileRotatingLogSink.java",
|
||||
"java/src/org/webrtc/DataChannel.java",
|
||||
"java/src/org/webrtc/IceCandidate.java",
|
||||
"java/src/org/webrtc/MediaCodecVideoDecoder.java",
|
||||
"java/src/org/webrtc/MediaCodecVideoEncoder.java",
|
||||
"java/src/org/webrtc/MediaConstraints.java",
|
||||
"java/src/org/webrtc/MediaSource.java",
|
||||
"java/src/org/webrtc/MediaStream.java",
|
||||
"java/src/org/webrtc/MediaStreamTrack.java",
|
||||
"java/src/org/webrtc/Metrics.java",
|
||||
"java/src/org/webrtc/PeerConnection.java",
|
||||
"java/src/org/webrtc/PeerConnectionFactory.java",
|
||||
"java/src/org/webrtc/RtpParameters.java",
|
||||
"java/src/org/webrtc/RtpReceiver.java",
|
||||
"java/src/org/webrtc/RtpSender.java",
|
||||
"java/src/org/webrtc/SdpObserver.java",
|
||||
"java/src/org/webrtc/SessionDescription.java",
|
||||
"java/src/org/webrtc/StatsObserver.java",
|
||||
"java/src/org/webrtc/StatsReport.java",
|
||||
"java/src/org/webrtc/VideoCapturer.java",
|
||||
"java/src/org/webrtc/VideoRenderer.java",
|
||||
"java/src/org/webrtc/VideoSource.java",
|
||||
"java/src/org/webrtc/VideoTrack.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
"//webrtc/base:base_java",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
if (rtc_include_tests) {
|
||||
|
@ -12,6 +12,11 @@ import("../build/webrtc.gni")
|
||||
|
||||
import("//build_overrides/webrtc.gni")
|
||||
|
||||
if (is_android) {
|
||||
import("//build/config/android/config.gni")
|
||||
import("//build/config/android/rules.gni")
|
||||
}
|
||||
|
||||
config("rtc_base_approved_all_dependent_config") {
|
||||
if (is_mac && !build_with_chromium) {
|
||||
libs = [ "Foundation.framework" ] # needed for logging_mac.mm
|
||||
@ -679,3 +684,17 @@ if (rtc_include_tests) {
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
if (is_android) {
|
||||
android_library("base_java") {
|
||||
java_files = [
|
||||
"java/src/org/webrtc/Logging.java",
|
||||
"java/src/org/webrtc/Size.java",
|
||||
"java/src/org/webrtc/ThreadUtils.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
"//base:base_java",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
103
webrtc/examples/BUILD.gn
Normal file
103
webrtc/examples/BUILD.gn
Normal file
@ -0,0 +1,103 @@
|
||||
# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
if (is_android) {
|
||||
import("//build/config/android/config.gni")
|
||||
import("//build/config/android/rules.gni")
|
||||
}
|
||||
|
||||
group("examples") {
|
||||
deps = []
|
||||
|
||||
if (is_android && !build_with_chromium) {
|
||||
deps += [ ":AppRTCDemo" ]
|
||||
}
|
||||
}
|
||||
|
||||
if (is_android && !build_with_chromium) {
|
||||
android_apk("AppRTCDemo") {
|
||||
apk_name = "AppRTCDemo"
|
||||
android_manifest = "androidapp/AndroidManifest.xml"
|
||||
|
||||
deps = [
|
||||
":AppRTCDemo_lib",
|
||||
":AppRTCDemo_resources",
|
||||
"//base:base_java",
|
||||
"//webrtc/base:base_java",
|
||||
]
|
||||
|
||||
shared_libraries = [ "//webrtc/api:libjingle_peerconnection_so" ]
|
||||
}
|
||||
|
||||
android_library("AppRTCDemo_lib") {
|
||||
java_files = [
|
||||
"androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java",
|
||||
"androidapp/src/org/appspot/apprtc/AppRTCClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java",
|
||||
"androidapp/src/org/appspot/apprtc/CallActivity.java",
|
||||
"androidapp/src/org/appspot/apprtc/CallFragment.java",
|
||||
"androidapp/src/org/appspot/apprtc/CaptureQualityController.java",
|
||||
"androidapp/src/org/appspot/apprtc/ConnectActivity.java",
|
||||
"androidapp/src/org/appspot/apprtc/CpuMonitor.java",
|
||||
"androidapp/src/org/appspot/apprtc/DirectRTCClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/HudFragment.java",
|
||||
"androidapp/src/org/appspot/apprtc/PeerConnectionClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/PercentFrameLayout.java",
|
||||
"androidapp/src/org/appspot/apprtc/RoomParametersFetcher.java",
|
||||
"androidapp/src/org/appspot/apprtc/SettingsActivity.java",
|
||||
"androidapp/src/org/appspot/apprtc/SettingsFragment.java",
|
||||
"androidapp/src/org/appspot/apprtc/TCPChannelClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/UnhandledExceptionHandler.java",
|
||||
"androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java",
|
||||
"androidapp/src/org/appspot/apprtc/util/AppRTCUtils.java",
|
||||
"androidapp/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java",
|
||||
"androidapp/src/org/appspot/apprtc/util/LooperExecutor.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":AppRTCDemo_resources",
|
||||
"//webrtc/api:libjingle_peerconnection_java",
|
||||
"//webrtc/base:base_java",
|
||||
"//webrtc/examples/androidapp/third_party/autobanh:autobanh_java",
|
||||
]
|
||||
}
|
||||
|
||||
android_resources("AppRTCDemo_resources") {
|
||||
resource_dirs = [ "androidapp/res" ]
|
||||
custom_package = "org.appspot.apprtc"
|
||||
}
|
||||
|
||||
instrumentation_test_apk("AppRTCDemoTest") {
|
||||
apk_name = "AppRTCDemoTest"
|
||||
android_manifest = "androidtests/AndroidManifest.xml"
|
||||
|
||||
java_files = [ "androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java" ]
|
||||
|
||||
apk_under_test = ":AppRTCDemo"
|
||||
|
||||
deps = [
|
||||
":AppRTCDemo_lib",
|
||||
"//webrtc/api:libjingle_peerconnection_java",
|
||||
]
|
||||
}
|
||||
|
||||
junit_binary("AppRTCDemoJUnitTest") {
|
||||
java_files = [
|
||||
"androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java",
|
||||
"androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java",
|
||||
"androidjunit/src/org/appspot/apprtc/util/LooperExecutorTest.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":AppRTCDemo_lib",
|
||||
"//webrtc/api:libjingle_peerconnection_java",
|
||||
"//webrtc/api:libjingle_peerconnection_jni",
|
||||
]
|
||||
}
|
||||
}
|
13
webrtc/examples/androidapp/third_party/autobanh/BUILD.gn
vendored
Normal file
13
webrtc/examples/androidapp/third_party/autobanh/BUILD.gn
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
import("//build/config/android/rules.gni")
|
||||
|
||||
android_java_prebuilt("autobanh_java") {
|
||||
jar_path = "lib/autobanh.jar"
|
||||
}
|
@ -419,10 +419,10 @@
|
||||
'R_package': 'org.appspot.apprtc',
|
||||
'R_package_relpath': 'org/appspot/apprtc',
|
||||
'input_jars_paths': [
|
||||
'examples/androidapp/third_party/autobanh/autobanh.jar',
|
||||
'examples/androidapp/third_party/autobanh/lib/autobanh.jar',
|
||||
],
|
||||
'library_dexed_jars_paths': [
|
||||
'examples/androidapp/third_party/autobanh/autobanh.jar',
|
||||
'examples/androidapp/third_party/autobanh/lib/autobanh.jar',
|
||||
],
|
||||
'native_lib_target': 'libjingle_peerconnection_so',
|
||||
'add_to_dependents_classpaths':1,
|
||||
|
Reference in New Issue
Block a user