parameters: (self, node, toolkit, config, target, dependencies,
                 is_test = False, build_host = False)
docstring: Create a Builder from a Source, a Toolkit and a Config that creates
      a Executable.
  
      :param node: A Source.
      :type node: Source
      :param toolkit: The Toolkit to use.
      :type toolkit: Toolkit
      :param config: The configuration to use.
      :type config: Config
      :param target: The target Executable to be build
      :type target: Executable
      :param is_test: If the executable is a test
      :type is_test: bool
docstring_summary: Create a Builder from a Source, a Toolkit and a Config that creates
      a Executable.
docstring_tokens: Create a Builder from a Source a Toolkit and a Config that creates a Executable .
function: def __init__(self, node, toolkit, config, target, dependencies,
                 is_test = False, build_host = False):
      """
      Create a Builder from a Source, a Toolkit and a Config that creates
      a Executable.
  
      :param node: A Source.
      :type node: Source
      :param toolkit: The Toolkit to use.
      :type toolkit: Toolkit
      :param config: The configuration to use.
      :type config: Config
      :param target: The target Executable to be build
      :type target: Executable
      :param is_test: If the executable is a test
      :type is_test: bool
      """
      assert isinstance(node, Source)
      self.__source = node
      self.__target = target
      self.__toolkit = toolkit
      self.__config = config
      self.__dependencies = dependencies
      self.__url_dependencies = \
        list(filter(lambda d: '/' in d and '.' in d.split('/')[0],
                    toolkit.dependencies(node)))
      for d in self.__url_dependencies:
        target = FetchPackage.package_target(d, toolkit, build_host)
        if not target.builder:
          FetchPackage(d, toolkit, build_host = build_host)
        self.__dependencies.append(target)
      self.__is_test = is_test
      self.__build_host = build_host
      super().__init__(self.__dependencies + [node], [self.__target])
function_tokens: def __init__ ( self , node , toolkit , config , target , dependencies , is_test = False , build_host = False ) : assert isinstance ( node , Source ) self . __source = node self . __target = target self . __toolkit = toolkit self . __config = config self . __dependencies = dependencies self . __url_dependencies = list ( filter ( lambda d : '/' in d and '.' in d . split ( '/' ) [ 0 ] , toolkit . dependencies ( node ) ) ) for d in self . __url_dependencies : target = FetchPackage . package_target ( d , toolkit , build_host ) if not target . builder : FetchPackage ( d , toolkit , build_host = build_host ) self . __dependencies . append ( target ) self . __is_test = is_test self . __build_host = build_host super ( ) . __init__ ( self . __dependencies + [ node ] , [ self . __target ] )