pydoit / doit

CLI task management & automation tool
http://pydoit.org
MIT License
1.84k stars 175 forks source link

How to pass command line arguments to dependent tasks #450

Open bingozhu0197 opened 1 year ago

bingozhu0197 commented 1 year ago

PLEASE DO NOT USE ISSUE TRACKER TO ASK QUESTIONS: see contributing Assume I have a foo task depends upon the bar task. I want to pass the argument verbose to the bar. How could I achieve that? I read the article https://stackoverflow.com/questions/34957460/python-doit-use-arguments-in-dependent-tasks, but I still need to get how to save the argument.

def show_args(verbose=0): print(f'{verbose}')

def save_arg(verbose): return {'verbose': verbose}

def task_bar(): return {'actions': [show_args],

'getargs': {'verbose':('foo', 'verbose')}, #it will introduce cyclic dependencies**

        'verbosity': 2,
      }

def task_foo(): return {'actions': [save_arg], 'verbosity': 2, 'params': [ { 'name': 'verbose', 'long': 'verbose', 'short': 'v', 'type': bool, 'default': False, },], 'task_dep':['bar'], }

Fund with Polar