summaryrefslogtreecommitdiff
path: root/ick
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-05-10 20:49:59 +0300
committerLars Wirzenius <liw@liw.fi>2015-05-10 20:50:12 +0300
commit600147af8b7254fb16bac23bc532a297b8089998 (patch)
treec93cdbcedf7d77f9be9229d7e27d9656d6f91fe0 /ick
parent511604388b9dc5201333de1554c3f3c01f318f7f (diff)
downloadick-600147af8b7254fb16bac23bc532a297b8089998.tar.gz
Make use of icklib.Logger
Diffstat (limited to 'ick')
-rwxr-xr-xick68
1 files changed, 25 insertions, 43 deletions
diff --git a/ick b/ick
index e8b9017..7ff7a57 100755
--- a/ick
+++ b/ick
@@ -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):