summaryrefslogtreecommitdiff
path: root/ick
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-05-09 18:31:15 +0300
committerLars Wirzenius <liw@liw.fi>2015-05-09 18:31:15 +0300
commit700a313865acda80e0d660d8aa64810c2469f7cd (patch)
tree7b258c024ff1158ea2eb5b6193434698ca921c32 /ick
parent9c7c79ca2c463e55199016087e081f00cfa4e60e (diff)
downloadick-700a313865acda80e0d660d8aa64810c2469f7cd.tar.gz
Add option for restricting targets
Diffstat (limited to 'ick')
-rwxr-xr-xick15
1 files changed, 14 insertions, 1 deletions
diff --git a/ick b/ick
index 6776b56..4400ac7 100755
--- a/ick
+++ b/ick
@@ -28,6 +28,11 @@ import yaml
class Ick(cliapp.Application):
+ def add_settings(self):
+ self.settings.string_list(
+ ['target', 't'],
+ 'run tests only on TARGET (can be used multiple times)')
+
def process_args(self, args):
filename = self.parse_command_line_args(args)
ick = self.read_ick_file(filename)
@@ -44,11 +49,19 @@ class Ick(cliapp.Application):
return yaml.safe_load(f)
def build_projects(self, ick):
- targets = ick.get('targets', {})
+ targets = self.get_targets(ick)
projects = ick.get('projects', {})
for project_name, project in projects.items():
self.build_project(project_name, project, targets)
+ def get_targets(self, ick):
+ targets = ick.get('targets', {})
+ if self.settings['target']:
+ return dict(
+ (name, targets[name]) for name in self.settings['target'])
+ else:
+ return targets
+
def build_project(self, project_name, project, targets):
with self.logger:
self.logger.log(