OLD | NEW |
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 # A script which will be invoked from gyp to create an SDK. | 7 # A script which will be invoked from gyp to create an SDK. |
8 # | 8 # |
9 # Usage: create_sdk.py sdk_directory | 9 # Usage: create_sdk.py sdk_directory |
10 # | 10 # |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 dest = open(path, 'w') | 89 dest = open(path, 'w') |
90 dest.write(contents) | 90 dest.write(contents) |
91 dest.close() | 91 dest.close() |
92 | 92 |
93 | 93 |
94 def Copy(src, dest): | 94 def Copy(src, dest): |
95 copyfile(src, dest) | 95 copyfile(src, dest) |
96 copymode(src, dest) | 96 copymode(src, dest) |
97 | 97 |
98 # TODO(zundel): this excludes the analyzer from the sdk build until builders | |
99 # have all prerequisite software installed. Also update dart.gyp. | |
100 def ShouldCopyAnalyzer(): | |
101 os = utils.GuessOS(); | |
102 return os == 'linux' or os == 'macos' | |
103 | |
104 | 98 |
105 def CopyShellScript(src_file, dest_dir): | 99 def CopyShellScript(src_file, dest_dir): |
106 '''Copies a shell/batch script to the given destination directory. Handles | 100 '''Copies a shell/batch script to the given destination directory. Handles |
107 using the appropriate platform-specific file extension.''' | 101 using the appropriate platform-specific file extension.''' |
108 file_extension = '' | 102 file_extension = '' |
109 if utils.GuessOS() == 'win32': | 103 if utils.GuessOS() == 'win32': |
110 file_extension = '.bat' | 104 file_extension = '.bat' |
111 | 105 |
112 src = src_file + file_extension | 106 src = src_file + file_extension |
113 dest = join(dest_dir, basename(src_file) + file_extension) | 107 dest = join(dest_dir, basename(src_file) + file_extension) |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 dart_file_extension = '.exe' | 185 dart_file_extension = '.exe' |
192 analyzer_file_extension = '.bat' # TODO(zundel): test on Windows | 186 analyzer_file_extension = '.bat' # TODO(zundel): test on Windows |
193 dart_import_lib_src = join(HOME, build_dir, 'dart.lib') | 187 dart_import_lib_src = join(HOME, build_dir, 'dart.lib') |
194 dart_import_lib_dest = join(BIN, 'dart.lib') | 188 dart_import_lib_dest = join(BIN, 'dart.lib') |
195 copyfile(dart_import_lib_src, dart_import_lib_dest) | 189 copyfile(dart_import_lib_src, dart_import_lib_dest) |
196 dart_src_binary = join(HOME, build_dir, 'dart' + dart_file_extension) | 190 dart_src_binary = join(HOME, build_dir, 'dart' + dart_file_extension) |
197 dart_dest_binary = join(BIN, 'dart' + dart_file_extension) | 191 dart_dest_binary = join(BIN, 'dart' + dart_file_extension) |
198 copyfile(dart_src_binary, dart_dest_binary) | 192 copyfile(dart_src_binary, dart_dest_binary) |
199 copymode(dart_src_binary, dart_dest_binary) | 193 copymode(dart_src_binary, dart_dest_binary) |
200 | 194 |
201 if ShouldCopyAnalyzer(): | 195 ANALYZER_HOME = join(HOME, build_dir, 'analyzer') |
202 # Copy analyzer into sdk/bin | 196 dart_analyzer_src_binary = join(ANALYZER_HOME, 'bin', 'dart_analyzer') |
203 ANALYZER_HOME = join(HOME, build_dir, 'analyzer') | 197 dart_analyzer_dest_binary = join(BIN, |
204 dart_analyzer_src_binary = join(ANALYZER_HOME, 'bin', 'dart_analyzer') | 198 'dart_analyzer' + analyzer_file_extension) |
205 dart_analyzer_dest_binary = join(BIN, | 199 copyfile(dart_analyzer_src_binary, dart_analyzer_dest_binary) |
206 'dart_analyzer' + analyzer_file_extension) | 200 copymode(dart_analyzer_src_binary, dart_analyzer_dest_binary) |
207 copyfile(dart_analyzer_src_binary, dart_analyzer_dest_binary) | |
208 copymode(dart_analyzer_src_binary, dart_analyzer_dest_binary) | |
209 | 201 |
210 # Create pub shell script. | 202 # Create pub shell script. |
211 pub_src_script = join(HOME, 'utils', 'pub', 'sdk', 'pub') | 203 pub_src_script = join(HOME, 'utils', 'pub', 'sdk', 'pub') |
212 CopyShellScript(pub_src_script, BIN) | 204 CopyShellScript(pub_src_script, BIN) |
213 | 205 |
214 # | 206 # |
215 # Create and populate sdk/include. | 207 # Create and populate sdk/include. |
216 # | 208 # |
217 INCLUDE = join(SDK_tmp, 'include') | 209 INCLUDE = join(SDK_tmp, 'include') |
218 os.makedirs(INCLUDE) | 210 os.makedirs(INCLUDE) |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 dest_file.write('#source("runtime/' + filename + '");\n') | 414 dest_file.write('#source("runtime/' + filename + '");\n') |
423 for filename in coreimpl_runtime_sources: | 415 for filename in coreimpl_runtime_sources: |
424 if filename.endswith('.dart'): | 416 if filename.endswith('.dart'): |
425 dest_file.write('#source("runtime/' + filename + '");\n') | 417 dest_file.write('#source("runtime/' + filename + '");\n') |
426 dest_file.close() | 418 dest_file.close() |
427 | 419 |
428 # Create and copy tools. | 420 # Create and copy tools. |
429 UTIL = join(SDK_tmp, 'util') | 421 UTIL = join(SDK_tmp, 'util') |
430 os.makedirs(UTIL) | 422 os.makedirs(UTIL) |
431 | 423 |
432 if ShouldCopyAnalyzer(): | 424 # Create and copy Analyzer library into 'util' |
433 # Create and copy Analyzer library into 'util' | 425 ANALYZER_DEST = join(UTIL, 'analyzer') |
434 ANALYZER_DEST = join(UTIL, 'analyzer') | 426 os.makedirs(ANALYZER_DEST) |
435 os.makedirs(ANALYZER_DEST) | |
436 | 427 |
437 analyzer_src_jar = join(ANALYZER_HOME, 'util', 'analyzer', | 428 analyzer_src_jar = join(ANALYZER_HOME, 'util', 'analyzer', |
438 'dart_analyzer.jar') | 429 'dart_analyzer.jar') |
439 analyzer_dest_jar = join(ANALYZER_DEST, 'dart_analyzer.jar') | 430 analyzer_dest_jar = join(ANALYZER_DEST, 'dart_analyzer.jar') |
440 copyfile(analyzer_src_jar, analyzer_dest_jar) | 431 copyfile(analyzer_src_jar, analyzer_dest_jar) |
441 | 432 |
442 jarsToCopy = [ join("args4j", "2.0.12", "args4j-2.0.12.jar"), | 433 jarsToCopy = [ join("args4j", "2.0.12", "args4j-2.0.12.jar"), |
443 join("guava", "r09", "guava-r09.jar"), | 434 join("guava", "r09", "guava-r09.jar"), |
444 join("json", "r2_20080312", "json.jar") ] | 435 join("json", "r2_20080312", "json.jar") ] |
445 for jarToCopy in jarsToCopy: | 436 for jarToCopy in jarsToCopy: |
446 dest_dir = join (ANALYZER_DEST, os.path.dirname(jarToCopy)) | 437 dest_dir = join (ANALYZER_DEST, os.path.dirname(jarToCopy)) |
447 os.makedirs(dest_dir) | 438 os.makedirs(dest_dir) |
448 dest_file = join (ANALYZER_DEST, jarToCopy) | 439 dest_file = join (ANALYZER_DEST, jarToCopy) |
449 src_file = join(ANALYZER_HOME, 'util', 'analyzer', jarToCopy) | 440 src_file = join(ANALYZER_HOME, 'util', 'analyzer', jarToCopy) |
450 copyfile(src_file, dest_file) | 441 copyfile(src_file, dest_file) |
451 | 442 |
452 # Create and populate util/pub. | 443 # Create and populate util/pub. |
453 pub_src_dir = join(HOME, 'utils', 'pub') | 444 pub_src_dir = join(HOME, 'utils', 'pub') |
454 pub_dst_dir = join(UTIL, 'pub') | 445 pub_dst_dir = join(UTIL, 'pub') |
455 copytree(pub_src_dir, pub_dst_dir, | 446 copytree(pub_src_dir, pub_dst_dir, |
456 ignore=ignore_patterns('.svn', 'sdk')) | 447 ignore=ignore_patterns('.svn', 'sdk')) |
457 | 448 |
458 # Copy import maps. | 449 # Copy import maps. |
459 PLATFORMS = ['any', 'vm', 'dartium', 'dart2js' ] | 450 PLATFORMS = ['any', 'vm', 'dartium', 'dart2js' ] |
460 os.makedirs(join(LIB, 'config')) | 451 os.makedirs(join(LIB, 'config')) |
(...skipping 10 matching lines...) Expand all Loading... |
471 if revision is not None: | 462 if revision is not None: |
472 with open(os.path.join(SDK_tmp, 'revision'), 'w') as f: | 463 with open(os.path.join(SDK_tmp, 'revision'), 'w') as f: |
473 f.write(revision + '\n') | 464 f.write(revision + '\n') |
474 f.close() | 465 f.close() |
475 | 466 |
476 move(SDK_tmp, SDK) | 467 move(SDK_tmp, SDK) |
477 utils.Touch(os.path.join(SDK, 'create.stamp')) | 468 utils.Touch(os.path.join(SDK, 'create.stamp')) |
478 | 469 |
479 if __name__ == '__main__': | 470 if __name__ == '__main__': |
480 sys.exit(Main(sys.argv)) | 471 sys.exit(Main(sys.argv)) |
OLD | NEW |