diff options
author | Lars Wirzenius <liw@liw.fi> | 2015-05-10 20:49:59 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-05-10 20:50:12 +0300 |
commit | 600147af8b7254fb16bac23bc532a297b8089998 (patch) | |
tree | c93cdbcedf7d77f9be9229d7e27d9656d6f91fe0 /ick | |
parent | 511604388b9dc5201333de1554c3f3c01f318f7f (diff) | |
download | ick-600147af8b7254fb16bac23bc532a297b8089998.tar.gz |
Make use of icklib.Logger
Diffstat (limited to 'ick')
-rwxr-xr-x | ick | 68 |
1 files changed, 25 insertions, 43 deletions
@@ -24,6 +24,8 @@ import subprocess import cliapp import yaml +import icklib + class Ick(cliapp.Application): @@ -39,7 +41,8 @@ class Ick(cliapp.Application): def process_args(self, args): filename = self.parse_command_line_args(args) ick = self.read_ick_file(filename) - self.logger = Logger(self.output) + self.logger = icklib.Logger() + self.logger.set_output_file(self.output) self.build_projects(ick) def parse_command_line_args(self, args): @@ -75,28 +78,27 @@ class Ick(cliapp.Application): self.settings['project']) def build_project(self, statedir, project_name, project, targets): - with self.logger: - self.logger.log( - 'Building project {project_name}', project_name=project_name) - - git_dir = self.get_git_dir(statedir, project_name) - self.clone_or_update_git_repository_locally( - git_dir, project['git'], project['branch']) - meta = BuildMetadata() - meta.commit = self.get_head_commit(git_dir) - - if not self.needs_to_be_built(statedir, project_name, meta.commit): - with self.logger: - self.logger.log( - 'No need to build {project_name}', - project_name=project_name) - return - - build_dir = self.get_next_build_dir(statedir, project_name) - for target_name, target in targets.items(): - self.build_on_target( - project_name, project, target_name, target, git_dir) - self.save_build_metadata(build_dir, meta) + self.logger.log( + 'Building project {project_name}', project_name=project_name) + + git_dir = self.get_git_dir(statedir, project_name) + self.clone_or_update_git_repository_locally( + git_dir, project['git'], project['branch']) + meta = BuildMetadata() + meta.commit = self.get_head_commit(git_dir) + + if not self.needs_to_be_built(statedir, project_name, meta.commit): + with self.logger: + self.logger.log( + 'No need to build {project_name}', + project_name=project_name) + return + + build_dir = self.get_next_build_dir(statedir, project_name) + for target_name, target in targets.items(): + self.build_on_target( + project_name, project, target_name, target, git_dir) + self.save_build_metadata(build_dir, meta) def needs_to_be_built(self, statedir, project_name, current_commit): builds_dir = os.path.join(statedir, project_name, 'builds') @@ -193,26 +195,6 @@ class Ick(cliapp.Application): meta.save(filename) -class Logger(object): - - def __init__(self, output): - self._level = 0 - self._output = output - - def __enter__(self): - self._level += 1 - - def __exit__(self, *args): - self._level -= 1 - - def log(self, msg, **kwargs): - one_indent = ' ' * 2 - indent = one_indent * (self._level - 1) - formatted = indent + msg.format(**kwargs) - logging.info(formatted) - self._output.write(formatted + '\n') - - class BuildMetadata(object): def __init__(self): |