xref: /aosp_15_r20/external/apache-commons-compress/src/site/xdoc/index.xml (revision ba8755cb0ae00084b4d58129cd522613d3299f27)
1*ba8755cbSAndroid Build Coastguard Worker<?xml version="1.0"?>
2*ba8755cbSAndroid Build Coastguard Worker<!--
3*ba8755cbSAndroid Build Coastguard Worker
4*ba8755cbSAndroid Build Coastguard Worker   Licensed to the Apache Software Foundation (ASF) under one or more
5*ba8755cbSAndroid Build Coastguard Worker   contributor license agreements.  See the NOTICE file distributed with
6*ba8755cbSAndroid Build Coastguard Worker   this work for additional information regarding copyright ownership.
7*ba8755cbSAndroid Build Coastguard Worker   The ASF licenses this file to You under the Apache License, Version 2.0
8*ba8755cbSAndroid Build Coastguard Worker   (the "License"); you may not use this file except in compliance with
9*ba8755cbSAndroid Build Coastguard Worker   the License.  You may obtain a copy of the License at
10*ba8755cbSAndroid Build Coastguard Worker
11*ba8755cbSAndroid Build Coastguard Worker       http://www.apache.org/licenses/LICENSE-2.0
12*ba8755cbSAndroid Build Coastguard Worker
13*ba8755cbSAndroid Build Coastguard Worker   Unless required by applicable law or agreed to in writing, software
14*ba8755cbSAndroid Build Coastguard Worker   distributed under the License is distributed on an "AS IS" BASIS,
15*ba8755cbSAndroid Build Coastguard Worker   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16*ba8755cbSAndroid Build Coastguard Worker   See the License for the specific language governing permissions and
17*ba8755cbSAndroid Build Coastguard Worker   limitations under the License.
18*ba8755cbSAndroid Build Coastguard Worker
19*ba8755cbSAndroid Build Coastguard Worker-->
20*ba8755cbSAndroid Build Coastguard Worker<document>
21*ba8755cbSAndroid Build Coastguard Worker    <properties>
22*ba8755cbSAndroid Build Coastguard Worker        <title>Overview</title>
23*ba8755cbSAndroid Build Coastguard Worker        <author email="[email protected]">Commons Documentation Team</author>
24*ba8755cbSAndroid Build Coastguard Worker    </properties>
25*ba8755cbSAndroid Build Coastguard Worker    <body>
26*ba8755cbSAndroid Build Coastguard Worker        <section name="Apache Commons Compress&#x2122;">
27*ba8755cbSAndroid Build Coastguard Worker            <p>
28*ba8755cbSAndroid Build Coastguard Worker                The Apache Commons Compress library defines an API for
29*ba8755cbSAndroid Build Coastguard Worker                working with ar, cpio, Unix dump, tar, zip, gzip, XZ,
30*ba8755cbSAndroid Build Coastguard Worker                Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE, lz4,
31*ba8755cbSAndroid Build Coastguard Worker                Brotli, Zstandard, DEFLATE64 and Z files.
32*ba8755cbSAndroid Build Coastguard Worker            </p>
33*ba8755cbSAndroid Build Coastguard Worker            <p>
34*ba8755cbSAndroid Build Coastguard Worker                The code in this component has many origins:
35*ba8755cbSAndroid Build Coastguard Worker            </p>
36*ba8755cbSAndroid Build Coastguard Worker            <ul>
37*ba8755cbSAndroid Build Coastguard Worker              <li>The bzip2, tar and zip support came from Avalon's
38*ba8755cbSAndroid Build Coastguard Worker                Excalibur, but originally from Ant, as far as life in
39*ba8755cbSAndroid Build Coastguard Worker                Apache goes. The tar package is originally Tim Endres'
40*ba8755cbSAndroid Build Coastguard Worker                public domain package. The bzip2 package is based on
41*ba8755cbSAndroid Build Coastguard Worker                the work done by Keiron Liddle as well as Julian Seward's
42*ba8755cbSAndroid Build Coastguard Worker                <a href="http://www.bzip.org/index.html">libbzip2</a>.
43*ba8755cbSAndroid Build Coastguard Worker                It has migrated
44*ba8755cbSAndroid Build Coastguard Worker                via:<br/> Ant -&gt; Avalon-Excalibur -&gt; Commons-IO
45*ba8755cbSAndroid Build Coastguard Worker                -&gt; Commons-Compress.</li>
46*ba8755cbSAndroid Build Coastguard Worker              <li>The cpio package has been contributed by Michael Kuss
47*ba8755cbSAndroid Build Coastguard Worker                and
48*ba8755cbSAndroid Build Coastguard Worker                the <a href="http://jrpm.sourceforge.net/">jRPM</a>
49*ba8755cbSAndroid Build Coastguard Worker                project.</li>
50*ba8755cbSAndroid Build Coastguard Worker            </ul>
51*ba8755cbSAndroid Build Coastguard Worker
52*ba8755cbSAndroid Build Coastguard Worker        </section>
53*ba8755cbSAndroid Build Coastguard Worker
54*ba8755cbSAndroid Build Coastguard Worker        <section name="Status">
55*ba8755cbSAndroid Build Coastguard Worker          <p>The current release is 1.18 and requires Java 7.</p>
56*ba8755cbSAndroid Build Coastguard Worker
57*ba8755cbSAndroid Build Coastguard Worker          <p>Below we highlight some new features, for a full list
58*ba8755cbSAndroid Build Coastguard Worker          of changes see the <a href="changes-report.html">Changes
59*ba8755cbSAndroid Build Coastguard Worker          Report</a>.</p>
60*ba8755cbSAndroid Build Coastguard Worker
61*ba8755cbSAndroid Build Coastguard Worker          <subsection name="What's new in 1.18?">
62*ba8755cbSAndroid Build Coastguard Worker            <ul>
63*ba8755cbSAndroid Build Coastguard Worker              <li>The CPIO package now properly handles file names
64*ba8755cbSAndroid Build Coastguard Worker              using a mult-byte encoding.</li>
65*ba8755cbSAndroid Build Coastguard Worker              <li>ZipArchiveInputStream can now deal with APK files
66*ba8755cbSAndroid Build Coastguard Worker              containing an APK signing block.</li>
67*ba8755cbSAndroid Build Coastguard Worker              <li>It is now possible to specifiy various parameters
68*ba8755cbSAndroid Build Coastguard Worker              for Zstd output.</li>
69*ba8755cbSAndroid Build Coastguard Worker            </ul>
70*ba8755cbSAndroid Build Coastguard Worker          </subsection>
71*ba8755cbSAndroid Build Coastguard Worker        </section>
72*ba8755cbSAndroid Build Coastguard Worker
73*ba8755cbSAndroid Build Coastguard Worker        <section name="Documentation">
74*ba8755cbSAndroid Build Coastguard Worker          <p>The compress component is split into <em>compressors</em> and
75*ba8755cbSAndroid Build Coastguard Worker            <em>archivers</em>.  While <em>compressors</em>
76*ba8755cbSAndroid Build Coastguard Worker            (un)compress streams that usually store a single
77*ba8755cbSAndroid Build Coastguard Worker            entry, <em>archivers</em> deal with archives that contain
78*ba8755cbSAndroid Build Coastguard Worker            structured content represented
79*ba8755cbSAndroid Build Coastguard Worker            by <code>ArchiveEntry</code> instances which in turn
80*ba8755cbSAndroid Build Coastguard Worker            usually correspond to single files or directories.</p>
81*ba8755cbSAndroid Build Coastguard Worker
82*ba8755cbSAndroid Build Coastguard Worker          <p>Currently the bzip2, Pack200, XZ, gzip, lzma, brotli,
83*ba8755cbSAndroid Build Coastguard Worker            Zstandard and Z formats are
84*ba8755cbSAndroid Build Coastguard Worker            supported as compressors where gzip support is mostly provided by
85*ba8755cbSAndroid Build Coastguard Worker            the <code>java.util.zip</code> package and Pack200 support
86*ba8755cbSAndroid Build Coastguard Worker            by the <code>java.util.jar</code> package of the Java
87*ba8755cbSAndroid Build Coastguard Worker            class library.  XZ and lzma support is provided by the public
88*ba8755cbSAndroid Build Coastguard Worker            domain <a href="https://tukaani.org/xz/java.html">XZ for
89*ba8755cbSAndroid Build Coastguard Worker            Java</a> library.  Brotli support is provided by the MIT
90*ba8755cbSAndroid Build Coastguard Worker            licensed <a href="https://github.com/google/brotli">Google
91*ba8755cbSAndroid Build Coastguard Worker            Brotli decoder</a>. Zstandard support is provided by the BSD
92*ba8755cbSAndroid Build Coastguard Worker            licensed <a href="https://github.com/luben/zstd-jni">Zstd-jni</a>.
93*ba8755cbSAndroid Build Coastguard Worker            As of Commons Compress 1.18 support for the DEFLATE64, Z and Brotli
94*ba8755cbSAndroid Build Coastguard Worker            formats is read-only.</p>
95*ba8755cbSAndroid Build Coastguard Worker
96*ba8755cbSAndroid Build Coastguard Worker          <p>The ar, arj, cpio, dump, tar, 7z and zip formats are supported as
97*ba8755cbSAndroid Build Coastguard Worker            archivers where the <a href="zip.html">zip</a>
98*ba8755cbSAndroid Build Coastguard Worker            implementation provides capabilities that go beyond the
99*ba8755cbSAndroid Build Coastguard Worker            features found in java.util.zip.  As of Commons Compress
100*ba8755cbSAndroid Build Coastguard Worker            1.18 support for the dump and arj formats is
101*ba8755cbSAndroid Build Coastguard Worker            read-only - 7z can read most compressed and encrypted
102*ba8755cbSAndroid Build Coastguard Worker            archives but only write unencrypted ones.  LZMA(2) support
103*ba8755cbSAndroid Build Coastguard Worker            in 7z requires <a href="https://tukaani.org/xz/java.html">XZ for
104*ba8755cbSAndroid Build Coastguard Worker            Java</a> as well.</p>
105*ba8755cbSAndroid Build Coastguard Worker
106*ba8755cbSAndroid Build Coastguard Worker          <p>The compress component provides abstract base classes for
107*ba8755cbSAndroid Build Coastguard Worker            compressors and archivers together with factories that can
108*ba8755cbSAndroid Build Coastguard Worker            be used to choose implementations by algorithm name.  In
109*ba8755cbSAndroid Build Coastguard Worker            the case of input streams the factories can also be used
110*ba8755cbSAndroid Build Coastguard Worker            to guess the format and provide the matching
111*ba8755cbSAndroid Build Coastguard Worker            implementation.</p>
112*ba8755cbSAndroid Build Coastguard Worker
113*ba8755cbSAndroid Build Coastguard Worker          <ul>
114*ba8755cbSAndroid Build Coastguard Worker            <li>The <a href="examples.html">user guide</a> contains
115*ba8755cbSAndroid Build Coastguard Worker            more detailed information and some examples.</li>
116*ba8755cbSAndroid Build Coastguard Worker            <li>The <a href="limitations.html">known limitations and
117*ba8755cbSAndroid Build Coastguard Worker            problems</a> page lists the currently known problems
118*ba8755cbSAndroid Build Coastguard Worker            grouped by the format they apply to.</li>
119*ba8755cbSAndroid Build Coastguard Worker            <li>The <a href="apidocs/index.html">Javadoc</a> of the latest GIT</li>
120*ba8755cbSAndroid Build Coastguard Worker            <li>The <a href="https://git-wip-us.apache.org/repos/asf?p=commons-compress.git;a=tree">GIT
121*ba8755cbSAndroid Build Coastguard Worker                repository</a> can be browsed.</li>
122*ba8755cbSAndroid Build Coastguard Worker            </ul>
123*ba8755cbSAndroid Build Coastguard Worker        </section>
124*ba8755cbSAndroid Build Coastguard Worker        <section name="Releases">
125*ba8755cbSAndroid Build Coastguard Worker          <p>
126*ba8755cbSAndroid Build Coastguard Worker            <a href="https://commons.apache.org/compress/download_compress.cgi">Download now!</a>
127*ba8755cbSAndroid Build Coastguard Worker          </p>
128*ba8755cbSAndroid Build Coastguard Worker        </section>
129*ba8755cbSAndroid Build Coastguard Worker    </body>
130*ba8755cbSAndroid Build Coastguard Worker</document>
131