Revert "Revert 7826 "Change Android PeerConnectionUnittest to build usin...""

Original cl description:

Change Android PeerConnectionUnittest to build using Chrome macros.
The purpose is to be able to run the tests using Chromes buildbots. To run:
CHECKOUT_SOURCE_ROOT=`pwd` build/android/test_runner.py instrumentation --test-apk=libjingle_peerconnection_android_unittest

This also add a new build target to build java PeerConnection using Chromes build macros.

BUG=4031
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7874 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
perkj@webrtc.org 2014-12-11 12:25:57 +00:00
parent 626c09f6a3
commit 128fabaf7b
3 changed files with 42 additions and 49 deletions

View File

@ -45,7 +45,7 @@
'targets': [ 'targets': [
{ {
'target_name': 'libjingle_peerconnection_so', 'target_name': 'libjingle_peerconnection_so',
'type': 'loadable_module', 'type': 'shared_library',
'dependencies': [ 'dependencies': [
'libjingle_peerconnection', 'libjingle_peerconnection',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc', '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
@ -159,6 +159,34 @@
}, },
], ],
}], }],
['OS=="android"', {
'targets': [
{
# |libjingle_peerconnection_java| builds a jar file with name
# libjingle_peerconnection_java.jar using Chromes build system.
# It includes all Java files needed to setup a PeeerConnection call
# from Android.
# TODO(perkj): Consider replacing the use of
# libjingle_peerconnection_jar with this target everywhere.
'target_name': 'libjingle_peerconnection_java',
'type': 'none',
'dependencies': [
'libjingle_peerconnection_so',
],
'variables': {
'java_in_dir': 'app/webrtc/java',
'webrtc_modules_dir': '<(webrtc_root)/modules',
'additional_src_dirs' : [
'app/webrtc/java/android',
'<(webrtc_modules_dir)/audio_device/android/java/src',
'<(webrtc_modules_dir)/video_capture/android/java/src',
'<(webrtc_modules_dir)/video_render/android/java/src',
],
},
'includes': ['../build/java.gypi'],
}, # libjingle_peerconnection_java
]
}],
['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', { ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
# The >= 10.7 above is required for ARC. # The >= 10.7 above is required for ARC.
'targets': [ 'targets': [

View File

@ -361,7 +361,7 @@
'action_name': 'build_apprtcdemo_apk', 'action_name': 'build_apprtcdemo_apk',
'inputs' : [ 'inputs' : [
'<(PRODUCT_DIR)/libjingle_peerconnection.jar', '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
'<(PRODUCT_DIR)/libjingle_peerconnection_so.so', '<(PRODUCT_DIR)/lib/libjingle_peerconnection_so.so',
'examples/android/AndroidManifest.xml', 'examples/android/AndroidManifest.xml',
'examples/android/README', 'examples/android/README',
'examples/android/ant.properties', 'examples/android/ant.properties',
@ -424,7 +424,7 @@
'mkdir -p examples/android/libs/<(android_app_abi) && ' 'mkdir -p examples/android/libs/<(android_app_abi) && '
'cp <(PRODUCT_DIR)/libjingle_peerconnection.jar examples/android/libs/ &&' 'cp <(PRODUCT_DIR)/libjingle_peerconnection.jar examples/android/libs/ &&'
'cp examples/android/third_party/autobanh/autobanh.jar examples/android/libs/ &&' 'cp examples/android/third_party/autobanh/autobanh.jar examples/android/libs/ &&'
'<(android_strip) -o examples/android/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/libjingle_peerconnection_so.so &&' '<(android_strip) -o examples/android/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/lib/libjingle_peerconnection_so.so &&'
'cd examples/android && ' 'cd examples/android && '
'{ ANDROID_SDK_ROOT=<(android_sdk_root) ' '{ ANDROID_SDK_ROOT=<(android_sdk_root) '
'ant debug > <(ant_log) 2>&1 || ' 'ant debug > <(ant_log) 2>&1 || '

View File

@ -320,53 +320,18 @@
'target_name': 'libjingle_peerconnection_android_unittest', 'target_name': 'libjingle_peerconnection_android_unittest',
'type': 'none', 'type': 'none',
'dependencies': [ 'dependencies': [
'libjingle.gyp:libjingle_peerconnection_jar', 'libjingle.gyp:libjingle_peerconnection_java',
], ],
'actions': [ 'variables': {
{ 'apk_name': 'libjingle_peerconnection_android_unittest',
# TODO(perkj): convert from a custom script to a standard gyp 'java_in_dir': 'app/webrtc/androidtests',
# apk build once chromium's apk-building gyp machinery can be used 'resource_dir': 'app/webrtc/androidtests/res',
# (http://crbug.com/225101) 'additional_src_dirs': ['app/webrtc/java/testcommon'],
'action_name': 'build_peerconnection_unittests_apk', 'native_lib_target': 'libjingle_peerconnection_so',
'inputs' : [ 'is_test_apk': 1,
'<(PRODUCT_DIR)/libjingle_peerconnection.jar', },
'<(PRODUCT_DIR)/libjingle_peerconnection_so.so', 'includes': [ '../build/java_apk.gypi' ],
'app/webrtc/androidtests/AndroidManifest.xml', },
'app/webrtc/androidtests/ant.properties',
'app/webrtc/androidtests/build.xml',
'app/webrtc/androidtests/jni/Android.mk',
'app/webrtc/androidtests/project.properties',
'app/webrtc/androidtests/res/drawable-hdpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-ldpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-mdpi/ic_launcher.png',
'app/webrtc/androidtests/res/drawable-xhdpi/ic_launcher.png',
'app/webrtc/androidtests/res/values/strings.xml',
'app/webrtc/androidtests/src/org/webrtc/PeerConnectionAndroidTest.java',
'app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java',
],
'outputs': [
'<(PRODUCT_DIR)/libjingle_peerconnection_android_unittest.apk',
],
'variables': {
'ant_log': '../../../<(INTERMEDIATE_DIR)/ant.log', # ../.. to compensate for the cd app/webrtc/androidtests below.
},
'action': [
'bash', '-ec',
'rm -fr <(_outputs) app/webrtc/androidtests/{bin,libs} && '
'mkdir -p <(INTERMEDIATE_DIR) && ' # Must happen _before_ the cd below
'mkdir -p app/webrtc/androidtests/libs/<(android_app_abi) && '
'cp <(PRODUCT_DIR)/libjingle_peerconnection.jar app/webrtc/androidtests/libs/ &&'
'<(android_strip) -o app/webrtc/androidtests/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/libjingle_peerconnection_so.so &&'
'cd app/webrtc/androidtests && '
'{ ANDROID_SDK_ROOT=<(android_sdk_root) '
'ant debug > <(ant_log) 2>&1 || '
' { cat <(ant_log) ; exit 1; } } && '
'cd - > /dev/null && '
'cp app/webrtc/androidtests/bin/libjingle_peerconnection_android_unittest-debug.apk <(_outputs)'
],
},
],
}, # target AppRTCDemo
], # targets ], # targets
}], # OS=="android" }], # OS=="android"
['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', { ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {