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

Unified Diff: runtime/tools/create_resources.py

Issue 24844002: Initial GUI for VM service (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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
« runtime/bin/resources_sources.gypi ('K') | « runtime/bin/vmservice_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/tools/create_resources.py
diff --git a/runtime/tools/create_resources.py b/runtime/tools/create_resources.py
index e3a9c84cf65f37e3bdb239d04ffb801eb41e49b1..1e36420c1280b3baa36f80f29599868224e7651a 100644
--- a/runtime/tools/create_resources.py
+++ b/runtime/tools/create_resources.py
@@ -13,7 +13,7 @@ from optparse import OptionParser
import re
from datetime import date
-def makeResources(root_dir, input_files):
+def makeResources(root_dir, package_dir, third_party_dir, rebase, input_files):
result = ''
resources = []
@@ -21,8 +21,15 @@ def makeResources(root_dir, input_files):
for resource_file in input_files:
if root_dir and resource_file.startswith(root_dir):
resource_file_name = resource_file[ len(root_dir) : ]
+ elif package_dir and resource_file.startswith(package_dir):
+ resource_file_name = os.path.join(rebase,
+ resource_file[ len(package_dir) : ])
+ elif third_party_dir and resource_file.startswith(third_party_dir):
+ resource_file_name = os.path.join(rebase,
+ resource_file[ len(third_party_dir) : ])
else:
resource_file_name = resource_file
+
resource_url = '/%s' % resource_file_name
result += '// %s\n' % resource_file
result += 'const char '
@@ -54,7 +61,8 @@ def makeResources(root_dir, input_files):
return result
-def makeFile(output_file, root_dir, input_files):
+def makeFile(output_file, root_dir, package_dir, third_party_dir, rebase_dir,
+ input_files):
cc_text = '''
// Copyright (c) %d, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -64,12 +72,26 @@ def makeFile(output_file, root_dir, input_files):
cc_text += '#include "bin/resources.h"\n\n'
cc_text += 'namespace dart {\n'
cc_text += 'namespace bin {\n'
- cc_text += makeResources(root_dir, input_files)
+ cc_text += makeResources(root_dir, package_dir, third_party_dir, rebase_dir,
+ input_files)
cc_text += '} // namespace bin\n} // namespace dart\n'
open(output_file, 'w').write(cc_text)
return True
+def makeFileList(input_file_name, root_prefix, package_dir):
+ product_dir = '<(PRODUCT_DIR)/'
+ file = open(input_file_name, 'rb')
+ gyp_contents = eval(file.read())
+ files = []
+ for input_file in gyp_contents['sources']:
+ if input_file.startswith(product_dir):
+ files.append(os.path.join(package_dir, input_file[ len(product_dir) : ]))
+ else:
+ files.append(os.path.join(root_prefix, input_file))
+ return files
+
+
def main(args):
try:
# Parse input.
@@ -80,20 +102,42 @@ def main(args):
parser.add_option("--root_prefix",
action="store", type="string",
help="root directory for resources")
+ parser.add_option("--package_dir",
+ action="store", type="string",
+ help="root directory for package resources")
+ parser.add_option("--third_party_dir",
+ action="store", type="string",
+ help="root directory for third party resources")
+ parser.add_option("--rebase",
+ action="store", type="string",
+ help="base directory for package/third_party resources")
(options, args) = parser.parse_args()
if not options.output:
sys.stderr.write('--output not specified\n')
return -1
+ if not options.root_prefix:
+ sys.stderr.write('--root_prefix not specified\n')
+ return -1
+ if not options.package_dir:
+ sys.stderr.write('--package_dir not specified\n')
+ return -1
+ if not options.third_party_dir:
+ sys.stderr.write('--third_party_dir not specified\n')
+ return -1
+ if not options.rebase:
+ sys.stderr.write('--rebase not specified\n')
+ return -1
if len(args) == 0:
sys.stderr.write('No input files specified\n')
return -1
- files = [ ]
- for arg in args:
- files.append(arg)
+ files = makeFileList(args[0], options.root_prefix, options.package_dir)
+ for file in files:
+ print(file)
- if not makeFile(options.output, options.root_prefix, files):
+ if not makeFile(options.output, options.root_prefix, options.package_dir,
+ options.third_party_dir, options.rebase, files):
return -1
return 0
« runtime/bin/resources_sources.gypi ('K') | « runtime/bin/vmservice_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698