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

Side by Side Diff: tools/observatory_tool.py

Issue 1664403002: Fix unnecessary Observatory rebuilds in Flutter (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 | « runtime/observatory/observatory.gypi ('k') | no next file » | 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 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 """Helper for building and deploying Observatory""" 5 """Helper for building and deploying Observatory"""
6 6
7 import argparse 7 import argparse
8 import os 8 import os
9 import platform 9 import platform
10 import shutil 10 import shutil
(...skipping 11 matching lines...) Expand all
22 '*.scriptUrls', 22 '*.scriptUrls',
23 '*.precompiled.js', 23 '*.precompiled.js',
24 'main.*', 24 'main.*',
25 'unittest*', 25 'unittest*',
26 '*_buildLogs*', 26 '*_buildLogs*',
27 '*.log', 27 '*.log',
28 '*~') 28 '*~')
29 29
30 usage = """observatory_tool.py [options]""" 30 usage = """observatory_tool.py [options]"""
31 31
32 def CreateTimestampFile(options):
33 if options.stamp != '':
34 dir_name = os.path.dirname(options.stamp)
35 if dir_name != '':
36 if not os.path.exists(dir_name):
37 os.mkdir(dir_name)
38 open(options.stamp, 'w').close()
39
32 def BuildArguments(): 40 def BuildArguments():
33 result = argparse.ArgumentParser(usage=usage) 41 result = argparse.ArgumentParser(usage=usage)
34 result.add_argument("--package-root", help="package root", default=None) 42 result.add_argument("--package-root", help="package root", default=None)
35 result.add_argument("--dart-executable", help="dart executable", default=None) 43 result.add_argument("--dart-executable", help="dart executable", default=None)
36 result.add_argument("--pub-executable", help="pub executable", default=None) 44 result.add_argument("--pub-executable", help="pub executable", default=None)
37 result.add_argument("--directory", help="observatory root", default=None) 45 result.add_argument("--directory", help="observatory root", default=None)
38 result.add_argument("--command", help="[get, build, deploy]", default=None) 46 result.add_argument("--command", help="[get, build, deploy]", default=None)
39 result.add_argument("--silent", help="silence all output", default=None) 47 result.add_argument("--silent", help="silence all output", default=None)
40 result.add_argument("--sdk", help="Use prebuilt sdk", default=None) 48 result.add_argument("--sdk", help="Use prebuilt sdk", default=None)
49 result.add_argument("--stamp", help="Write a stamp file", default='')
41 return result 50 return result
42 51
43 def ProcessOptions(options, args): 52 def ProcessOptions(options, args):
44 # Fix broken boolean parsing in argparse, where False ends up being True. 53 # Fix broken boolean parsing in argparse, where False ends up being True.
45 if (options.silent is not None) and (options.silent == "True"): 54 if (options.silent is not None) and (options.silent == "True"):
46 options.silent = True 55 options.silent = True
47 elif (options.silent is None) or (options.silent == "False"): 56 elif (options.silent is None) or (options.silent == "False"):
48 options.silent = False 57 options.silent = False
49 else: 58 else:
50 print "--silent expects 'True' or 'False' argument." 59 print "--silent expects 'True' or 'False' argument."
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 if (options.dart_executable != None): 207 if (options.dart_executable != None):
199 options.dart_executable = os.path.abspath(options.dart_executable) 208 options.dart_executable = os.path.abspath(options.dart_executable)
200 if (options.pub_executable != None): 209 if (options.pub_executable != None):
201 options.pub_executable = os.path.abspath(options.pub_executable) 210 options.pub_executable = os.path.abspath(options.pub_executable)
202 if (options.pub_snapshot != None): 211 if (options.pub_snapshot != None):
203 options.pub_snapshot = os.path.abspath(options.pub_snapshot) 212 options.pub_snapshot = os.path.abspath(options.pub_snapshot)
204 if len(args) == 1: 213 if len(args) == 1:
205 args[0] = os.path.abspath(args[0]) 214 args[0] = os.path.abspath(args[0])
206 # Pub must be run from the project's root directory. 215 # Pub must be run from the project's root directory.
207 ChangeDirectory(options.directory) 216 ChangeDirectory(options.directory)
208 return ExecuteCommand(options, args) 217 result = ExecuteCommand(options, args)
218 if result == 0:
219 CreateTimestampFile(options)
220 return result
221
209 222
210 if __name__ == '__main__': 223 if __name__ == '__main__':
211 sys.exit(main()); 224 sys.exit(main());
OLDNEW
« no previous file with comments | « runtime/observatory/observatory.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698