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

Side by Side Diff: build/android/gyp/process_resources.py

Issue 507523002: Add content_shell_apk target (and a bunch of its dependencies) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix PageTransitionTypes.template path Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « build/android/gyp/package_resources.py ('k') | build/android/gyp/util/build_utils.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Process Android resources to generate R.java, and prepare for packaging. 7 """Process Android resources to generate R.java, and prepare for packaging.
8 8
9 This will crunch images and generate v14 compatible resources 9 This will crunch images and generate v14 compatible resources
10 (see generate_v14_compatible_resources.py). 10 (see generate_v14_compatible_resources.py).
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 for root, _, files in os.walk(d): 148 for root, _, files in os.walk(d):
149 for f in files: 149 for f in files:
150 archive_path = os.path.join(os.path.relpath(root, d), f) 150 archive_path = os.path.join(os.path.relpath(root, d), f)
151 path = os.path.join(root, f) 151 path = os.path.join(root, f)
152 files_to_zip[archive_path] = path 152 files_to_zip[archive_path] = path
153 with zipfile.ZipFile(zip_path, 'w') as outzip: 153 with zipfile.ZipFile(zip_path, 'w') as outzip:
154 for archive_path, path in files_to_zip.iteritems(): 154 for archive_path, path in files_to_zip.iteritems():
155 outzip.write(path, archive_path) 155 outzip.write(path, archive_path)
156 156
157 157
158 def CombineZips(zip_files, output_path):
159 # When packaging resources, if the top-level directories in the zip file are
160 # of the form 0, 1, ..., then each subdirectory will be passed to aapt as a
161 # resources directory. While some resources just clobber others (image files,
162 # etc), other resources (particularly .xml files) need to be more
163 # intelligently merged. That merging is left up to aapt.
164 with zipfile.ZipFile(output_path, 'w') as outzip:
165 for i, z in enumerate(zip_files):
166 with zipfile.ZipFile(z, 'r') as inzip:
167 for name in inzip.namelist():
168 new_name = '%d/%s' % (i, name)
169 outzip.writestr(new_name, inzip.read(name))
170
171
158 def main(): 172 def main():
159 args = build_utils.ExpandFileArgs(sys.argv[1:]) 173 args = build_utils.ExpandFileArgs(sys.argv[1:])
160 174
161 options = ParseArgs(args) 175 options = ParseArgs(args)
162 android_jar = os.path.join(options.android_sdk, 'android.jar') 176 android_jar = os.path.join(options.android_sdk, 'android.jar')
163 aapt = os.path.join(options.android_sdk_tools, 'aapt') 177 aapt = os.path.join(options.android_sdk_tools, 'aapt')
164 178
165 input_files = [] 179 input_files = []
166 180
167 with build_utils.TempDir() as temp_dir: 181 with build_utils.TempDir() as temp_dir:
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 zip_resource_dirs.append(crunch_dir) 255 zip_resource_dirs.append(crunch_dir)
242 aapt_cmd = [aapt, 256 aapt_cmd = [aapt,
243 'crunch', 257 'crunch',
244 '-C', crunch_dir, 258 '-C', crunch_dir,
245 '-S', d] 259 '-S', d]
246 build_utils.CheckOutput(aapt_cmd, fail_func=DidCrunchFail) 260 build_utils.CheckOutput(aapt_cmd, fail_func=DidCrunchFail)
247 261
248 ZipResources(zip_resource_dirs, options.resource_zip_out) 262 ZipResources(zip_resource_dirs, options.resource_zip_out)
249 263
250 if options.all_resources_zip_out: 264 if options.all_resources_zip_out:
251 ZipResources( 265 CombineZips([options.resource_zip_out] + dep_zips,
252 zip_resource_dirs + dep_subdirs, options.all_resources_zip_out) 266 options.all_resources_zip_out)
253 267
254 if options.R_dir: 268 if options.R_dir:
255 build_utils.DeleteDirectory(options.R_dir) 269 build_utils.DeleteDirectory(options.R_dir)
256 shutil.copytree(gen_dir, options.R_dir) 270 shutil.copytree(gen_dir, options.R_dir)
257 else: 271 else:
258 build_utils.ZipDir(options.srcjar_out, gen_dir) 272 build_utils.ZipDir(options.srcjar_out, gen_dir)
259 273
260 if options.depfile: 274 if options.depfile:
261 input_files += build_utils.GetPythonDependencies() 275 input_files += build_utils.GetPythonDependencies()
262 build_utils.WriteDepfile(options.depfile, input_files) 276 build_utils.WriteDepfile(options.depfile, input_files)
263 277
264 if options.stamp: 278 if options.stamp:
265 build_utils.Touch(options.stamp) 279 build_utils.Touch(options.stamp)
266 280
267 281
268 if __name__ == '__main__': 282 if __name__ == '__main__':
269 main() 283 main()
OLDNEW
« no previous file with comments | « build/android/gyp/package_resources.py ('k') | build/android/gyp/util/build_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698