parameters: (target_dicts, roots)
return_statement: return list(dependencies - set(roots))
docstring: Returns the recursive list of target dependencies.
docstring_summary: Returns the recursive list of target dependencies.
docstring_tokens: Returns the recursive list of target dependencies .
function: def DeepDependencyTargets(target_dicts, roots):
    """Returns the recursive list of target dependencies."""
    dependencies = set()
    pending = set(roots)
    while pending:
      # Pluck out one.
      r = pending.pop()
      # Skip if visited already.
      if r in dependencies:
        continue
      # Add it.
      dependencies.add(r)
      # Add its children.
      spec = target_dicts[r]
      pending.update(set(spec.get('dependencies', [])))
      pending.update(set(spec.get('dependencies_original', [])))
    return list(dependencies - set(roots))
function_tokens: def DeepDependencyTargets ( target_dicts , roots ) : dependencies = set ( ) pending = set ( roots ) while pending : # Pluck out one. r = pending . pop ( ) # Skip if visited already. if r in dependencies : continue # Add it. dependencies . add ( r ) # Add its children. spec = target_dicts [ r ] pending . update ( set ( spec . get ( 'dependencies' , [ ] ) ) ) pending . update ( set ( spec . get ( 'dependencies_original' , [ ] ) ) ) return list ( dependencies - set ( roots ) )