Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: build/android/gyp/write_build_config.py

Issue 2083683002: 🎄 Refactor: include apk_under_test.jar in full_class_path (and add TODO) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lint-resources
Patch Set: Refactor: include apk_under_test.jar in full_class_path (and add TODO) Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/gyp/write_build_config.py
diff --git a/build/android/gyp/write_build_config.py b/build/android/gyp/write_build_config.py
index c7501f36769b22dcdfd8c9530359fe04df23612f..2a1c19ff00ee8f631ba1e9aadc87b2b25b6d303a 100755
--- a/build/android/gyp/write_build_config.py
+++ b/build/android/gyp/write_build_config.py
@@ -355,8 +355,6 @@ def main(argv):
str(deps_not_support_android))
if options.type in ('java_binary', 'java_library', 'android_apk'):
- javac_classpath = [c['jar_path'] for c in direct_library_deps]
- java_full_classpath = [c['jar_path'] for c in all_library_deps]
deps_info['resources_deps'] = [c['path'] for c in all_resources_deps]
deps_info['jar_path'] = options.jar_path
if options.type == 'android_apk' or options.supports_android:
@@ -468,35 +466,42 @@ def main(argv):
if options.type in ['android_apk', 'deps_dex']:
deps_dex_files = [c['dex_path'] for c in all_library_deps]
- proguard_enabled = options.proguard_enabled
- if options.type == 'android_apk':
- deps_info['proguard_enabled'] = proguard_enabled
-
- if proguard_enabled:
- deps_info['proguard_info'] = options.proguard_info
- config['proguard'] = {}
- proguard_config = config['proguard']
- proguard_config['input_paths'] = [options.jar_path] + java_full_classpath
+ if options.type in ('java_binary', 'java_library', 'android_apk'):
+ javac_classpath = [c['jar_path'] for c in direct_library_deps]
+ java_full_classpath = [c['jar_path'] for c in all_library_deps]
# An instrumentation test apk should exclude the dex files that are in the apk
# under test.
if options.type == 'android_apk' and options.tested_apk_config:
- tested_apk_library_deps = tested_apk_deps.All('java_library')
- tested_apk_deps_dex_files = [c['dex_path'] for c in tested_apk_library_deps]
+ tested_apk_config = GetDepConfig(options.tested_apk_config)
+
+ expected_tested_package = tested_apk_config['package_name']
+ AndroidManifest(options.android_manifest).CheckInstrumentation(
+ expected_tested_package)
+ if tested_apk_config['proguard_enabled']:
+ assert options.proguard_enabled, ('proguard must be enabled for '
+ 'instrumentation apks if it\'s enabled for the tested apk.')
+
# Include in the classpath classes that are added directly to the apk under
# test (those that are not a part of a java_library).
- tested_apk_config = GetDepConfig(options.tested_apk_config)
javac_classpath.append(tested_apk_config['jar_path'])
+ java_full_classpath.append(tested_apk_config['jar_path'])
+
# Exclude dex files from the test apk that exist within the apk under test.
+ # TODO(agrieve): When proguard is enabled, this filtering logic happens
+ # within proguard_util.py. Move the logic for the proguard case into
+ # here as well.
+ tested_apk_library_deps = tested_apk_deps.All('java_library')
+ tested_apk_deps_dex_files = [c['dex_path'] for c in tested_apk_library_deps]
deps_dex_files = [
p for p in deps_dex_files if not p in tested_apk_deps_dex_files]
- expected_tested_package = tested_apk_config['package_name']
- AndroidManifest(options.android_manifest).CheckInstrumentation(
- expected_tested_package)
- if tested_apk_config['proguard_enabled']:
- assert proguard_enabled, ('proguard must be enabled for instrumentation'
- ' apks if it\'s enabled for the tested apk')
+ if options.type == 'android_apk':
+ deps_info['proguard_enabled'] = options.proguard_enabled
+ deps_info['proguard_info'] = options.proguard_info
+ config['proguard'] = {}
+ proguard_config = config['proguard']
+ proguard_config['input_paths'] = [options.jar_path] + java_full_classpath
# Dependencies for the final dex file of an apk or a 'deps_dex'.
if options.type in ['android_apk', 'deps_dex']:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698