diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-25 18:20:39 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-25 18:20:39 (GMT) |
commit | 69d077f81fd00cb9b462030ffb6b8cc8cd9b25c4 (patch) | |
tree | 1ae3272ff66abe1ade6e29ea2ca98caab598b6aa /devbot/build.py | |
parent | d2a05dc3eef299f41988c1b54be43ee62274c6e3 (diff) | |
parent | c05e755ced4ce4d528ffc5b34ddb44892e2f938f (diff) |
Merge branch 'testing'
Diffstat (limited to 'devbot/build.py')
-rw-r--r-- | devbot/build.py | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/devbot/build.py b/devbot/build.py index 9823310..1e33c70 100644 --- a/devbot/build.py +++ b/devbot/build.py @@ -43,35 +43,20 @@ def pull(): return True -def build(): +def build(full=False): environ.setup() _ccache_reset() - modules = config.load_modules() - skipped = [] + if full or state.full_build_is_required(): + clean() - for module in modules[:]: - new_commit_id = module.get_commit_id() - if new_commit_id is None: - break + state.full_build_touch() - old_commit_id = state.get_built_commit_id(module) - if old_commit_id == new_commit_id: - modules.pop(0) - skipped.append(module.name) - else: - break - - if skipped: - print "\n* Skipping unchanged modules *\n" - print "\n".join(skipped) - - for module in modules: - state.remove_built_commit_id(module) - - for module in modules: - if not _build_module(module, config.get_log_path("build")): + for module in config.load_modules(): + if state.built_module_is_unchanged(module): + print "\n* Skipping unchanged module %s *" % module.name + elif not _build_module(module, config.get_log_path("build")): return False _ccache_print_stats() @@ -226,7 +211,7 @@ def _build_module(module, log=None): except subprocess.CalledProcessError: return False - state.touch_built_commit_id(module) + state.built_module_touch(module) return True |