@@ -257,7 +257,7 @@ def _task_data(fn, task, d):
data.expandKeys(localdata)
return localdata
-def _exec_task(fn, task, d, quieterr):
+def _exec_task(fn, task, d, quieterr, dryrun=False):
"""Execute a BB 'task'
Execution of a task involves a bit more setup than executing a function,
@@ -319,10 +319,13 @@ def _exec_task(fn, task, d, quieterr):
event.fire(TaskStarted(task, localdata), localdata)
try:
for func in (prefuncs or '').split():
- exec_func(func, localdata)
- exec_func(task, localdata)
+ if not dryrun:
+ exec_func(func, localdata)
+ if not dryrun:
+ exec_func(task, localdata)
for func in (postfuncs or '').split():
- exec_func(func, localdata)
+ if not dryrun:
+ exec_func(func, localdata)
except FuncFailed as exc:
if not quieterr:
logger.error(str(exc))
@@ -357,13 +360,13 @@ def _exec_task(fn, task, d, quieterr):
return 0
-def exec_task(fn, task, d):
+def exec_task(fn, task, d, dryrun=False):
try:
quieterr = False
if d.getVarFlag(task, "quieterrors") is not None:
quieterr = True
- return _exec_task(fn, task, d, quieterr)
+ return _exec_task(fn, task, d, quieterr, dryrun)
except Exception:
from traceback import format_exc
if not quieterr:
@@ -1156,7 +1156,7 @@ class RunQueueExecute:
logger.critical(str(exc))
os._exit(1)
try:
- ret = bb.build.exec_task(fn, taskname, the_data)
+ ret = bb.build.exec_task(fn, taskname, the_data, self.cooker.configuration.dry_run)
os._exit(ret)
except:
os._exit(1)
@@ -1329,12 +1329,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.rqdata.get_user_idstring(task))
self.task_skip(task)
return True
- elif self.cooker.configuration.dry_run:
- self.runq_running[task] = 1
- self.runq_buildable[task] = 1
- self.stats.taskActive()
- self.task_complete(task)
- return True
taskdep = self.rqdata.dataCache.task_deps[fn]
if 'noexec' in taskdep and taskname in taskdep['noexec']: