2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-25 03:09:30 +01:00

Reflect the current build group in bld.current_group

This commit is contained in:
Thomas Nagy 2017-04-15 15:12:03 +02:00
parent 2b09852d9e
commit 29b32f7a1a
No known key found for this signature in database
GPG Key ID: 49B4C67C05277AAA
4 changed files with 19 additions and 19 deletions

View File

@ -41,9 +41,9 @@ def are_implicit_nodes_ready(self):
bld.dct_implicit_nodes = cache = {} bld.dct_implicit_nodes = cache = {}
try: try:
dct = cache[bld.cur] dct = cache[bld.current_group]
except KeyError: except KeyError:
dct = cache[bld.cur] = {} dct = cache[bld.current_group] = {}
for tsk in bld.cur_tasks: for tsk in bld.cur_tasks:
for x in tsk.outputs: for x in tsk.outputs:
dct[x] = tsk dct[x] = tsk

View File

@ -716,11 +716,11 @@ class BuildContext(Context.Context):
def post_group(self): def post_group(self):
""" """
Post task generators from the group indexed by self.cur; used internally Post task generators from the group indexed by self.current_group; used internally
by :py:meth:`waflib.Build.BuildContext.get_build_iterator` by :py:meth:`waflib.Build.BuildContext.get_build_iterator`
""" """
if self.targets == '*': if self.targets == '*':
for tg in self.groups[self.cur]: for tg in self.groups[self.current_group]:
try: try:
f = tg.post f = tg.post
except AttributeError: except AttributeError:
@ -728,8 +728,8 @@ class BuildContext(Context.Context):
else: else:
f() f()
elif self.targets: elif self.targets:
if self.cur < self._min_grp: if self.current_group < self._min_grp:
for tg in self.groups[self.cur]: for tg in self.groups[self.current_group]:
try: try:
f = tg.post f = tg.post
except AttributeError: except AttributeError:
@ -747,7 +747,7 @@ class BuildContext(Context.Context):
elif not ln.is_child_of(self.srcnode): elif not ln.is_child_of(self.srcnode):
Logs.warn('CWD %s is not under %s, forcing --targets=* (run distclean?)', ln.abspath(), self.srcnode.abspath()) Logs.warn('CWD %s is not under %s, forcing --targets=* (run distclean?)', ln.abspath(), self.srcnode.abspath())
ln = self.srcnode ln = self.srcnode
for tg in self.groups[self.cur]: for tg in self.groups[self.current_group]:
try: try:
f = tg.post f = tg.post
except AttributeError: except AttributeError:
@ -778,25 +778,25 @@ class BuildContext(Context.Context):
:return: tasks which can be executed immediately :return: tasks which can be executed immediately
:rtype: generator returning lists of :py:class:`waflib.Task.Task` :rtype: generator returning lists of :py:class:`waflib.Task.Task`
""" """
self.cur = 0 self.current_group = 0
if self.targets and self.targets != '*': if self.targets and self.targets != '*':
(self._min_grp, self._exact_tg) = self.get_targets() (self._min_grp, self._exact_tg) = self.get_targets()
global lazy_post global lazy_post
if self.post_mode != POST_LAZY: if self.post_mode != POST_LAZY:
while self.cur < len(self.groups): while self.current_group < len(self.groups):
self.post_group() self.post_group()
self.cur += 1 self.current_group += 1
self.cur = 0 self.current_group = 0
while self.cur < len(self.groups): while self.current_group < len(self.groups):
# first post the task generators for the group # first post the task generators for the group
if self.post_mode != POST_AT_ONCE: if self.post_mode != POST_AT_ONCE:
self.post_group() self.post_group()
# then extract the tasks # then extract the tasks
tasks = self.get_tasks_group(self.cur) tasks = self.get_tasks_group(self.current_group)
# if the constraints are set properly (ext_in/ext_out, before/after) # if the constraints are set properly (ext_in/ext_out, before/after)
# the call to set_file_constraints may be removed (can be a 15% penalty on no-op rebuilds) # the call to set_file_constraints may be removed (can be a 15% penalty on no-op rebuilds)
# (but leave set_file_constraints for the installation step) # (but leave set_file_constraints for the installation step)
@ -807,7 +807,7 @@ class BuildContext(Context.Context):
Task.set_precedence_constraints(tasks) Task.set_precedence_constraints(tasks)
self.cur_tasks = tasks self.cur_tasks = tasks
self.cur += 1 self.current_group += 1
if not tasks: # return something else the build will stop if not tasks: # return something else the build will stop
continue continue
yield tasks yield tasks

View File

@ -797,9 +797,9 @@ class Task(evil):
# one cache per build group # one cache per build group
try: try:
dct = cache[bld.cur] dct = cache[bld.current_group]
except KeyError: except KeyError:
dct = cache[bld.cur] = {} dct = cache[bld.current_group] = {}
for tsk in bld.cur_tasks: for tsk in bld.cur_tasks:
for x in tsk.outputs: for x in tsk.outputs:
dct[x] = tsk dct[x] = tsk

View File

@ -664,10 +664,10 @@ class xcode(Build.BuildContext):
# post all task generators # post all task generators
# the process_xcode method above will be called for each target # the process_xcode method above will be called for each target
self.cur = 0 self.current_group = 0
while self.cur < len(self.groups): while self.current_group < len(self.groups):
self.post_group() self.post_group()
self.cur += 1 self.current_group += 1
node = self.bldnode.make_node('%s.xcodeproj' % appname) node = self.bldnode.make_node('%s.xcodeproj' % appname)
node.mkdir() node.mkdir()