/** * Adds the given file or directory to the root of the archive, preserving its name. * To add the contents of a directory without the dir name, use {@link #addDirContentsAtRoot(File)}. * See also {@link #addAt(File, String)}. */ public ArchiveBuilder addAtRoot(File file) { return addAt(file, ""); }
@Test public void testCreateZipFromFilesWithNoDir() throws Exception { ArchiveBuilder builder = ArchiveBuilder.zip(); for (String fileName : Arrays.asList("data01.txt", "data02.txt", "data03.txt")) { builder.addAt(new File(tmpDir, fileName), ""); } buildAndValidatePrefix(builder, "data"); }
@Test public void testCreateZipFromFilesInSlash() throws Exception { ArchiveBuilder builder = ArchiveBuilder.zip(); for (String fileName : Arrays.asList("data01.txt", "data02.txt", "data03.txt")) { builder.addAt(new File(tmpDir, fileName), "/"); } buildAndValidatePrefix(builder, "/data"); }
private String createJar(File dir, String parentDirInJar) { if (dir.isDirectory()) { File jarFile = ArchiveBuilder.jar().addAt(dir, parentDirInJar).create(Os.newTempDir(getClass())+"/topologies.jar"); return jarFile.getAbsolutePath(); } else { return dir.getAbsolutePath(); // An existing Jar archive? } }
@Test public void testCreateZipFromFilesInDot() throws Exception { ArchiveBuilder builder = ArchiveBuilder.zip(); for (String fileName : Arrays.asList("data01.txt", "data02.txt", "data03.txt")) { builder.addAt(new File(tmpDir, fileName), "."); } buildAndValidatePrefix(builder, Os.mergePathsUnix(".", "data")); }