| OLD | NEW |
| 1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #!/usr/bin/python | 5 #!/usr/bin/python |
| 6 | 6 |
| 7 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 7 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 8 # Use of this source code is governed by a BSD-style license that can be | 8 # Use of this source code is governed by a BSD-style license that can be |
| 9 # found in the LICENSE file. | 9 # found in the LICENSE file. |
| 10 | 10 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 | 89 |
| 90 args: | 90 args: |
| 91 srcpath - the location of the source code to build | 91 srcpath - the location of the source code to build |
| 92 mode - the mode release or debug | 92 mode - the mode release or debug |
| 93 version - the svn version of the currently checked out code | 93 version - the svn version of the currently checked out code |
| 94 ''' | 94 ''' |
| 95 print 'ProcessTools' | 95 print 'ProcessTools' |
| 96 | 96 |
| 97 toolsBuildScript = os.path.join('.', 'editor', 'build', 'build.py') | 97 toolsBuildScript = os.path.join('.', 'editor', 'build', 'build.py') |
| 98 | 98 |
| 99 # TODO(devoncarew): should we move this into GetBuildInfo()? | 99 # TODO(devoncarew): should we move this into GetBuildInfo()? |
| 100 # get the latest changed revision from the current repository sub-tree | 100 # get the latest changed revision from the current repository sub-tree |
| 101 version = GetLatestChangedRevision() | 101 version = GetLatestChangedRevision() |
| 102 | 102 |
| 103 #TODO: debug statements to be removed in the future. | 103 #TODO: debug statements to be removed in the future. |
| 104 print "mode = " + mode | 104 print "mode = " + mode |
| 105 print "name = " + name | 105 print "name = " + name |
| 106 print "version = " + version | 106 print "version = " + version |
| 107 print "toolsBuildScript = " + os.path.abspath(toolsBuildScript) | 107 print "toolsBuildScript = " + os.path.abspath(toolsBuildScript) |
| 108 | 108 |
| 109 utils = GetUtils() | 109 utils = GetUtils() |
| (...skipping 14 matching lines...) Expand all Loading... |
| 124 ''' | 124 ''' |
| 125 build and test the compiler | 125 build and test the compiler |
| 126 ''' | 126 ''' |
| 127 print 'ProcessCompiler' | 127 print 'ProcessCompiler' |
| 128 has_shell=False | 128 has_shell=False |
| 129 if 'windows' in name: | 129 if 'windows' in name: |
| 130 # In Windows we need to run in the shell, so that we have all the | 130 # In Windows we need to run in the shell, so that we have all the |
| 131 # environment variables available. | 131 # environment variables available. |
| 132 has_shell=True | 132 has_shell=True |
| 133 return subprocess.call([sys.executable, | 133 return subprocess.call([sys.executable, |
| 134 os.path.join('utils', 'compiler', 'buildbot.py')], | 134 os.path.join('tools', 'bots', 'compiler.py')], |
| 135 env=os.environ, shell=has_shell) |
| 136 |
| 137 def ProcessPub(name): |
| 138 ''' |
| 139 Build and test pub and the pub packages in the main Dart repository. |
| 140 ''' |
| 141 print 'ProcessPub' |
| 142 has_shell=False |
| 143 if '-win' in name: |
| 144 # In Windows we need to run in the shell, so that we have all the |
| 145 # environment variables available. |
| 146 has_shell=True |
| 147 return subprocess.call([sys.executable, |
| 148 os.path.join('tools', 'bots', 'pub.py')], |
| 135 env=os.environ, shell=has_shell) | 149 env=os.environ, shell=has_shell) |
| 136 | 150 |
| 137 def FixJavaHome(): | 151 def FixJavaHome(): |
| 138 buildbot_javahome = os.getenv('BUILDBOT_JAVA_HOME') | 152 buildbot_javahome = os.getenv('BUILDBOT_JAVA_HOME') |
| 139 if buildbot_javahome: | 153 if buildbot_javahome: |
| 140 current_pwd = os.getenv('PWD') | 154 current_pwd = os.getenv('PWD') |
| 141 java_home = os.path.join(current_pwd, buildbot_javahome) | 155 java_home = os.path.join(current_pwd, buildbot_javahome) |
| 142 os.environ['JAVA_HOME'] = java_home | 156 os.environ['JAVA_HOME'] = java_home |
| 143 print 'Setting java home to' | 157 print 'Setting java home to' |
| 144 print java_home | 158 print java_home |
| 145 | 159 |
| 146 def ClobberBuilder(): | 160 def ClobberBuilder(): |
| 147 """ Clobber the builder before we do the build. | 161 """ Clobber the builder before we do the build. |
| 148 Args: | 162 Args: |
| 149 - mode: either 'debug' or 'release' | 163 - mode: either 'debug' or 'release' |
| 150 """ | 164 """ |
| 151 cmd = [sys.executable, | 165 cmd = [sys.executable, |
| 152 './tools/clean_output_directory.py'] | 166 './tools/clean_output_directory.py'] |
| 153 print 'Clobbering %s' % (' '.join(cmd)) | 167 print 'Clobbering %s' % (' '.join(cmd)) |
| 154 return subprocess.call(cmd) | 168 return subprocess.call(cmd) |
| 155 | 169 |
| 156 def GetShouldClobber(): | 170 def GetShouldClobber(): |
| 157 return os.environ.get(BUILDER_CLOBBER) == "1" | 171 return os.environ.get(BUILDER_CLOBBER) == "1" |
| 158 | 172 |
| 159 def RunDart(scriptPath): | 173 def RunDart(scriptPath): |
| 160 if sys.platform == 'darwin': | 174 if sys.platform == 'darwin': |
| 161 pipe = subprocess.Popen( | 175 pipe = subprocess.Popen( |
| 162 ['./tools/testing/bin/macos/dart', scriptPath], | 176 ['./tools/testing/bin/macos/dart', scriptPath], |
| 163 stdout=subprocess.PIPE, stderr=subprocess.PIPE) | 177 stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
| 164 elif os.name == 'posix': | 178 elif os.name == 'posix': |
| 165 pipe = subprocess.Popen( | 179 pipe = subprocess.Popen( |
| 166 ['./tools/testing/bin/linux/dart', scriptPath], | 180 ['./tools/testing/bin/linux/dart', scriptPath], |
| 167 stdout=subprocess.PIPE, stderr=subprocess.PIPE) | 181 stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
| 168 else: | 182 else: |
| 169 pipe = subprocess.Popen( | 183 pipe = subprocess.Popen( |
| 170 ['tools\\testing\\bin\\windows\\dart.exe', scriptPath], | 184 ['tools\\testing\\bin\\windows\\dart.exe', scriptPath], |
| 171 stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) | 185 stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) |
| 172 | 186 |
| 173 output = pipe.communicate() | 187 output = pipe.communicate() |
| 174 return output[0] | 188 return output[0] |
| 175 | 189 |
| 176 def GetLatestChangedRevision(): | 190 def GetLatestChangedRevision(): |
| 177 # 0.1.2.0_r13661 | 191 # 0.1.2.0_r13661 |
| 178 # 0.1.2.0_r13661_username | 192 # 0.1.2.0_r13661_username |
| 179 fullVersion = RunDart("tools/version.dart") | 193 fullVersion = RunDart("tools/version.dart") |
| 180 | 194 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 201 print '@@@STEP_FAILURE@@@' | 215 print '@@@STEP_FAILURE@@@' |
| 202 return status | 216 return status |
| 203 | 217 |
| 204 | 218 |
| 205 #TODO(sigmund): remove this indirection once we update our bots | 219 #TODO(sigmund): remove this indirection once we update our bots |
| 206 (name, version) = GetBuildInfo() | 220 (name, version) = GetBuildInfo() |
| 207 if name.startswith('dart-editor'): | 221 if name.startswith('dart-editor'): |
| 208 # TODO (danrubel) Fix dart-editor builds so that we can call FixJavaHome() b
efore the build | 222 # TODO (danrubel) Fix dart-editor builds so that we can call FixJavaHome() b
efore the build |
| 209 FixJavaHome() | 223 FixJavaHome() |
| 210 status = ProcessTools('release', name, version) | 224 status = ProcessTools('release', name, version) |
| 225 elif name.startswith('pub-'): |
| 226 status = ProcessPub(name) |
| 211 else: | 227 else: |
| 212 # The buildbot will set a BUILDBOT_JAVA_HOME relative to the dart | 228 # The buildbot will set a BUILDBOT_JAVA_HOME relative to the dart |
| 213 # root directory, set JAVA_HOME based on that. | 229 # root directory, set JAVA_HOME based on that. |
| 214 FixJavaHome() | 230 FixJavaHome() |
| 215 status = ProcessCompiler(name) | 231 status = ProcessCompiler(name) |
| 216 | 232 |
| 217 if status: | 233 if status: |
| 218 print '@@@STEP_FAILURE@@@' | 234 print '@@@STEP_FAILURE@@@' |
| 219 | 235 |
| 220 return status | 236 return status |
| 221 | 237 |
| 222 | 238 |
| 223 if __name__ == '__main__': | 239 if __name__ == '__main__': |
| 224 sys.exit(main()) | 240 sys.exit(main()) |
| OLD | NEW |