[Webkit-unassigned] [Bug 95690] New: webkit_unit_tests-debug.apk does not include chromium_net.jar.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Sep 3 07:37:14 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=95690
Summary: webkit_unit_tests-debug.apk does not include
chromium_net.jar.
Product: WebKit
Version: 528+ (Nightly build)
Platform: Android
OS/Version: Unspecified
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Tools / Tests
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: pliard at chromium.org
CC: peter at chromium.org
Although webkit_unit_tests-debug.apk indirectly depends on 'net', its classes.dex file does not include classes from 'net_java' which can make some tests fail (see http://codereview.chromium.org/10916056/ which can be submitted once this issue is solved). Making webkit_support explicitly depend on 'net_java' does not solve the issue (i.e. the APK still does not include Java classes from net_java although net_java is built). The issue seems to come from the way we generate the APK.
>From WebKitUnitTests.gyp:
'target_name': 'webkit_unit_tests_apk',
'type': 'none',
'dependencies': [
'<(chromium_src_dir)/base/base.gyp:base_java',
'webkit_unit_tests',
],
'variables': {
'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)webkit_unit_tests<(SHARED_LIB_SUFFIX)',
'input_jars_paths': [
'<(PRODUCT_DIR)/lib.java/chromium_base.jar',
],
'conditions': [
['inside_chromium_build==1', {
'ant_build_to_chromium_src': '<(ant_build_out)/../../',
}, {
'ant_build_to_chromium_src': '<(ant_build_out)/../../Source/WebKit/chromium',
}],
],
},
# Part of the following was copied from <(chromium_src_dir)/build/apk_test.gpyi.
# Not including it because gyp include doesn't support variable in path or under
# conditions. And we also have some different requirements.
'actions': [{
'action_name': 'apk_webkit_unit_tests',
'message': 'Building webkit_unit_tests test apk.',
'inputs': [
'<(chromium_src_dir)/testing/android/AndroidManifest.xml',
'<(chromium_src_dir)/testing/android/generate_native_test.py',
'<(input_shlib_path)',
'<@(input_jars_paths)',
],
'outputs': [
'<(PRODUCT_DIR)/webkit_unit_tests_apk/webkit_unit_tests-debug.apk',
],
'action': [
'<(chromium_src_dir)/testing/android/generate_native_test.py',
'--native_library',
'<(input_shlib_path)',
'--jars',
'"<@(input_jars_paths)"',
'--output',
'<(PRODUCT_DIR)/webkit_unit_tests_apk',
'--strip-binary=<(android_strip)',
'--ant-args',
'-DANDROID_SDK=<(android_sdk)',
'--ant-args',
'-DANDROID_SDK_ROOT=<(android_sdk_root)',
'--ant-args',
'-DANDROID_SDK_TOOLS=<(android_sdk_tools)',
'--ant-args',
'-DANDROID_SDK_VERSION=<(android_sdk_version)',
'--ant-args',
'-DANDROID_TOOLCHAIN=<(android_toolchain)',
'--ant-args',
'-DPRODUCT_DIR=<(ant_build_out)',
'--ant-args',
'-DCHROMIUM_SRC=<(ant_build_to_chromium_src)',
'--sdk-build=<(sdk_build)',
'--app_abi',
'<(android_app_abi)',
],
}],
As you can see the dependency JARs that webkit_unit_tests-debug.apk includes are listed in 'input_jar_paths'. Right now only 'chromium_base.jar' is in the list although we also need 'chromium_net.jar'. Note that in the internal version of Chrome for Android (as opposed to upstream), the resulting APK does contain chromium_net.jar magically although it's not in the list mentioned earlier either. I didn't manage to figure out how it ends up in the APK.
What is the right way to make webkit_unit_tests-debug.apk include chromium_net.jar? Should it be listed in |input_jars_paths|, next to chromium_base.jar (which would be consistent at least)? I confirm that adding it there solves the issue upstream (i.e. classes.dex contains Java classes from 'net_java').
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list