private void zipContents(File file, OutputStream output, int level, boolean excludeRootDir) throws IOException { new ZipBuilder(this, level, output, excludeRootDir).add("", file).done(); }
@Test public void shouldZipMultipleFolderContentsWhenNotExcludingRootDirectory() throws IOException { File folderOne = temporaryFolder.newFolder("folder1"); FileUtils.writeStringToFile(new File(folderOne, "folder1-file1.txt"), "folder1-file1", UTF_8); FileUtils.writeStringToFile(new File(folderOne, "folder1-file2.txt"), "folder1-file2", UTF_8); File folderTwo = temporaryFolder.newFolder("folder2"); FileUtils.writeStringToFile(new File(folderTwo, "folder2-file1.txt"), "folder2-file1", UTF_8); FileUtils.writeStringToFile(new File(folderTwo, "folder2-file2.txt"), "folder2-file2", UTF_8); File targetZipFile = temporaryFolder.newFile("final2.zip"); ZipBuilder zipBuilder = zipUtil.zipContentsOfMultipleFolders(targetZipFile, false); zipBuilder.add("folder-one", folderOne); zipBuilder.add("folder-two", folderTwo); zipBuilder.done(); assertContent(targetZipFile, "folder-one/folder1/folder1-file1.txt", "folder1-file1"); assertContent(targetZipFile, "folder-one/folder1/folder1-file2.txt", "folder1-file2"); assertContent(targetZipFile, "folder-two/folder2/folder2-file1.txt", "folder2-file1"); assertContent(targetZipFile, "folder-two/folder2/folder2-file2.txt", "folder2-file2"); }
@Test public void shouldZipMultipleFolderContentsAndExcludeRootDirectory() throws IOException { File folderOne = temporaryFolder.newFolder("a-folder1"); FileUtils.writeStringToFile(new File(folderOne, "folder1-file1.txt"), "folder1-file1", UTF_8); FileUtils.writeStringToFile(new File(folderOne, "folder1-file2.txt"), "folder1-file2", UTF_8); File folderTwo = temporaryFolder.newFolder("a-folder2"); FileUtils.writeStringToFile(new File(folderTwo, "folder2-file1.txt"), "folder2-file1", UTF_8); FileUtils.writeStringToFile(new File(folderTwo, "folder2-file2.txt"), "folder2-file2", UTF_8); File targetZipFile = temporaryFolder.newFile("final1.zip"); ZipBuilder zipBuilder = zipUtil.zipContentsOfMultipleFolders(targetZipFile, true); zipBuilder.add("folder-one", folderOne); zipBuilder.add("folder-two", folderTwo); zipBuilder.done(); assertContent(targetZipFile, "folder-one/folder1-file1.txt", "folder1-file1"); assertContent(targetZipFile, "folder-one/folder1-file2.txt", "folder1-file2"); assertContent(targetZipFile, "folder-two/folder2-file1.txt", "folder2-file1"); assertContent(targetZipFile, "folder-two/folder2-file2.txt", "folder2-file2"); }
public File done() throws IOException { ZipBuilder zipBuilder = zipUtil.zipContentsOfMultipleFolders(pluginsZipFile, true); zipBuilder.add("bundled", bundledPluginsDir).add("external", externalPluginsDir).add("dummy.txt", dummyFileSoZipFileIsNotEmpty).done(); return pluginsZipFile; } }