code: def _copy_sources_to_generated_destination(self):
          
  
          files = []
          for key in FILES_EXTENSIONS.keys():
              if type(self.project['export'][key]) is dict:
                  for k,v in self.project['export'][key].items():
                      files.extend(v)
              elif type(self.project['export'][key]) is list:
                  files.extend(self.project['export'][key])
              else:
                  files.append(self.project['export'][key])
  
          destination = os.path.join(self.settings.root, self.project['export']['output_dir']['path'])
          if os.path.exists(destination):
              shutil.rmtree(destination)
          for item in files:
              s = os.path.join(self.settings.root, item)
              d = os.path.join(destination, item)
              if os.path.isdir(s):
                  shutil.copytree(s,d)
              else:
                  if not os.path.exists(os.path.dirname(d)):
                      os.makedirs(os.path.join(self.settings.root, os.path.dirname(d)))
                  shutil.copy2(s,d)
docs: Copies all project files to specified directory - generated dir