11
11
import urllib2
12
12
from utils import commit
13
13
from utils import system
14
+ import patch
14
15
15
16
# //base and its dependencies
16
17
_base_deps = [
95
96
'build/config/ui.gni' ,
96
97
'build/ls.py' ,
97
98
'build/module_args/mojo.gni' ,
99
+ 'build/symlink.py' ,
100
+ 'tools/android/VERSION_LINUX_NDK' ,
101
+ 'tools/android/VERSION_LINUX_SDK' ,
102
+ 'tools/android/VERSION_MACOSX_NDK' ,
103
+ 'tools/android/VERSION_MACOSX_SDK' ,
104
+ 'tools/android/download_android_tools.py' ,
98
105
]
99
106
100
107
101
- def rev (source_dir , dest_dir , dirs_to_rev ):
102
- for d in dirs_to_rev :
103
- print "removing directory %s" % d
104
- try :
105
- system (["git" , "rm" , "-r" , d ], cwd = dest_dir )
106
- except subprocess .CalledProcessError :
107
- print "Could not remove %s" % d
108
- print "cloning directory %s" % d
109
- files = system (["git" , "ls-files" , d ], cwd = source_dir )
110
- for f in files .splitlines ():
111
- source_path = os .path .join (source_dir , f )
112
- if not os .path .isfile (source_path ):
113
- continue
114
- dest_path = os .path .join (dest_dir , f )
115
- system (["mkdir" , "-p" , os .path .dirname (dest_path )], cwd = source_dir )
116
- system (["cp" , source_path , dest_path ], cwd = source_dir )
117
- system (["git" , "add" , d ], cwd = dest_dir )
118
-
119
- for f in files_not_to_roll :
120
- system (["git" , "checkout" , "HEAD" , f ], cwd = dest_dir )
121
-
122
- system (["git" , "add" , "." ], cwd = dest_dir )
123
- src_commit = system (["git" , "rev-parse" , "HEAD" ], cwd = source_dir ).strip ()
124
- commit ("Update to mojo %s" % src_commit , cwd = dest_dir )
108
+ def rev (source_dir , dest_dir , dirs_to_rev , name ):
109
+ for d in dirs_to_rev :
110
+ print "removing directory %s" % d
111
+ try :
112
+ system (["git" , "rm" , "-r" , d ], cwd = dest_dir )
113
+ except subprocess .CalledProcessError :
114
+ print "Could not remove %s" % d
115
+ print "cloning directory %s" % d
116
+ files = system (["git" , "ls-files" , d ], cwd = source_dir )
117
+ for f in files .splitlines ():
118
+ source_path = os .path .join (source_dir , f )
119
+ if not os .path .isfile (source_path ):
120
+ continue
121
+ dest_path = os .path .join (dest_dir , f )
122
+ system (["mkdir" , "-p" , os .path .dirname (dest_path )], cwd = source_dir )
123
+ system (["cp" , source_path , dest_path ], cwd = source_dir )
124
+ system (["git" , "add" , d ], cwd = dest_dir )
125
+
126
+ for f in files_not_to_roll :
127
+ system (["git" , "checkout" , "HEAD" , f ], cwd = dest_dir )
128
+
129
+ system (["git" , "add" , "." ], cwd = dest_dir )
130
+ src_commit = system (["git" , "rev-parse" , "HEAD" ], cwd = source_dir ).strip ()
131
+ commit ("Update to %s %s" % ( name , src_commit ) , cwd = dest_dir )
125
132
126
133
127
134
def main ():
@@ -134,10 +141,17 @@ def main():
134
141
args = parser .parse_args ()
135
142
136
143
if args .mojo_dir :
137
- rev (args .mojo_dir , args .dest_dir , dirs_from_mojo )
144
+ rev (args .mojo_dir , args .dest_dir , dirs_from_mojo , 'mojo' )
138
145
139
146
if args .chromium_dir :
140
- rev (args .chromium_dir , args .dest_dir , dirs_from_chromium )
147
+ rev (args .chromium_dir , args .dest_dir , dirs_from_chromium , 'chromium' )
148
+
149
+ try :
150
+ patch .patch_and_filter ()
151
+ except subprocess .CalledProcessError :
152
+ print "ERROR: Roll failed due to a patch not applying"
153
+ print "Fix the patch to apply, commit the result, and re-run this script"
154
+ return 1
141
155
142
156
return 0
143
157
0 commit comments