docs: def create_jar(jar_file, entries):
      """
      Create JAR from given entries.
      :param jar_file: filename of the created JAR
      :type jar_file: str
      :param entries: files to put into the JAR
      :type entries: list[str]
      :return: None
      """
  
      # 'jar' adds separate entries for directories, also for empty ones.
      with ZipFile(jar_file, "w") as jar:
          jar.writestr("META-INF/", "")
          jar.writestr("META-INF/MANIFEST.MF", Manifest().get_data())
          for entry in entries:
              jar.write(entry)
              if os.path.isdir(entry):
                  for root, dirs, files in os.walk(entry):
                      for filename in dirs + files:
                          jar.write(os.path.join(root, filename))