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

Side by Side Diff: tools/create_sdk.py

Issue 8619005: Initial CL to create SDK directory (this will be done as a build step). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month 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
« frog/frog_options.dart ('K') | « frog/reader.dart ('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
(Empty)
1 #!/usr/bin/env python
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 + copyright + top-level comments """ """
dgrove 2011/11/22 00:41:24 Done.
2
3 import os
4 import re
5 import utils
6
7 from os.path import dirname, join, realpath, exists, isdir
8 from shutil import copyfile, copymode, copytree, ignore_patterns, rmtree
9
10 HOME = dirname(dirname(realpath(__file__)))
11
12 SDK = join(HOME, 'sdk')
13 if exists(SDK):
14 rmtree(SDK)
15
16 #
17 # Create sdk/bin
18 #
19
20 BIN = join(SDK, 'bin')
21 os.makedirs(BIN)
22
23 # copy the Dart VM binary into sdk/bin
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 Capitalize comments and end with . (here and belo
dgrove 2011/11/22 00:41:24 Done.
24 build_dir = utils.GetBuildRoot(utils.GuessOS(), 'release', 'ia32') #TODO(dgrove)
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 explain TODO, move it to its own line
dgrove 2011/11/22 00:41:24 Done.
25 if utils.GuessOS() == 'win32':
26 dart_src_binary = join(join(HOME, build_dir), 'dart.exe')
27 dart_dest_binary = join(BIN, 'dart.exe')
28 else:
29 dart_src_binary = join(join(HOME, build_dir), 'dart')
30 dart_dest_binary = join(BIN, 'dart')
31 copyfile(dart_src_binary, dart_dest_binary)
32 copymode(dart_src_binary, dart_dest_binary)
33
34 # create sdk/bin/frogc.dart, and hack as needed
35 frog_src_dir = join(HOME, 'frog')
36
37 # convert frogc.dart's imports from import('*') -> import('frog/*')
38 frogc_contents = open(join(frog_src_dir, 'frogc.dart')).read()
39 frogc_dest = open(join(BIN, 'frogc.dart'), 'w')
40 frogc_dest.write(re.sub("#import\('", "#import('frog/", frogc_contents))
41 frogc_dest.close()
42
43 # TODO(dgrove): copy and fix up frog.dart
44
45 # copy all files from src/frog/ to sdk/bin/frog
46 frog_dest_dir = join(BIN, 'frog')
47 os.makedirs(frog_dest_dir)
48
49 for filename in os.listdir(frog_src_dir):
50 if filename == 'frog_options.dart':
51 # change config from 'dev' to 'sdk' in frog_options.dart
52 frog_options_contents = open(join(frog_src_dir, filename)).read()
53 frog_options_dest = open(join(frog_dest_dir, filename), 'w')
54 frog_options_dest.write(re.sub("final config = \'dev\';",
55 "final config = \'sdk\';",
56 frog_options_contents))
57 frog_options_dest.close()
58 elif filename.endswith('.dart'):
59 copyfile(join(frog_src_dir, filename), join(frog_dest_dir, filename))
60
61 # copy frog/leg to bin/frog
62 copytree(join(frog_src_dir, 'leg'), join(frog_dest_dir, 'leg'),
63 ignore=ignore_patterns('.svn'))
64
65 #
66 # Create sdk/lib
67 #
68
69 LIB = join(SDK, 'lib')
70 os.makedirs(LIB)
71
72 html_src_dir = join(HOME, 'client', 'html')
73 html_dest_dir = join(LIB, 'html')
74 os.makedirs(html_dest_dir)
75
76 dom_src_dir = join(HOME, 'client', 'dom')
77 dom_dest_dir = join(LIB, 'dom')
78 os.makedirs(dom_dest_dir)
79
80 corelib_dest_dir = join(LIB, 'corelib')
81 os.makedirs(corelib_dest_dir)
82 os.makedirs(join(corelib_dest_dir, 'frog'))
83
84 copyfile(join(html_src_dir, 'html.dart'), join(html_dest_dir, 'html.dart'))
85 copytree(join(html_src_dir, 'src'), join(html_dest_dir, 'src'))
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 Alternatively, we should copy html.dart from the r
dgrove 2011/11/22 00:41:24 Done.
86 copytree(join(html_src_dir, 'generated'), join(html_dest_dir, 'generated'))
87
88 for filename in os.listdir(dom_src_dir):
89 src_file = join(dom_src_dir, filename)
90 dest_file = join(dom_dest_dir, filename)
91 if filename.endswith('.dart') or filename.endswith('.js'):
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 should we skip the monkey patching and wrapper ver
dgrove 2011/11/22 00:41:24 Done.
92 copyfile(src_file, dest_file)
93 elif isdir(src_file):
94 if filename not in ['benchmarks', 'idl', 'scripts', 'snippets', '.svn']:
95 copytree(src_file, dest_file, ignore=ignore_patterns('.svn'))
96
97
98 frog_lib_src_dir = join(HOME, 'frog', 'lib')
99
100 for filename in os.listdir(frog_lib_src_dir):
101 src_file = join(frog_lib_src_dir, filename)
102 dest_file = join(corelib_dest_dir, 'frog', filename)
103 if filename.endswith('.dart') or filename.endswith('.js'):
104 if filename == 'corelib.dart' or filename == 'corelib_impl.dart':
105 contents = open(src_file).read()
106 dest_file = open(dest_file, "w")
107 dest_file.write(re.sub("../../corelib/src/", "../share/", contents))
Siggi Cherem (dart-lang) 2011/11/21 23:44:23 I'm not convinced about having the 'share' dir, wh
dgrove 2011/11/22 00:41:24 I'd like to head in the direction of having a comm
Siggi Cherem (dart-lang) 2011/11/22 17:15:20 Here is a proposal, based on what we discussed in
108 dest_file.close()
109 else:
110 copyfile(src_file, dest_file)
111 elif isdir(src_file) and filename != '.svn':
112 copytree(src_file, dest_file)
113
114 copytree(join(HOME, 'corelib', 'src'), join(corelib_dest_dir, 'share'),
115 ignore=ignore_patterns('.svn'))
116
117
118 # create and copy utils
119
120 UTIL = join(SDK, 'utils')
121 os.makedirs(UTIL)
122
123 copytree(join(HOME, 'utils', 'dartdoc'), join(UTIL, 'dartdoc'),
124 ignore=ignore_patterns('.svn'))
OLDNEW
« frog/frog_options.dart ('K') | « frog/reader.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698