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

Side by Side Diff: editor/build/build.py

Issue 22393002: First CL for removing our dependency on the checked-in binary for building (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « client/tools/buildbot_annotated_steps.py ('k') | editor/build/create_analyzer.xml » ('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 Dart project authors. Please see the AUTHORS file 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a 4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file. 5 # BSD-style license that can be found in the LICENSE file.
6 6
7 import glob 7 import glob
8 import gsutil
9 import hashlib
10 import imp
8 import optparse 11 import optparse
9 import os 12 import os
10 import re 13 import re
11 import shutil 14 import shutil
12 import subprocess 15 import subprocess
13 import sys 16 import sys
14 import tempfile 17 import tempfile
15 import gsutil
16 import ziputils 18 import ziputils
17 import hashlib
18 19
19 from os.path import join 20 from os.path import join
20 21
21 BUILD_OS = None 22 BUILD_OS = None
22 DART_PATH = None 23 DART_PATH = None
23 TOOLS_PATH = None 24 TOOLS_PATH = None
24 25
25 GSU_PATH_REV = None 26 GSU_PATH_REV = None
26 GSU_PATH_LATEST = None 27 GSU_PATH_LATEST = None
27 GSU_API_DOCS_PATH = None 28 GSU_API_DOCS_PATH = None
28 GSU_API_DOCS_BUCKET = 'gs://dartlang-api-docs' 29 GSU_API_DOCS_BUCKET = 'gs://dartlang-api-docs'
29 30
30 REVISION = None 31 REVISION = None
31 TRUNK_BUILD = None 32 TRUNK_BUILD = None
32 MILESTONE_BUILD = None 33 MILESTONE_BUILD = None
33 PLUGINS_BUILD = None 34 PLUGINS_BUILD = None
34 35
35 NO_UPLOAD = None 36 NO_UPLOAD = None
36 37
37 utils = None 38 def GetUtils():
39 '''Dynamically load the tools/utils.py python module.'''
40 dart_dir = os.path.abspath(os.path.join(__file__, '..', '..', '..'))
41 return imp.load_source('utils', os.path.join(dart_dir, 'tools', 'utils.py'))
42
43 utils = GetUtils()
38 44
39 class AntWrapper(object): 45 class AntWrapper(object):
40 """A wrapper for ant build invocations""" 46 """A wrapper for ant build invocations"""
41 47
42 _antpath = None 48 _antpath = None
43 _bzippath = None 49 _bzippath = None
44 _propertyfile = None 50 _propertyfile = None
45 51
46 def __init__(self, propertyfile, antpath='/usr/bin', bzippath=None): 52 def __init__(self, propertyfile, antpath='/usr/bin', bzippath=None):
47 """Initialize the ant path. 53 """Initialize the ant path.
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 help='builder name.', 170 help='builder name.',
165 action='store') 171 action='store')
166 result.add_option('-o', '--out', 172 result.add_option('-o', '--out',
167 help='Output Directory.', 173 help='Output Directory.',
168 action='store') 174 action='store')
169 result.add_option('--dest', 175 result.add_option('--dest',
170 help='Output Directory.', 176 help='Output Directory.',
171 action='store') 177 action='store')
172 return result 178 return result
173 179
174
175 def GetUtils(toolspath):
176 """Dynamically get the utils module.
177
178 We use a dynamic import for tools/util.py because we derive its location
179 dynamically using sys.argv[0]. This allows us to run this script from
180 different directories.
181
182 Args:
183 toolspath: the path to the tools directory
184
185 Returns:
186 the utils module
187 """
188 global utils
189 sys.path.append(os.path.abspath(toolspath))
190 utils = __import__('utils')
191 return utils
192
193
194 def main(): 180 def main():
195 """Main entry point for the build program.""" 181 """Main entry point for the build program."""
196 global BUILD_OS 182 global BUILD_OS
197 global DART_PATH 183 global DART_PATH
198 global TOOLS_PATH 184 global TOOLS_PATH
199 global GSU_PATH_REV 185 global GSU_PATH_REV
200 global GSU_API_DOCS_PATH 186 global GSU_API_DOCS_PATH
201 global GSU_PATH_LATEST 187 global GSU_PATH_LATEST
202 global REVISION 188 global REVISION
203 global TRUNK_BUILD 189 global TRUNK_BUILD
204 global MILESTONE_BUILD 190 global MILESTONE_BUILD
205 global PLUGINS_BUILD 191 global PLUGINS_BUILD
206 global NO_UPLOAD 192 global NO_UPLOAD
207 global utils
208 193
209 if not sys.argv: 194 if not sys.argv:
210 print 'Script pathname not known, giving up.' 195 print 'Script pathname not known, giving up.'
211 return 1 196 return 1
212 197
213 scriptdir = os.path.abspath(os.path.dirname(sys.argv[0])) 198 scriptdir = os.path.abspath(os.path.dirname(sys.argv[0]))
214 editorpath = os.path.abspath(os.path.join(scriptdir, '..')) 199 editorpath = os.path.abspath(os.path.join(scriptdir, '..'))
215 thirdpartypath = os.path.abspath(os.path.join(scriptdir, '..', '..', 200 thirdpartypath = os.path.abspath(os.path.join(scriptdir, '..', '..',
216 'third_party')) 201 'third_party'))
217 toolspath = os.path.abspath(os.path.join(scriptdir, '..', '..', 202 toolspath = os.path.abspath(os.path.join(scriptdir, '..', '..',
218 'tools')) 203 'tools'))
219 dartpath = os.path.abspath(os.path.join(scriptdir, '..', '..')) 204 dartpath = os.path.abspath(os.path.join(scriptdir, '..', '..'))
220 antpath = os.path.join(thirdpartypath, 'apache_ant', '1.8.4') 205 antpath = os.path.join(thirdpartypath, 'apache_ant', '1.8.4')
221 bzip2libpath = os.path.join(thirdpartypath, 'bzip2') 206 bzip2libpath = os.path.join(thirdpartypath, 'bzip2')
222 buildpath = os.path.join(editorpath, 'tools', 'features', 207 buildpath = os.path.join(editorpath, 'tools', 'features',
223 'com.google.dart.tools.deploy.feature_releng') 208 'com.google.dart.tools.deploy.feature_releng')
224 utils = GetUtils(toolspath)
225 buildos = utils.GuessOS() 209 buildos = utils.GuessOS()
226 210
227 BUILD_OS = utils.GuessOS() 211 BUILD_OS = utils.GuessOS()
228 DART_PATH = dartpath 212 DART_PATH = dartpath
229 TOOLS_PATH = toolspath 213 TOOLS_PATH = toolspath
230 214
231 if (os.environ.get('DART_NO_UPLOAD') is not None): 215 if (os.environ.get('DART_NO_UPLOAD') is not None):
232 NO_UPLOAD = True 216 NO_UPLOAD = True
233 217
234 # TODO(devoncarew): remove this hardcoded e:\ path 218 # TODO(devoncarew): remove this hardcoded e:\ path
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 """delete the given file - do not re-throw any exceptions that occur""" 1071 """delete the given file - do not re-throw any exceptions that occur"""
1088 if os.path.exists(f): 1072 if os.path.exists(f):
1089 try: 1073 try:
1090 os.remove(f) 1074 os.remove(f)
1091 except OSError: 1075 except OSError:
1092 print 'error deleting %s' % f 1076 print 'error deleting %s' % f
1093 1077
1094 1078
1095 if __name__ == '__main__': 1079 if __name__ == '__main__':
1096 sys.exit(main()) 1080 sys.exit(main())
OLDNEW
« no previous file with comments | « client/tools/buildbot_annotated_steps.py ('k') | editor/build/create_analyzer.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698