def distribute_headers(self, headers_paths): """ Includes the C++ headers to be declared before execution. Args: headers_paths (str, iter): A string or an iterable (such as a list, set...) containing the paths to all necessary C++ headers as strings. This function accepts both paths to the headers themselves and paths to directories containing the headers. """ headers_to_distribute = set() if isinstance(headers_paths, str): headers_to_distribute.update( Utils.get_paths_set_from_string(headers_paths)) else: for path_string in headers_paths: headers_to_distribute.update( Utils.get_paths_set_from_string(path_string)) # Distribute header files to the workers self.distribute_unique_paths(headers_to_distribute) # Declare headers locally Utils.declare_headers(headers_to_distribute) # Finally, add everything to the includes set self.headers.update(headers_to_distribute)
def distribute_files(self, files_paths): """ Sends to the workers the generic files needed by the user. Args: files_paths (str, iter): Paths to the files to be sent to the distributed workers. """ files_to_distribute = set() if isinstance(files_paths, str): files_to_distribute.update( Utils.get_paths_set_from_string(files_paths)) else: for path_string in files_paths: files_to_distribute.update( Utils.get_paths_set_from_string(path_string)) self.distribute_unique_paths(files_to_distribute)