Skip to content
This repository was archived by the owner on May 31, 2022. It is now read-only.

Commit 7bf7544

Browse files
authored
Merge branch 'thrau:master' into master
2 parents 97b47b8 + 4b3d39f commit 7bf7544

14 files changed

+24
-5
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ stream.close();
8585
Dependencies
8686
------------
8787

88-
* commons-compress(tm) 1.20
88+
* commons-compress(tm) 1.21
8989

9090

9191
Compatibility

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
<groupId>org.rauschig</groupId>
2828
<artifactId>jarchivelib</artifactId>
29-
<version>1.2.0-SNAPSHOT</version>
29+
<version>1.3.0-SNAPSHOT</version>
3030

3131
<packaging>bundle</packaging>
3232

src/main/java/org/rauschig/jarchivelib/CommonsArchiver.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.commons.compress.archivers.ArchiveInputStream;
2727
import org.apache.commons.compress.archivers.ArchiveOutputStream;
2828
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
29+
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
2930

3031
/**
3132
* Implementation of an {@link Archiver} that uses {@link ArchiveStreamFactory} to generate archive streams by a given
@@ -159,7 +160,13 @@ protected ArchiveInputStream createArchiveInputStream(InputStream archive) throw
159160
*/
160161
protected ArchiveOutputStream createArchiveOutputStream(File archiveFile) throws IOException {
161162
try {
162-
return CommonsStreamFactory.createArchiveOutputStream(this, archiveFile);
163+
ArchiveOutputStream archiveOutputStream = CommonsStreamFactory.createArchiveOutputStream(this, archiveFile);
164+
165+
if (archiveOutputStream instanceof TarArchiveOutputStream) {
166+
((TarArchiveOutputStream) archiveOutputStream).setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
167+
}
168+
169+
return archiveOutputStream;
163170
} catch (ArchiveException e) {
164171
throw new IOException(e);
165172
}

src/test/java/org/rauschig/jarchivelib/AbstractArchiverTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,9 @@ public void stream_returnsCorrectEntries() throws IOException {
167167
entries.add(entry.getName().replaceAll("/$", "")); // remove trailing slashes for test compatibility
168168
}
169169

170-
assertEquals(11, entries.size());
170+
assertEquals(12, entries.size());
171171
assertTrue(entries.contains("file.txt"));
172+
assertTrue(entries.contains("looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_filename.txt"));
172173
assertTrue(entries.contains("folder"));
173174
assertTrue(entries.contains("folder/folder_file.txt"));
174175
assertTrue(entries.contains("folder/subfolder/subfolder_file.txt"));

src/test/resources/Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1+
.PHONY = permissions archives compress clean
2+
13
CPF = compress.txt
24
AR = archive
35

4-
all: archives compress
6+
all: permissions archives compress
7+
8+
permissions:
9+
cd $(AR); \
10+
chmod 755 permissions/executable_file.txt; \
11+
chmod 700 permissions/private_executable_file.txt; \
12+
chmod 444 permissions/readonly_file.txt; \
13+
chmod 700 permissions/private_folder; \
14+
chmod 600 permissions/private_folder/private_file.txt;
515

616
## archives
717
## TODO: separate

src/test/resources/archive.7z

15 Bytes
Binary file not shown.

src/test/resources/archive.cpio

512 Bytes
Binary file not shown.

src/test/resources/archive.jar

571 Bytes
Binary file not shown.

src/test/resources/archive.tar

10 KB
Binary file not shown.

src/test/resources/archive.tar.bz2

57 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)