from collections import OrderedDict
# helper funcrions
-def load_module(name, path):
+def load_module(name, path, write_bytecode = False):
import importlib.machinery
old_val = sys.dont_write_bytecode
- sys.dont_write_bytecode = True
+ sys.dont_write_bytecode = not write_bytecode
module = importlib.machinery.SourceFileLoader(name, path).load_module()
sys.dont_write_bytecode = old_val
return module
# read command-line arguments
parser = argparse.ArgumentParser(description='Update and build a bunch of stuff')
-parser.add_argument("-c, --config",
+parser.add_argument("-c", "--config",
dest="config", default="mass-build.conf",
help="mass-build config file")
parser.add_argument("--reconfigure",
raise Exception("Can not reset sources without doing an update")
# load config as dictionary
-config = load_module('config', args.config).__dict__
+config = vars(load_module('config', args.config))
# initialise variables holding the configuration
allProjects = OrderedDict() # all projects