You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2017/05/02 19:22:07 UTC
commons-compress git commit: [COMPRESS-392] Add Brotli decoder based
on the Google Brotli library.
Repository: commons-compress
Updated Branches:
refs/heads/master 932d4f899 -> a793612b9
[COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/a793612b
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/a793612b
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/a793612b
Branch: refs/heads/master
Commit: a793612b9e09795feb253aab9a738bd1f7280700
Parents: 932d4f8
Author: Philippe Mouawad <p....@ubik-ingenierie.com>
Authored: Tue May 2 12:22:04 2017 -0700
Committer: Gary Gregory <ga...@gmail.com>
Committed: Tue May 2 12:22:04 2017 -0700
----------------------------------------------------------------------
pom.xml | 7 ++++++
src/changes/changes.xml | 3 +++
.../compressors/CompressorStreamFactory.java | 25 +++++++++++++++++++-
3 files changed, 34 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9745d1b..4cc629a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,6 +68,12 @@ jar, tar, zip, dump, 7z, arj.
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.brotli</groupId>
+ <artifactId>dec</artifactId>
+ <version>0.1.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.6</version>
@@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
<configuration>
<instructions>
<Import-Package>org.tukaani.xz;resolution:=optional</Import-Package>
+ <Import-Package>org.brotli.dec;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d40a1a8..acd06f0 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -103,6 +103,9 @@ The <action> type attribute can be add,update,fix,remove.
Internal location pointer in ZipFile could get incremented
even if nothing had been read.
</action>
+ <action issue="COMPRESS-392" type="add" date="2017-05-02" due-to="Philippe Mouawad">
+ Add Brotli decoder based on the Google Brotli library.
+ </action>
</release>
<release version="1.13" date="2016-12-29"
description="Release 1.13 - API compatible to 1.12 but requires Java 7 at runtime.">
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
index b12fc1a..29cf0cf 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
@@ -31,6 +31,8 @@ import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
+import org.apache.commons.compress.compressors.brotli.BrotliCompressorInputStream;
+import org.apache.commons.compress.compressors.brotli.BrotliUtils;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream;
@@ -93,6 +95,16 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
private static final CompressorStreamFactory SINGLETON = new CompressorStreamFactory();
+
+
+ /**
+ * Constant (value {@value}) used to identify the BROTLI compression
+ * algorithm.
+ *
+ * @since 1.1
+ */
+ public static final String BROTLI = "br";
+
/**
* Constant (value {@value}) used to identify the BZIP2 compression
* algorithm.
@@ -263,6 +275,10 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
private static ArrayList<CompressorStreamProvider> findCompressorStreamProviders() {
return Lists.newArrayList(serviceLoaderIterator());
}
+
+ public static String getBrotli() {
+ return BROTLI;
+ }
public static String getBzip2() {
return BZIP2;
@@ -524,6 +540,13 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
if (BZIP2.equalsIgnoreCase(name)) {
return new BZip2CompressorInputStream(in, actualDecompressConcatenated);
}
+
+ if (BROTLI.equalsIgnoreCase(name)) {
+ if (!BrotliUtils.isBrotliCompressionAvailable()) {
+ throw new CompressorException("Brotli compression is not available.");
+ }
+ return new BrotliCompressorInputStream(in);
+ }
if (XZ.equalsIgnoreCase(name)) {
if (!XZUtils.isXZCompressionAvailable()) {
@@ -677,7 +700,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
@Override
public Set<String> getInputStreamCompressorNames() {
- return Sets.newHashSet(GZIP, BZIP2, XZ, LZMA, PACK200, DEFLATE, SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
+ return Sets.newHashSet(GZIP, BROTLI, BZIP2, XZ, LZMA, PACK200, DEFLATE, SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
LZ4_FRAMED);
}
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder
based on the Google Brotli library.
Posted by Gary Gregory <ga...@gmail.com>.
On Thu, May 4, 2017 at 8:58 PM, Stefan Bodewig <bo...@apache.org> wrote:
> On 2017-05-04, Stefan Bodewig wrote:
>
> > On 2017-05-03, Gary Gregory wrote:
>
> >> Maybe a PR would help ;-)
>
> > dec probably doesn't really use Maven to build even though there is a
> > POM.
>
> Turns out a patch to the POM has been good enough :-)
>
Nice :-)
Gary
>
> https://github.com/google/brotli/pull/545
>
> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
--
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
Posted by Stefan Bodewig <bo...@apache.org>.
On 2017-05-04, Stefan Bodewig wrote:
> On 2017-05-03, Gary Gregory wrote:
>> Maybe a PR would help ;-)
> dec probably doesn't really use Maven to build even though there is a
> POM.
Turns out a patch to the POM has been good enough :-)
https://github.com/google/brotli/pull/545
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
Posted by Stefan Bodewig <bo...@apache.org>.
On 2017-05-03, Gary Gregory wrote:
> On May 2, 2017 9:19 PM, "Stefan Bodewig" <bo...@apache.org> wrote:
>> On 2017-05-02, <gg...@apache.org> wrote:
>>> @@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
>>> <configuration>
>>> <instructions>
>>> <Import-Package>org.tukaani.xz;resolution:=optional</Import-Package>
>>> + <Import-Package>org.brotli.dec;resolution:=optional</Import-Package>
>>> </instructions>
>>> </configuration>
>>> </plugin>
>> org.brotli:dec is not an OSGi bundle as far as I can tell. Is this going
>> to work or will it break Compress in an OSGi environment?
Looking at what we did back with
https://issues.apache.org/jira/browse/COMPRESS-199 (Jukka's proposed
patch) this may actually be enough.
> Good question... I do not see use of the bundle plugin in
> https://github.com/google/brotli/blob/master/java/org/brotli/dec/pom.xml
> Assuming I am looking in right place...
> Maybe a PR would help ;-)
Yeah, I did that for XZ for Java at that time.
dec probably doesn't really use Maven to build even though there is a
POM. I suspect it is using Bazel (see the BUILD file inside the source
directory), I'd need to figure out how to add a manifest to a Bazel
built jar first. Might move "take a closer look at Bazel" further up on
my TODO list. :-)
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder
based on the Google Brotli library.
Posted by Gary Gregory <ga...@gmail.com>.
On May 2, 2017 9:19 PM, "Stefan Bodewig" <bo...@apache.org> wrote:
On 2017-05-02, <gg...@apache.org> wrote:
> @@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
> <configuration>
> <instructions>
> <Import-Package>org.tukaani.xz;resolution:=optional</
Import-Package>
> + <Import-Package>org.brotli.dec;resolution:=optional</
Import-Package>
> </instructions>
> </configuration>
> </plugin>
org.brotli:dec is not an OSGi bundle as far as I can tell. Is this going
to work or will it break Compress in an OSGi environment?
Good question... I do not see use of the bundle plugin in
https://github.com/google/brotli/blob/master/java/org/brotli/dec/pom.xml
Assuming I am looking in right place...
Maybe a PR would help ;-)
Gary
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
Posted by Stefan Bodewig <bo...@apache.org>.
On 2017-05-02, <gg...@apache.org> wrote:
> @@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
> <configuration>
> <instructions>
> <Import-Package>org.tukaani.xz;resolution:=optional</Import-Package>
> + <Import-Package>org.brotli.dec;resolution:=optional</Import-Package>
> </instructions>
> </configuration>
> </plugin>
org.brotli:dec is not an OSGi bundle as far as I can tell. Is this going
to work or will it break Compress in an OSGi environment?
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder
based on the Google Brotli library.
Posted by Gary Gregory <ga...@gmail.com>.
On Tue, May 2, 2017 at 3:38 PM, Bindul Bhowmik <bi...@gmail.com>
wrote:
> On Tue, May 2, 2017 at 1:22 PM, <gg...@apache.org> wrote:
> > Repository: commons-compress
> > Updated Branches:
> > refs/heads/master 932d4f899 -> a793612b9
> >
> >
> > [COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
> >
> > Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/
> commit/a793612b
> > Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/
> tree/a793612b
> > Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/
> diff/a793612b
> >
> > Branch: refs/heads/master
> > Commit: a793612b9e09795feb253aab9a738bd1f7280700
> > Parents: 932d4f8
> > Author: Philippe Mouawad <p....@ubik-ingenierie.com>
> > Authored: Tue May 2 12:22:04 2017 -0700
> > Committer: Gary Gregory <ga...@gmail.com>
> > Committed: Tue May 2 12:22:04 2017 -0700
> >
> > ----------------------------------------------------------------------
> > pom.xml | 7 ++++++
> > src/changes/changes.xml | 3 +++
> > .../compressors/CompressorStreamFactory.java | 25
> +++++++++++++++++++-
> > 3 files changed, 34 insertions(+), 1 deletion(-)
> > ----------------------------------------------------------------------
> >
> >
> > http://git-wip-us.apache.org/repos/asf/commons-compress/
> blob/a793612b/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/pom.xml b/pom.xml
> > index 9745d1b..4cc629a 100644
> > --- a/pom.xml
> > +++ b/pom.xml
> > @@ -68,6 +68,12 @@ jar, tar, zip, dump, 7z, arj.
> > <scope>test</scope>
> > </dependency>
> > <dependency>
> > + <groupId>org.brotli</groupId>
> > + <artifactId>dec</artifactId>
> > + <version>0.1.1</version>
> > + <optional>true</optional>
> > + </dependency>
> > + <dependency>
> > <groupId>org.tukaani</groupId>
> > <artifactId>xz</artifactId>
> > <version>1.6</version>
> > @@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
> > <configuration>
> > <instructions>
> > <Import-Package>org.tukaani.xz;resolution:=optional</
> Import-Package>
> > + <Import-Package>org.brotli.dec;resolution:=optional</
> Import-Package>
> > </instructions>
> > </configuration>
> > </plugin>
> >
> > http://git-wip-us.apache.org/repos/asf/commons-compress/
> blob/a793612b/src/changes/changes.xml
> > ----------------------------------------------------------------------
> > diff --git a/src/changes/changes.xml b/src/changes/changes.xml
> > index d40a1a8..acd06f0 100644
> > --- a/src/changes/changes.xml
> > +++ b/src/changes/changes.xml
> > @@ -103,6 +103,9 @@ The <action> type attribute can be
> add,update,fix,remove.
> > Internal location pointer in ZipFile could get incremented
> > even if nothing had been read.
> > </action>
> > + <action issue="COMPRESS-392" type="add" date="2017-05-02"
> due-to="Philippe Mouawad">
> > + Add Brotli decoder based on the Google Brotli library.
> > + </action>
> > </release>
> > <release version="1.13" date="2016-12-29"
> > description="Release 1.13 - API compatible to 1.12 but
> requires Java 7 at runtime.">
> >
> > http://git-wip-us.apache.org/repos/asf/commons-compress/
> blob/a793612b/src/main/java/org/apache/commons/compress/compressors/
> CompressorStreamFactory.java
> > ----------------------------------------------------------------------
> > diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
> b/src/main/java/org/apache/commons/compress/compressors/
> CompressorStreamFactory.java
> > index b12fc1a..29cf0cf 100644
> > --- a/src/main/java/org/apache/commons/compress/compressors/
> CompressorStreamFactory.java
> > +++ b/src/main/java/org/apache/commons/compress/compressors/
> CompressorStreamFactory.java
> > @@ -31,6 +31,8 @@ import java.util.Set;
> > import java.util.SortedMap;
> > import java.util.TreeMap;
> >
> > +import org.apache.commons.compress.compressors.brotli.
> BrotliCompressorInputStream;
> > +import org.apache.commons.compress.compressors.brotli.BrotliUtils;
> > import org.apache.commons.compress.compressors.bzip2.
> BZip2CompressorInputStream;
> > import org.apache.commons.compress.compressors.bzip2.
> BZip2CompressorOutputStream;
> > import org.apache.commons.compress.compressors.deflate.
> DeflateCompressorInputStream;
> > @@ -93,6 +95,16 @@ public class CompressorStreamFactory implements
> CompressorStreamProvider {
> >
> > private static final CompressorStreamFactory SINGLETON = new
> CompressorStreamFactory();
> >
> > +
> > +
> > + /**
> > + * Constant (value {@value}) used to identify the BROTLI compression
> > + * algorithm.
> > + *
> > + * @since 1.1
> > + */
> > + public static final String BROTLI = "br";
>
> Gary,
>
> Shouldn't the @since value be 1.14 here?
>
Yes, good catch. Fixed in git master.
Thank you for the review.
Gary
>
> Bindul
>
> > +
> > /**
> > * Constant (value {@value}) used to identify the BZIP2 compression
> > * algorithm.
> > @@ -263,6 +275,10 @@ public class CompressorStreamFactory implements
> CompressorStreamProvider {
> > private static ArrayList<CompressorStreamProvider>
> findCompressorStreamProviders() {
> > return Lists.newArrayList(serviceLoaderIterator());
> > }
> > +
> > + public static String getBrotli() {
> > + return BROTLI;
> > + }
> >
> > public static String getBzip2() {
> > return BZIP2;
> > @@ -524,6 +540,13 @@ public class CompressorStreamFactory implements
> CompressorStreamProvider {
> > if (BZIP2.equalsIgnoreCase(name)) {
> > return new BZip2CompressorInputStream(in,
> actualDecompressConcatenated);
> > }
> > +
> > + if (BROTLI.equalsIgnoreCase(name)) {
> > + if (!BrotliUtils.isBrotliCompressionAvailable()) {
> > + throw new CompressorException("Brotli compression
> is not available.");
> > + }
> > + return new BrotliCompressorInputStream(in);
> > + }
> >
> > if (XZ.equalsIgnoreCase(name)) {
> > if (!XZUtils.isXZCompressionAvailable()) {
> > @@ -677,7 +700,7 @@ public class CompressorStreamFactory implements
> CompressorStreamProvider {
> >
> > @Override
> > public Set<String> getInputStreamCompressorNames() {
> > - return Sets.newHashSet(GZIP, BZIP2, XZ, LZMA, PACK200, DEFLATE,
> SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
> > + return Sets.newHashSet(GZIP, BROTLI, BZIP2, XZ, LZMA, PACK200,
> DEFLATE, SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
> > LZ4_FRAMED);
> > }
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
--
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Re: commons-compress git commit: [COMPRESS-392] Add Brotli decoder
based on the Google Brotli library.
Posted by Bindul Bhowmik <bi...@gmail.com>.
On Tue, May 2, 2017 at 1:22 PM, <gg...@apache.org> wrote:
> Repository: commons-compress
> Updated Branches:
> refs/heads/master 932d4f899 -> a793612b9
>
>
> [COMPRESS-392] Add Brotli decoder based on the Google Brotli library.
>
> Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
> Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/a793612b
> Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/a793612b
> Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/a793612b
>
> Branch: refs/heads/master
> Commit: a793612b9e09795feb253aab9a738bd1f7280700
> Parents: 932d4f8
> Author: Philippe Mouawad <p....@ubik-ingenierie.com>
> Authored: Tue May 2 12:22:04 2017 -0700
> Committer: Gary Gregory <ga...@gmail.com>
> Committed: Tue May 2 12:22:04 2017 -0700
>
> ----------------------------------------------------------------------
> pom.xml | 7 ++++++
> src/changes/changes.xml | 3 +++
> .../compressors/CompressorStreamFactory.java | 25 +++++++++++++++++++-
> 3 files changed, 34 insertions(+), 1 deletion(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/pom.xml
> ----------------------------------------------------------------------
> diff --git a/pom.xml b/pom.xml
> index 9745d1b..4cc629a 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -68,6 +68,12 @@ jar, tar, zip, dump, 7z, arj.
> <scope>test</scope>
> </dependency>
> <dependency>
> + <groupId>org.brotli</groupId>
> + <artifactId>dec</artifactId>
> + <version>0.1.1</version>
> + <optional>true</optional>
> + </dependency>
> + <dependency>
> <groupId>org.tukaani</groupId>
> <artifactId>xz</artifactId>
> <version>1.6</version>
> @@ -245,6 +251,7 @@ jar, tar, zip, dump, 7z, arj.
> <configuration>
> <instructions>
> <Import-Package>org.tukaani.xz;resolution:=optional</Import-Package>
> + <Import-Package>org.brotli.dec;resolution:=optional</Import-Package>
> </instructions>
> </configuration>
> </plugin>
>
> http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/src/changes/changes.xml
> ----------------------------------------------------------------------
> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
> index d40a1a8..acd06f0 100644
> --- a/src/changes/changes.xml
> +++ b/src/changes/changes.xml
> @@ -103,6 +103,9 @@ The <action> type attribute can be add,update,fix,remove.
> Internal location pointer in ZipFile could get incremented
> even if nothing had been read.
> </action>
> + <action issue="COMPRESS-392" type="add" date="2017-05-02" due-to="Philippe Mouawad">
> + Add Brotli decoder based on the Google Brotli library.
> + </action>
> </release>
> <release version="1.13" date="2016-12-29"
> description="Release 1.13 - API compatible to 1.12 but requires Java 7 at runtime.">
>
> http://git-wip-us.apache.org/repos/asf/commons-compress/blob/a793612b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
> ----------------------------------------------------------------------
> diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
> index b12fc1a..29cf0cf 100644
> --- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
> +++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
> @@ -31,6 +31,8 @@ import java.util.Set;
> import java.util.SortedMap;
> import java.util.TreeMap;
>
> +import org.apache.commons.compress.compressors.brotli.BrotliCompressorInputStream;
> +import org.apache.commons.compress.compressors.brotli.BrotliUtils;
> import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
> import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
> import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream;
> @@ -93,6 +95,16 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
>
> private static final CompressorStreamFactory SINGLETON = new CompressorStreamFactory();
>
> +
> +
> + /**
> + * Constant (value {@value}) used to identify the BROTLI compression
> + * algorithm.
> + *
> + * @since 1.1
> + */
> + public static final String BROTLI = "br";
Gary,
Shouldn't the @since value be 1.14 here?
Bindul
> +
> /**
> * Constant (value {@value}) used to identify the BZIP2 compression
> * algorithm.
> @@ -263,6 +275,10 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
> private static ArrayList<CompressorStreamProvider> findCompressorStreamProviders() {
> return Lists.newArrayList(serviceLoaderIterator());
> }
> +
> + public static String getBrotli() {
> + return BROTLI;
> + }
>
> public static String getBzip2() {
> return BZIP2;
> @@ -524,6 +540,13 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
> if (BZIP2.equalsIgnoreCase(name)) {
> return new BZip2CompressorInputStream(in, actualDecompressConcatenated);
> }
> +
> + if (BROTLI.equalsIgnoreCase(name)) {
> + if (!BrotliUtils.isBrotliCompressionAvailable()) {
> + throw new CompressorException("Brotli compression is not available.");
> + }
> + return new BrotliCompressorInputStream(in);
> + }
>
> if (XZ.equalsIgnoreCase(name)) {
> if (!XZUtils.isXZCompressionAvailable()) {
> @@ -677,7 +700,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
>
> @Override
> public Set<String> getInputStreamCompressorNames() {
> - return Sets.newHashSet(GZIP, BZIP2, XZ, LZMA, PACK200, DEFLATE, SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
> + return Sets.newHashSet(GZIP, BROTLI, BZIP2, XZ, LZMA, PACK200, DEFLATE, SNAPPY_RAW, SNAPPY_FRAMED, Z, LZ4_BLOCK,
> LZ4_FRAMED);
> }
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org