| 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 dest.close() | 80 dest.close() |
| 81 | 81 |
| 82 | 82 |
| 83 def Copy(src, dest): | 83 def Copy(src, dest): |
| 84 copyfile(src, dest) | 84 copyfile(src, dest) |
| 85 copymode(src, dest) | 85 copymode(src, dest) |
| 86 | 86 |
| 87 # TODO(zundel): this excludes the analyzer from the sdk build until builders | 87 # TODO(zundel): this excludes the analyzer from the sdk build until builders |
| 88 # have all prerequisite software installed. Also update dart.gyp. | 88 # have all prerequisite software installed. Also update dart.gyp. |
| 89 def ShouldCopyAnalyzer(): | 89 def ShouldCopyAnalyzer(): |
| 90 os = utils.GuessOS(); | 90 os = utils.GuessOS() |
| 91 return os == 'linux' or os == 'macos' | 91 return os == 'linux' or os == 'macos' |
| 92 | 92 |
| 93 | 93 |
| 94 def CopyShellScript(src_file, dest_dir): | 94 def CopyShellScript(src_file, dest_dir): |
| 95 '''Copies a shell/batch script to the given destination directory. Handles | 95 '''Copies a shell/batch script to the given destination directory. Handles |
| 96 using the appropriate platform-specific file extension.''' | 96 using the appropriate platform-specific file extension.''' |
| 97 file_extension = '' | 97 file_extension = '' |
| 98 if utils.GuessOS() == 'win32': | 98 if utils.GuessOS() == 'win32': |
| 99 file_extension = '.bat' | 99 file_extension = '.bat' |
| 100 | 100 |
| 101 src = src_file + file_extension | 101 src = src_file + file_extension |
| 102 dest = join(dest_dir, basename(src_file) + file_extension) | 102 dest = join(dest_dir, basename(src_file) + file_extension) |
| 103 Copy(src, dest) | 103 Copy(src, dest) |
| 104 | 104 |
| 105 | 105 |
| 106 def CopyDart2Js(build_dir, sdk_root, version): | 106 def CopyDart2Js(build_dir, sdk_root, version): |
| 107 if version: | 107 if version: |
| 108 ReplaceInFiles([os.path.join(sdk_root, 'pkg', 'compiler', | 108 ReplaceInFiles([os.path.join(sdk_root, 'pkg', 'compiler', |
| 109 'implementation', 'compiler.dart')], | 109 'implementation', 'compiler.dart')], |
| 110 [(r"BUILD_ID = 'build number could not be determined'", | 110 [(r"BUILD_ID = 'build number could not be determined'", |
| 111 r"BUILD_ID = '%s'" % version)]) | 111 r"BUILD_ID = '%s'" % version)]) |
| 112 if utils.GuessOS() == 'win32': | 112 if utils.GuessOS() == 'win32': |
| 113 dart2js = os.path.join(sdk_root, 'bin', 'dart2js.bat') | 113 dart2js = os.path.join(sdk_root, 'bin', 'dart2js.bat') |
| 114 Copy(os.path.join(build_dir, 'dart2js.bat'), dart2js) | 114 Copy(os.path.join(build_dir, 'dart2js.bat'), dart2js) |
| 115 dartdoc = os.path.join(sdk_root, 'bin', 'dartdoc.bat') | 115 dartdoc = os.path.join(sdk_root, 'bin', 'dartdoc.bat') |
| 116 Copy(os.path.join(build_dir, 'dartdoc.bat'), dartdoc) | 116 Copy(os.path.join(build_dir, 'dartdoc.bat'), dartdoc) |
| 117 # TODO(dgrove) - fix this once issue 4788 is addressed. | 117 # TODO(dgrove) - fix this once issue 4788 is addressed. |
| 118 ReplaceInFiles([dart2js], | 118 ReplaceInFiles([dart2js], |
| 119 [(r'%SCRIPTPATH%\.\.\\\.\.\\lib', r'%SCRIPTPATH%..\\pkg')]); | 119 [(r'%SCRIPTPATH%\.\.\\\.\.\\lib', r'%SCRIPTPATH%..\\pkg')]) |
| 120 ReplaceInFiles([dartdoc], | 120 ReplaceInFiles([dartdoc], |
| 121 [(r'%SCRIPTPATH%\.\.\\\.\.\\pkg', r'%SCRIPTPATH%..\\pkg')]); | 121 [(r'%SCRIPTPATH%\.\.\\\.\.\\pkg', r'%SCRIPTPATH%..\\pkg')]) |
| 122 else: | 122 else: |
| 123 dart2js = os.path.join(sdk_root, 'bin', 'dart2js') | 123 dart2js = os.path.join(sdk_root, 'bin', 'dart2js') |
| 124 Copy(os.path.join(build_dir, 'dart2js'), dart2js) | 124 Copy(os.path.join(build_dir, 'dart2js'), dart2js) |
| 125 dartdoc = os.path.join(sdk_root, 'bin', 'dartdoc') | 125 dartdoc = os.path.join(sdk_root, 'bin', 'dartdoc') |
| 126 Copy(os.path.join(build_dir, 'dartdoc'), dartdoc) | 126 Copy(os.path.join(build_dir, 'dartdoc'), dartdoc) |
| 127 | 127 |
| 128 # TODO(dgrove) - fix this once issue 4788 is addressed. | 128 # TODO(dgrove) - fix this once issue 4788 is addressed. |
| 129 ReplaceInFiles([dart2js], | 129 ReplaceInFiles([dart2js], |
| 130 [(r'\$BIN_DIR/\.\./\.\./lib', r'$BIN_DIR/../pkg')]) | 130 [(r'\$BIN_DIR/\.\./\.\./lib', r'$BIN_DIR/../pkg')]) |
| 131 ReplaceInFiles([dartdoc], | 131 ReplaceInFiles([dartdoc], |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 | 302 |
| 303 analyzer_src_jar = join(ANALYZER_HOME, 'util', 'analyzer', | 303 analyzer_src_jar = join(ANALYZER_HOME, 'util', 'analyzer', |
| 304 'dart_analyzer.jar') | 304 'dart_analyzer.jar') |
| 305 analyzer_dest_jar = join(ANALYZER_DEST, 'dart_analyzer.jar') | 305 analyzer_dest_jar = join(ANALYZER_DEST, 'dart_analyzer.jar') |
| 306 copyfile(analyzer_src_jar, analyzer_dest_jar) | 306 copyfile(analyzer_src_jar, analyzer_dest_jar) |
| 307 | 307 |
| 308 jarsToCopy = [ join("args4j", "2.0.12", "args4j-2.0.12.jar"), | 308 jarsToCopy = [ join("args4j", "2.0.12", "args4j-2.0.12.jar"), |
| 309 join("guava", "r09", "guava-r09.jar"), | 309 join("guava", "r09", "guava-r09.jar"), |
| 310 join("json", "r2_20080312", "json.jar") ] | 310 join("json", "r2_20080312", "json.jar") ] |
| 311 for jarToCopy in jarsToCopy: | 311 for jarToCopy in jarsToCopy: |
| 312 dest_dir = join (ANALYZER_DEST, os.path.dirname(jarToCopy)) | 312 dest_dir = join (ANALYZER_DEST, os.path.dirname(jarToCopy)) |
| 313 os.makedirs(dest_dir) | 313 os.makedirs(dest_dir) |
| 314 dest_file = join (ANALYZER_DEST, jarToCopy) | 314 dest_file = join (ANALYZER_DEST, jarToCopy) |
| 315 src_file = join(ANALYZER_HOME, 'util', 'analyzer', jarToCopy) | 315 src_file = join(ANALYZER_HOME, 'util', 'analyzer', jarToCopy) |
| 316 copyfile(src_file, dest_file) | 316 copyfile(src_file, dest_file) |
| 317 | 317 |
| 318 # Create and populate util/pub. | 318 # Create and populate util/pub. |
| 319 copytree(join(HOME, 'utils', 'pub'), join(UTIL, 'pub'), | 319 copytree(join(HOME, 'utils', 'pub'), join(UTIL, 'pub'), |
| 320 ignore=ignore_patterns('.svn', 'sdk')) | 320 ignore=ignore_patterns('.svn', 'sdk')) |
| 321 | 321 |
| 322 # Copy in 7zip for Windows. | 322 # Copy in 7zip for Windows. |
| 323 if utils.GuessOS() == 'win32': | 323 if utils.GuessOS() == 'win32': |
| 324 copytree(join(HOME, 'third_party', '7zip'), | 324 copytree(join(HOME, 'third_party', '7zip'), |
| 325 join(join(UTIL, 'pub'), '7zip'), | 325 join(join(UTIL, 'pub'), '7zip'), |
| 326 ignore=ignore_patterns('.svn')) | 326 ignore=ignore_patterns('.svn')) |
| 327 | 327 |
| 328 ReplaceInFiles([ | 328 ReplaceInFiles([ |
| 329 join(UTIL, 'pub', 'io.dart'), | 329 join(UTIL, 'pub', 'io.dart'), |
| 330 ], [ | 330 ], [ |
| 331 ("var pathTo7zip = '../../third_party/7zip/7za.exe';", | 331 ("var pathTo7zip = '../../third_party/7zip/7za.exe';", |
| 332 "var pathTo7zip = '7zip/7za.exe';"), | 332 "var pathTo7zip = '7zip/7za.exe';"), |
| 333 ]) | 333 ]) |
| 334 | 334 |
| 335 version = utils.GetVersion() | 335 version = utils.GetVersion() |
| 336 | 336 |
| 337 # Copy dart2js. | 337 # Copy dart2js. |
| 338 CopyDart2Js(build_dir, SDK_tmp, version) | 338 CopyDart2Js(build_dir, SDK_tmp, version) |
| 339 | 339 |
| 340 # Write the 'version' file |
| 341 versionFile = open(os.path.join(SDK_tmp, 'version'), 'w') |
| 342 versionFile.write(version + '\n') |
| 343 versionFile.close() |
| 344 |
| 345 # Write the 'revision' file |
| 340 revision = utils.GetSVNRevision() | 346 revision = utils.GetSVNRevision() |
| 341 | 347 |
| 342 # Write the 'revision' file | |
| 343 if revision is not None: | 348 if revision is not None: |
| 344 with open(os.path.join(SDK_tmp, 'revision'), 'w') as f: | 349 with open(os.path.join(SDK_tmp, 'revision'), 'w') as f: |
| 345 f.write(revision + '\n') | 350 f.write(revision + '\n') |
| 346 f.close() | 351 f.close() |
| 347 | 352 |
| 348 Copy(join(HOME, 'README.dart-sdk'), join(SDK_tmp, 'README')) | 353 Copy(join(HOME, 'README.dart-sdk'), join(SDK_tmp, 'README')) |
| 349 | 354 |
| 350 move(SDK_tmp, SDK) | 355 move(SDK_tmp, SDK) |
| 351 | 356 |
| 352 if __name__ == '__main__': | 357 if __name__ == '__main__': |
| 353 sys.exit(Main(sys.argv)) | 358 sys.exit(Main(sys.argv)) |
| OLD | NEW |