From 3b3c4069082e00d0430e75ac242c6f0578e7a528 Mon Sep 17 00:00:00 2001 From: "andrew@webrtc.org" Date: Mon, 8 Dec 2014 17:21:50 +0000 Subject: [PATCH] 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 --- talk/libjingle.gyp | 30 +------------------ talk/libjingle_examples.gyp | 4 +-- talk/libjingle_tests.gyp | 57 ++++++++++++++++++++++++++++++------- 3 files changed, 49 insertions(+), 42 deletions(-) diff --git a/talk/libjingle.gyp b/talk/libjingle.gyp index 7bd23468f4..7405324f8f 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 34194a8dd2..f17fbfe7a4 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 3410737788..d853236da1 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")', {