projects.py: Optimize os_cascade()

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2018-03-07 16:58:32 +00:00
commit 8ef3c06234

View file

@ -56,7 +56,7 @@ class ResultCache(object):
class Build(object):
def __init__(self):
self.__os_cascade = os_cascade()
pass
def find_proj_path(self, name):
name=name.replace("dspider-", "")
@ -156,8 +156,9 @@ class Build(object):
# -- check exclude
exclude = get_modules_from_project_txt([ module ], 'build', 'exclude',
scope = 1, add_self=False, names_only=True)
cascade = os_cascade() + [ 'all' ]
for p1 in exclude:
for p2 in self.__os_cascade + [ 'all' ]:
for p2 in cascade:
if p1 == p2:
print('| Configured to skip build on platform >' + p1 + '<')
print('`' + delim + ' <')
@ -304,6 +305,9 @@ def htdocs_dir(name):
return None
def os_cascade():
global glob_os_cascade
if glob_os_cascade is not None:
return glob_os_cascade
r = [ 'os', platform.system().lower() ]
os = res_cache.run(get_os, [])
name = re.sub('-.*', '', os)
@ -320,6 +324,7 @@ def os_cascade():
r.append(os)
# e.g. os, linux, suse, suse-tumbleweed
#return [ 'os', platform.system().lower(), name, os ]
glob_os_cascade = r
return r
def strip_module_from_spec(mod):
@ -819,6 +824,9 @@ res_cache = ResultCache()
dep_cache = {}
my_dir = os.path.dirname(os.path.realpath(__file__))
do_debug = False
topdir = None
top_name = None
glob_os_cascade = None
skip = 0
for a in sys.argv[1::]:
@ -832,9 +840,6 @@ for a in sys.argv[1::]:
if a[0] != '-':
break
topdir = None
top_name = None
parser = argparse.ArgumentParser(description='Project metadata evaluation')
parser.add_argument('cmd', default='', help='Command')
parser.add_argument('--debug', '-d', action='store_true',