def compile(self): debug('build: compile called') self.flush() self.generator = Runner.Parallel(self, Options.options.jobs) def dw(on=True): if Options.options.progress_bar: if on: sys.stderr.write(Logs.colors.cursor_on) else: sys.stderr.write(Logs.colors.cursor_off) debug('build: executor starting') back = os.getcwd() os.chdir(self.bldnode.abspath()) try: try: dw(on=False) self.generator.start() except KeyboardInterrupt: dw() self.save() raise except Exception: dw() raise else: dw() self.save() if self.generator.error: raise BuildError(self, self.task_manager.tasks_done) finally: os.chdir(back)
def compile(self): """The cache file is not written if nothing was build at all (build is up to date)""" debug('build: compile called') """ import cProfile, pstats cProfile.run("import Build\nBuild.bld.flush()", 'profi.txt') p = pstats.Stats('profi.txt') p.sort_stats('cumulative').print_stats(80) """ self.flush() #""" self.generator = Runner.Parallel(self, Options.options.jobs) def dw(on=True): if Options.options.progress_bar: if on: sys.stderr.write(Logs.colors.cursor_on) else: sys.stderr.write(Logs.colors.cursor_off) debug('build: executor starting') back = os.getcwd() os.chdir(self.bldnode.abspath()) try: try: dw(on=False) self.generator.start() except KeyboardInterrupt: dw() # if self.generator.processed != 1: TODO self.save() raise except Exception: dw() # do not store anything, for something bad happened raise else: dw() #if self.generator.processed != 1: TODO self.save() if self.generator.error: raise BuildError(self, self.task_manager.tasks_done) finally: os.chdir(back)