List of usage examples for org.apache.commons.compress.archivers.cpio CpioArchiveEntry CpioArchiveEntry
public CpioArchiveEntry(final String name)
From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java
public Result addFile(final String targetPath, final Path path, final Consumer<CpioArchiveEntry> customizer) throws IOException { final long size = Files.size(path); final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath); entry.setSize(size);// ww w . j a va 2 s. c om if (customizer != null) { customizer.accept(entry); } this.archiveStream.putArchiveEntry(entry); MessageDigest digest; try { digest = createDigest(); } catch (final NoSuchAlgorithmException e) { throw new IOException(e); } try (InputStream in = new BufferedInputStream(Files.newInputStream(path))) { ByteStreams.copy(new DigestInputStream(in, digest), this.archiveStream); } this.archiveStream.closeArchiveEntry(); return new Result(size, digest.digest()); }
From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java
public Result addFile(final String targetPath, final ByteBuffer data, final Consumer<CpioArchiveEntry> customizer) throws IOException { final long size = data.remaining(); final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath); entry.setSize(size);/*from www. j av a 2s .c o m*/ if (customizer != null) { customizer.accept(entry); } this.archiveStream.putArchiveEntry(entry); // record digest MessageDigest digest; try { digest = createDigest(); digest.update(data.slice()); } catch (final NoSuchAlgorithmException e) { throw new IOException(e); } // write data final WritableByteChannel channel = Channels.newChannel(this.archiveStream); while (data.hasRemaining()) { channel.write(data); } // close archive entry this.archiveStream.closeArchiveEntry(); return new Result(size, digest.digest()); }
From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java
public Result addDirectory(final String targetPath, final Consumer<CpioArchiveEntry> customizer) throws IOException { final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath); if (customizer != null) { customizer.accept(entry);/*from w w w. jav a2s .co m*/ } this.archiveStream.putArchiveEntry(entry); this.archiveStream.closeArchiveEntry(); return new Result(4096, null); }
From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java
public Result addSymbolicLink(final String targetPath, final String linkTo, final Consumer<CpioArchiveEntry> customizer) throws IOException { final byte[] bytes = linkTo.getBytes(StandardCharsets.UTF_8); final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath); entry.setSize(bytes.length);//from ww w . java 2 s. c o m if (customizer != null) { customizer.accept(entry); } this.archiveStream.putArchiveEntry(entry); this.archiveStream.write(bytes); this.archiveStream.closeArchiveEntry(); return new Result(bytes.length, null); }