ze.setUnixMode( UnixStat.FILE_FLAG | mode );
private static ArchiveEntry createZipEntry(String name, long size, int mode) { ZipArchiveEntry entry = new ZipArchiveEntry(name); if (Host.isUnix()) { entry.setUnixMode(mode); } return entry; }
private void zip(final ZipArchiveOutputStream zip, final File f, final Path prefix) throws IOException { final String path = prefix.relativize(f.toPath()).toString().replace(File.separator, "/"); final ZipArchiveEntry archiveEntry = new ZipArchiveEntry(f, path); if (isSh(path)) { archiveEntry.setUnixMode(0755); } zip.putArchiveEntry(archiveEntry); if (f.isDirectory()) { zip.closeArchiveEntry(); final File[] files = f.listFiles(); if (files != null) { for (final File child : files) { zip(zip, child, prefix); } } } else { Files.copy(f.toPath(), zip); zip.closeArchiveEntry(); } }
@Override public void accept(String name, int unixMode, InputStream src) { ZipArchiveEntry entry = new ZipArchiveEntry(name); entry.setUnixMode(unixMode); try { dst.putArchiveEntry(entry); IOUtils.copy(src, dst); dst.closeArchiveEntry(); } catch (IOException e) { throw new RuntimeException(e); } } }
String entryName = base + f.getFileName().toString(); ZipArchiveEntry zipEntry = new ZipArchiveEntry(entryName); zipEntry.setUnixMode(UnixStat.LINK_FLAG | UnixStat.DEFAULT_FILE_PERM); tOut.putArchiveEntry(zipEntry); tOut.write(Files.readSymbolicLink(f).toString().getBytes()); if (entryName.contains("/bin/") || (!usePathPrefix && entryName.startsWith("bin"))) { if (!entryName.endsWith(".bat")) { zipEntry.setUnixMode(0755); } else { zipEntry.setUnixMode(0644);
public static void zipFile(ZipArchiveOutputStream zip, Path src, String name) throws IOException { ZipArchiveEntry e = new ZipArchiveEntry(name); Set<PosixFilePermission> permissions = Files.getPosixFilePermissions(src); e.setUnixMode(Posix.unixMode(permissions)); e.setSize(Files.size(src)); zip.putArchiveEntry(e); Files.copy(src, zip); zip.closeArchiveEntry(); }
String entryName = base + f.getFileName().toString(); ZipArchiveEntry zipEntry = new ZipArchiveEntry(entryName); zipEntry.setUnixMode(UnixStat.LINK_FLAG | UnixStat.DEFAULT_FILE_PERM); tOut.putArchiveEntry(zipEntry); tOut.write(Files.readSymbolicLink(f).toString().getBytes()); if (entryName.contains("/bin/") || (!usePathPrefix && entryName.startsWith("bin"))) { if (!entryName.endsWith(".bat")) { zipEntry.setUnixMode(0755); } else { zipEntry.setUnixMode(0644);
/** * Adds the given file in the ZIP file. If the given file is a directory, then this method * recursively adds all files contained in this directory. This method is invoked for zipping * the "application/sis-console/src/main/artifact" directory and sub-directories before to zip. */ private void appendRecursively(final File file, String relativeFile, final ZipArchiveOutputStream out) throws IOException { if (file.isDirectory()) { relativeFile += '/'; } final ZipArchiveEntry entry = new ZipArchiveEntry(file, relativeFile); if (file.canExecute()) { entry.setUnixMode(0744); } out.putArchiveEntry(entry); if (!entry.isDirectory()) { try (FileInputStream in = new FileInputStream(file)) { in.transferTo(out); } } out.closeArchiveEntry(); if (entry.isDirectory()) { for (final String filename : file.list(this)) { appendRecursively(new File(file, filename), relativeFile.concat(filename), out); } } }
e1.setUnixMode(0777); logical_zip.putArchiveEntry(e1); e2.setUnixMode(0777); logical_zip.putArchiveEntry(e2); IOUtils.copy(new FileInputStream(new File("labrat-2.txt")), logical_zip);
if (currentFile.canExecute()) entry.setUnixMode(0700);
if (currentFile.canExecute()) entry.setUnixMode(MODE_EXECUTABLE);
entry.setUnixMode(0555); // Readable and executable for all, but not writable. zip.putArchiveEntry(entry); zip.write(nf.getValue());
entry.setUnixMode(mode.getBits()); } else {
entry.setUnixMode(mode.getBits()); } else {
entry.setUnixMode(MODE_EXECUTABLE);
@Override public ArchiveEntry buildEntry(ArchiveBase.ResourceWithFlags r) { boolean isDir = r.getResource().isDirectory(); ZipArchiveEntry ent = new ZipArchiveEntry(r.getName()); ent.setTime(round(r.getResource().getLastModified(), 2000)); ent.setSize(isDir ? 0 : r.getResource().getSize()); if (!isDir && r.getCollectionFlags().hasModeBeenSet()) { ent.setUnixMode(r.getCollectionFlags().getMode()); } else if (isDir && r.getCollectionFlags().hasDirModeBeenSet()) { ent.setUnixMode(r.getCollectionFlags().getDirMode()); } else if (r.getResourceFlags().hasModeBeenSet()) { ent.setUnixMode(r.getResourceFlags().getMode()); } else { ent.setUnixMode(isDir ? ArchiveFileSet.DEFAULT_DIR_MODE : ArchiveFileSet.DEFAULT_FILE_MODE); } if (r.getResourceFlags().getZipExtraFields() != null) { ent.setExtraFields(r.getResourceFlags() .getZipExtraFields()); } if (keepCompression && r.getResourceFlags().hasCompressionMethod()) { ent.setMethod(r.getResourceFlags() .getCompressionMethod()); } return ent; } });