Revert 7826 "Change Android PeerConnectionUnittest to build usin..."
Broke gclient runhooks on internal bots. e.g.
http://chromegw/i/internal.client.webrtc/builders/Linux64%20Debug/builds/3575
> 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/28189004
TBR=perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32709004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7829 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/libjingle.gyp b/talk/libjingle.gyp
index 7bd2346..7405324 100755
--- a/talk/libjingle.gyp
+++ b/talk/libjingle.gyp
@@ -45,7 +45,7 @@
'targets': [
{
'target_name': 'libjingle_peerconnection_so',
- 'type': 'shared_library',
+ 'type': 'loadable_module',
'dependencies': [
'libjingle_peerconnection',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
@@ -159,34 +159,6 @@
},
],
}],
- ['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")', {
# The >= 10.7 above is required for ARC.
'targets': [
diff --git a/talk/libjingle_examples.gyp b/talk/libjingle_examples.gyp
index 34194a8..f17fbfe 100755
--- a/talk/libjingle_examples.gyp
+++ b/talk/libjingle_examples.gyp
@@ -321,7 +321,7 @@
'action_name': 'build_apprtcdemo_apk',
'inputs' : [
'<(PRODUCT_DIR)/libjingle_peerconnection.jar',
- '<(PRODUCT_DIR)/lib/libjingle_peerconnection_so.so',
+ '<(PRODUCT_DIR)/libjingle_peerconnection_so.so',
'examples/android/AndroidManifest.xml',
'examples/android/README',
'examples/android/ant.properties',
@@ -384,7 +384,7 @@
'mkdir -p examples/android/libs/<(android_app_abi) && '
'cp <(PRODUCT_DIR)/libjingle_peerconnection.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)/lib/libjingle_peerconnection_so.so &&'
+ '<(android_strip) -o examples/android/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/libjingle_peerconnection_so.so &&'
'cd examples/android && '
'{ ANDROID_SDK_ROOT=<(android_sdk_root) '
'ant debug > <(ant_log) 2>&1 || '
diff --git a/talk/libjingle_tests.gyp b/talk/libjingle_tests.gyp
index 3410737..d853236 100755
--- a/talk/libjingle_tests.gyp
+++ b/talk/libjingle_tests.gyp
@@ -320,18 +320,53 @@
'target_name': 'libjingle_peerconnection_android_unittest',
'type': 'none',
'dependencies': [
- 'libjingle.gyp:libjingle_peerconnection_java',
+ 'libjingle.gyp:libjingle_peerconnection_jar',
],
- 'variables': {
- 'apk_name': 'libjingle_peerconnection_android_unittest',
- 'java_in_dir': 'app/webrtc/androidtests',
- 'resource_dir': 'app/webrtc/androidtests/res',
- 'additional_src_dirs': ['app/webrtc/java/testcommon'],
- 'native_lib_target': 'libjingle_peerconnection_so',
- 'is_test_apk': 1,
- },
- 'includes': [ '../build/java_apk.gypi' ],
- },
+ 'actions': [
+ {
+ # TODO(perkj): convert from a custom script to a standard gyp
+ # apk build once chromium's apk-building gyp machinery can be used
+ # (http://crbug.com/225101)
+ 'action_name': 'build_peerconnection_unittests_apk',
+ 'inputs' : [
+ '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
+ '<(PRODUCT_DIR)/libjingle_peerconnection_so.so',
+ '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
}], # OS=="android"
['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {