Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/build.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-27 14:18:00 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-27 14:18:00 (GMT)
commita47c35f84688ea90f8ee50bc8f40b811c6b887c2 (patch)
tree992a7e13b51ebc26e615a167483291d7487ee475 /devbot/build.py
parent3e0b6b5c3a863f3a2ad035e73bf5b58968757f8f (diff)
Fix and simplify skipping modules
Diffstat (limited to 'devbot/build.py')
-rw-r--r--devbot/build.py27
1 files changed, 16 insertions, 11 deletions
diff --git a/devbot/build.py b/devbot/build.py
index 09580a2..d80ae14 100644
--- a/devbot/build.py
+++ b/devbot/build.py
@@ -96,12 +96,6 @@ def build_module(module):
state.touch_built_commit_id(module)
-def clear_built_modules(modules, index):
- if index < len(modules) - 1:
- for module in modules[index + 1:]:
- if state.get_built_commit_id(module) is not None:
- state.remove_built_commit_id(module)
-
def rmtree(dir):
print "Deleting %s" % dir
shutil.rmtree(dir, ignore_errors=True)
@@ -130,16 +124,27 @@ def build():
environ.setup()
modules = config.load_modules()
+ skipped = []
- for i, module in enumerate(modules):
+ for module in modules[:]:
old_commit_id = state.get_built_commit_id(module)
new_commit_id = module.get_commit_id()
- if old_commit_id is None or old_commit_id != new_commit_id:
- clear_built_modules(modules, i)
- build_module(module)
+ if old_commit_id == new_commit_id:
+ modules.pop(0)
+ skipped.append(module.name)
else:
- print "\n* Already built, skipping *"
+ 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:
+ build_module(module)
def clean():
rmtree(config.install_dir)