code: private File toJar(File root) throws IOException {
          String artifactName = findArtifactName(root);
          File jar = new File(tempDir, artifactName);
          ZipBuilder builder = new ZipBuilder(jar);
          builder.addDirectory(root, "");
          builder.close();
          return jar;
      }
docs: Creates a JAR file from the contents of the given root directory. The file is located in
  a temporary directory and is named <code>$&#123;artifactId&#125;-$&#123;version&#125;.jar</code> according to
  Maven conventions, if there is a {@code pom.properties} resource located anywhere under
  {@code META-INF/maven} defining the two propeties {@code artifactId} and {@code version}.
  <p>
  Otherwise the file is named <code>$&#123;uuid&#125;.jar</code>, where {@code uuid} represents a random
  {@link UUID}.
  
  @param root root directory with archive contents
  @return archive file
  @throws IOException