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

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

Issue 379333003: Add beginnings of android_apk and unittest_apk templates (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-filearg
Patch Set: Rebase Created 6 years, 5 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 | « build/android/gyp/process_resources.py ('k') | build/config/android/internal_rules.gni » ('j') | 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 01f9fb347bb3256767a7ccbc80bfafce71c53c3d..67e4a58aee9426590fc196553ebddb6d04316074 100755
--- a/build/android/gyp/write_build_config.py
+++ b/build/android/gyp/write_build_config.py
@@ -66,11 +66,11 @@ def main(argv):
'dependencies may not write build_config files. Missing build_config '
'files are handled differently based on the type of this target.')
- # android_resources options
+ # android_resources/apk options
parser.add_option('--srcjar', help='Path to target\'s resources srcjar.')
parser.add_option('--resources-zip', help='Path to target\'s resources zip.')
- # android_library options
+ # android_library/apk options
parser.add_option('--jar-path', help='Path to target\'s jar output.')
options, args = parser.parse_args(argv)
@@ -78,25 +78,34 @@ def main(argv):
if args:
parser.error('No positional arguments should be given.')
- required_options = ('build_config', 'type')
- build_utils.CheckOptions(options, parser, required_options)
if not options.type in [
- 'android_library', 'android_resources']:
+ 'android_library', 'android_resources', 'android_apk']:
raise Exception('Unknown type: <%s>' % options.type)
- if options.type == 'android_library':
- required_options = ('jar_path',)
- build_utils.CheckOptions(options, parser, required_options)
- possible_deps_configs = build_utils.ParseGypList(
+ required_options = ['build_config'] + {
+ 'android_library': ['jar_path'],
+ 'android_resources': ['resources_zip'],
+ 'android_apk': ['jar_path', 'resources_zip']
+ }[options.type]
+
+ build_utils.CheckOptions(options, parser, required_options)
+
+ possible_deps_config_paths = build_utils.ParseGypList(
options.possible_deps_configs)
- for c in possible_deps_configs:
- if not os.path.exists(c):
- # Currently we only allow deps to things that write build_config files.
- raise Exception('Unknown dep type: ' + c)
- direct_deps_config_paths = possible_deps_configs
+
+
+
+ allow_unknown_deps = options.type == 'android_apk'
+ unknown_deps = [
+ c for c in possible_deps_config_paths if not os.path.exists(c)]
+ if unknown_deps and not allow_unknown_deps:
+ raise Exception('Unknown deps: ' + unknown_deps)
+
+ direct_deps_config_paths = [
+ c for c in possible_deps_config_paths if not c in unknown_deps]
all_deps_config_paths = GetAllDepsConfigsInOrder(direct_deps_config_paths)
direct_deps_configs = [GetDepConfig(p) for p in direct_deps_config_paths]
@@ -115,8 +124,9 @@ def main(argv):
}
deps_info = config['deps_info']
- if options.type == 'android_library':
+ if options.type in ['android_library', 'android_apk']:
javac_classpath = [c['jar_path'] for c in direct_library_deps]
+ deps_info['resources_deps'] = [c['path'] for c in all_resources_deps]
deps_info['jar_path'] = options.jar_path
config['javac'] = {
'classpath': javac_classpath,
@@ -128,10 +138,11 @@ def main(argv):
config['javac']['srcjars'] = [
c['srcjar'] for c in all_resources_deps if 'srcjar' in c]
- if options.type == 'android_resources':
+ if options.type == 'android_resources' or options.type == 'android_apk':
deps_info['resources_zip'] = options.resources_zip
if options.srcjar:
deps_info['srcjar'] = options.srcjar
+
config['resources'] = {}
config['resources']['dependency_zips'] = [
c['resources_zip'] for c in all_resources_deps]
« no previous file with comments | « build/android/gyp/process_resources.py ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698