mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-29 10:24:12 +01:00
Support .tar.xz for ArchiveExtractor
Now ```tar.xz``` format is widely used, and the official arduino IDE download URL also shows that arduino uses ```tar.xz``` format. (https://downloads.arduino.cc/arduino-1.8.9-linux64.tar.xz). As we all know, the tar.xz format has the optimal size compared to tar, tar.gz, tar.bz2, and zip. (https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/) Therefore, it is very unreasonable not to support tar.xz. Supporting this format can save almost half of the bandwidth resources and download time when compressing the gcc toolchain, making users more comfortable. Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
parent
4e26d85230
commit
c88ff311f1
@ -36,6 +36,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
|
|||||||
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
|
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
|
||||||
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
|
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
|
||||||
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
|
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
|
||||||
|
import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
|
||||||
import org.apache.commons.compress.utils.IOUtils;
|
import org.apache.commons.compress.utils.IOUtils;
|
||||||
import processing.app.I18n;
|
import processing.app.I18n;
|
||||||
import processing.app.Platform;
|
import processing.app.Platform;
|
||||||
@ -98,6 +99,8 @@ public class ArchiveExtractor {
|
|||||||
in = new ZipArchiveInputStream(new FileInputStream(archiveFile));
|
in = new ZipArchiveInputStream(new FileInputStream(archiveFile));
|
||||||
} else if (archiveFile.getName().endsWith("tar.gz")) {
|
} else if (archiveFile.getName().endsWith("tar.gz")) {
|
||||||
in = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream(archiveFile)));
|
in = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream(archiveFile)));
|
||||||
|
} else if (archiveFile.getName().endsWith("tar.xz")) {
|
||||||
|
in = new TarArchiveInputStream(new XZCompressorInputStream(new FileInputStream(archiveFile)));
|
||||||
} else if (archiveFile.getName().endsWith("tar")) {
|
} else if (archiveFile.getName().endsWith("tar")) {
|
||||||
in = new TarArchiveInputStream(new FileInputStream(archiveFile));
|
in = new TarArchiveInputStream(new FileInputStream(archiveFile));
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user