Changeset 4906
- Timestamp:
- 07/08/08 14:38:23 (6 months ago)
- Files:
-
- build/buildmaster/tgbuilder.py (modified) (1 diff)
- build/buildmaster/tg_mbuildsteps.py (modified) (2 diffs)
- build/buildmaster/tg_sbuildsteps.py (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
build/buildmaster/tgbuilder.py
r4901 r4906 22 22 ftg1.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath,'PATH':path},haltOnFailure=True) 23 23 ftg1.addStep(InterOSShellCommand,command=["cp","python2.3","python"],description="Rename python23", 24 workdir="build/bin", FlunkOnFailure=False)24 workdir="build/bin",flunkOnFailure=False) 25 25 26 26 ftg1.addStep(Python,script="externals.py",workdir="build/thirdparty", build/buildmaster/tg_mbuildsteps.py
r4901 r4906 13 13 14 14 class BaseStep(LoggingBuildStep): 15 def __init__(self, parms, slave_name, *args, **kwargs): 16 if kwargs.has_key('workdir') == False: 15 parms = BuildStep.parms + ['description','descriptionDone','env','workdir'] 16 def __init__(self, slave_name, *args, **kwargs): 17 kwargs['haltOnFailure']=False 18 if 'workdir' not in kwargs: 17 19 kwargs['workdir'] = 'build' 18 20 19 if kwargs.has_key('env') == False:21 if 'env' not in kwargs: 20 22 kwargs['env'] = {} 21 23 22 self.parms = BuildStep.parms + kwargs['parms'] 24 if 'description' in kwargs and 'descriptionDone' not in kwargs: 25 kwargs['descriptionDone'] = kwargs['description'] 23 26 24 self.slave step = kwargs['slavestep']27 self.slave_name = slave_name 25 28 self.arguments = kwargs.copy() 26 29 BuildStep.__init__(self, *args, **kwargs) 27 30 self.addLogObserver('stdout', OutputProgressObserver('output')) 28 31 29 def describe(self self, done=False):30 if self.arguments.has_key('description'):32 def describe(self, done=False): 33 if 'description' in self.arguments: 31 34 if done: 32 35 return [self.arguments['description']] … … 42 45 def start(self): 43 46 self.addLog('stdout') 44 cmd = LoggedRemoteCommand(self.slave step, self.arguments)47 cmd = LoggedRemoteCommand(self.slave_name, self.arguments) 45 48 self.startCommand(cmd) 46 49 47 50 class VirtualEnv(BaseStep): 51 parms = BaseStep.parms 48 52 def __init__(self, *args, **kwargs): 49 BaseStep.__init__(self, parms=['workdir', 'env'],slave_name="VirtualEnv", *args, **kwargs)53 BaseStep.__init__(self, slave_name="VirtualEnv", *args, **kwargs) 50 54 51 55 class EasyInstall(BaseStep): 56 parms = BaseStep.parms + ['package'] 52 57 def __init__(self, *args, **kwargs): 53 BaseStep.__init__(self, parms=['workdir', 'env', 'package'],slave_name="EasyInstall", *args, **kwargs)58 BaseStep.__init__(self, slave_name="EasyInstall", *args, **kwargs) 54 59 55 60 class RunSetup(BaseStep): 61 parms = BaseStep.parms + ['devmode'] 56 62 def __init__(self, *args, **kwargs): 57 BaseStep.__init__(self, parms=['workdir', 'env', 'devmode'],slave_name="RunSetup", *args, **kwargs)63 BaseStep.__init__(self, slave_name="RunSetup", *args, **kwargs) 58 64 59 65 class BuildEgg(BaseStep): 66 parms = BaseStep.parms + ['URL'] 60 67 def __init__(self, *args, **kwargs): 61 BaseStep.__init__(self, parms=['workdir', 'env', 'URL'],slave_name="BuildEgg", *args, **kwargs)68 BaseStep.__init__(self, slave_name="BuildEgg", *args, **kwargs) 62 69 63 70 class Nose(BaseStep): 71 parms = BaseStep.parms + ['verbose','testdir'] 64 72 def __init__(self, *args, **kwargs): 65 BaseStep.__init__(self, parms=['workdir', 'env', 'verbose'],slave_name="Nose", *args, **kwargs)73 BaseStep.__init__(self, slave_name="Nose", *args, **kwargs) 66 74 67 75 class BuildEggEE(BaseStep): 76 parms = BaseStep.parms + [ 'URL'] 68 77 def __init__(self, *args, **kwargs): 69 BaseStep.__init__(self, parms=['workdir', 'env', 'package', 'URL'],slave_name="BuildEggEE", *args, **kwargs)78 BaseStep.__init__(self, slave_name="BuildEggEE", *args, **kwargs) 70 79 71 80 class InterOSShellCommand(BaseStep): 81 parms = BaseStep.parms + ['command'] 72 82 def __init__(self, *args, **kwargs): 73 BaseStep.__init__(self, parms=['workdir', 'env', 'command'], slave_name="InterOSShell", *args, **kwargs)83 BaseStep.__init__(self, slave_name="InterOSShellCommand", *args, **kwargs) 74 84 75 85 class Python(BaseStep): 76 def start(self):77 def __init__(self, *args, **kwargs):78 BaseStep.__init__(self, parms=['workdir', 'env', 'script'],slave_name="Python", *args, **kwargs)86 parms = BaseStep.parms + ['script'] 87 def __init__(self, *args, **kwargs): 88 BaseStep.__init__(self, slave_name="Python", *args, **kwargs) build/buildmaster/tg_sbuildsteps.py
r4901 r4906 9 9 __copyright__ = "MIT license" 10 10 11 import os12 11 from winunix import correctseperator 13 from buildbot.slave.commands import SlaveShellCommand, Command 12 14 13 15 14 class SlaveEasyInstall(SlaveShellCommand): 16 15 def start(self): 17 args = self.arg 16 args = self.args 18 17 assert args['package'] is not None 19 18 … … 21 20 22 21 env['PATH'] = correctseperator(env['PATH']) 23 if OS.path.seperator == '\\': 24 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 25 else: 26 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 27 28 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 22 if os.sep == '\\': 23 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 24 else: 25 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 26 27 if 'PYTHONPATH' in env: 28 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 29 29 30 30 newworkdir = correctseperator(args['workdir']) … … 55 55 env = args.get('env') 56 56 env['PATH'] = correctseperator(env['PATH']) 57 if OS.path.seperator == '\\': 58 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 59 else: 60 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 61 62 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 57 if os.sep == '\\': 58 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 59 else: 60 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 61 62 if 'PYTHONPATH' in env: 63 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 63 64 64 65 if args.has_key('devmode') == False: … … 89 90 registerSlaveCommand("RunSetup", SlaveRunSetup, command_version) 90 91 class SlaveBuildEgg(SlaveShellCommand): 91 def start(self): 92 def start(self): 93 args = self.args 92 94 url = "" 93 if args.has_key('URL'):95 if 'URL' in args: 94 96 url = args['URL'] 95 97 url = "-f "+ url 96 args = self.args98 97 99 98 100 env = args.get('env') 99 101 100 102 env['PATH'] = correctseperator(env['PATH']) 101 if OS.path.seperator == '\\': 102 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 103 else: 104 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 105 106 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 103 if os.sep == '\\': 104 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 105 else: 106 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 107 108 if 'PYTHONPATH' in env: 109 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 107 110 newworkdir = correctseperator(args['workdir']) 108 111 workdir = os.path.join(self.builder.basedir, newworkdir) … … 131 134 132 135 env = args.get('env') 133 134 env['PATH'] = correctseperator(args['PATH']) 135 if OS.path.seperator == '\\': 136 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 137 else: 138 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 139 140 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 136 if 'PATH' in env: 137 env['PATH'] = correctseperator(env['PATH']) 138 if os.sep == '\\': 139 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 140 else: 141 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 142 143 if 'PYTHONPATH' in env: 144 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 141 145 142 146 newworkdir = correctseperator(args['workdir']) … … 145 149 146 150 commandline = ["nose"] 147 if args.has_key('verbose')and args['verbose']:151 if 'verbose' in args and args['verbose']: 148 152 commandline.append("-v") 149 153 … … 171 175 env = args.get('env') 172 176 173 env['PATH'] = correctseperator(env['PATH']) 174 if OS.path.seperator == '\\': 175 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 176 else: 177 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 178 179 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 177 178 if 'PATH' in env: 179 env['PATH'] = correctseperator(env['PATH']) 180 if os.sep == '\\': 181 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 182 else: 183 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 184 185 if 'PYTHONPATH' in env: 186 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 180 187 newworkdir = correctseperator(args['workdir']) 181 188 … … 222 229 env = args.get('env') 223 230 224 env['PATH'] = correctseperator(args['path']) 225 if OS.path.seperator == '\\': 226 env['path'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 227 else: 228 env['path'] = 'bin' + os.path.pathsep + os.getenv("PATH") 229 230 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 231 if 'PATH' in env: 232 env['PATH'] = correctseperator(env['PATH']) 233 if os.sep == '\\': 234 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 235 else: 236 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 237 238 if 'PYTHONPATH' in env: 239 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 231 240 232 241 commandline = args['command'] … … 257 266 env = args.get('env') 258 267 259 env['PATH'] = correctseperator(env['PATH']) 260 if OS.path.sep == '\\': 261 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 262 else: 263 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 264 265 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 266 267 newworkdir = correctseperator(args['workdir']) 268 workdir = os.path.join(self.builder.basedir, newworkdir) 269 script = correctseperator(script) 268 if 'PATH' in env: 269 env['PATH'] = correctseperator(env['PATH']) 270 271 if os.path.sep == '\\': 272 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 273 else: 274 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 275 276 if 'PYTHONPATH' in env: 277 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 278 279 newworkdir = correctseperator(args['workdir']) 280 workdir = os.path.join(self.builder.basedir, newworkdir) 281 script = correctseperator(args['script']) 270 282 271 283 commandline = ["python",script] … … 294 306 env = args.get('env') 295 307 296 if env.has_key('PATH'):297 env['PATH'] = correctseperator( args['path'])298 if os.sep == '\\': 299 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 300 else: 301 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 302 303 if env.has_key('PYTHONPATH'):308 if 'PATH' in env: 309 env['PATH'] = correctseperator(env['PATH']) 310 if os.sep == '\\': 311 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 312 else: 313 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH") 314 315 if 'PYTHONPATH' in env: 304 316 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 305 317 … … 324 336 d = self.command.start() 325 337 return d 326 registerSlaveCommand("VirtualEnv", SlaveVirtualEnv, command_version) 338 registerSlaveCommand("VirtualEnv", SlaveVirtualEnv, command_version)