aboutsummaryrefslogtreecommitdiff
path: root/java
AgeCommit message (Collapse)AuthorFilesLines
2024-01-04Fix/simplify/improve Bazel buildEvgenii Kliuchnikov3-20/+52
PiperOrigin-RevId: 595656443
2024-01-03add test for one-shot encoding/decoding with offsetEvgenii Kliuchnikov1-7/+39
PiperOrigin-RevId: 595407007
2023-12-28Fix Encoder bugAayush Atharva1-1/+1
2023-11-29pull "InputStream" reference out of "pure" codeEvgenii Kliuchnikov5-17/+17
PiperOrigin-RevId: 586390725
2023-08-10Replace TS strict_checks with source-level suppressions.Evgenii Kliuchnikov1-4/+6
PiperOrigin-RevId: 555445920
2023-07-28add "repeat" to Java toy decoderEvgenii Kliuchnikov1-9/+20
PiperOrigin-RevId: 551770992
2023-07-14add synth test for metadata blockEvgenii Kliuchnikov1-2/+49
PiperOrigin-RevId: 548120163
2023-07-14add "zero cost command" synth testEvgenii Kliuchnikov1-41/+42
PiperOrigin-RevId: 548050521
2023-07-10simplify building of fuzzerEvgenii Kliuchnikov9-0/+0
PiperOrigin-RevId: 545950923
2023-07-06Fix integration .pomEvgenii Kliuchnikov1-3/+3
PiperOrigin-RevId: 545910020
2023-07-05update .pom filesEvgenii Kliuchnikov2-13/+19
PiperOrigin-RevId: 545659932
2023-07-04add brotli.tsEvgenii Kliuchnikov1-1/+1
PiperOrigin-RevId: 526966561
2023-07-04JS: stronger typingEvgenii Kliuchnikov7-158/+161
PiperOrigin-RevId: 526909255
2023-01-22avoid array allocation in Encoder.Mode enumSean C. Sullivan1-1/+4
2023-01-17Internal changeBrotli2-2/+2
PiperOrigin-RevId: 502401179
2023-01-04Java wrapper: allow using partial byte arrays (#999)Eugene Kliuchnikov2-21/+32
2022-12-20Fix bazel build (#989)Eugene Kliuchnikov5-10/+5
2022-11-17Fix typo (#951)Aayush Atharva1-1/+1
2022-11-17UpdateEvgenii Kliuchnikov7-16/+36
Documentation: - add note that brotli is a "stream" format, not an archive-like - regenerate .1 with Pandoc Build: - drop legacy "BROTLI_BUILD_PORTABLE" option - drop "BROTLI_SANITIZED" definition Code: - c: comb includes - c/enc: extract encoder state into separate header - c/enc: drop designated q10 codepath - c/enc: dealing better with flushing of empty stream - fix MSVC compilation API: - py: use library version instead of one in version.h - c: add plugable API to report consumed input / produced output - c/java: support "lean" prepared dictionaries (without copy of source)
2021-11-10Prepare for copybara (#939)Eugene Kliuchnikov9-22/+23
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-09-08Strip "./" in includes (#925)Eugene Kliuchnikov2-2/+2
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-08-31Migrate to github actions (#920)Eugene Kliuchnikov1-0/+3
Not all combinations are migrated to the initial configuration; corresponding TODOs added. Drive-by: additional combinations uncovered minor portability problems -> fixed Drive-by: remove no-longer used "script" files. Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-08-18Update (#918)Eugene Kliuchnikov12-7/+459
Prepare to use copybara worklow.
2021-08-04Merge-in SharedDictionary feature (#916)Eugene Kliuchnikov14-0/+427
Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
2021-07-29Update (#914)Eugene Kliuchnikov1-0/+9
* slimmer stack frames in encoder * fix MSAN problem in hasher_composite (not dangerous, only in large_window mode) * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes * reformat polyfil.js and decode_test.js
2021-06-23Update (#908)Eugene Kliuchnikov4-10/+13
* re-enable Js build/test * improve decoder performance * rewrite dictionary data in Java/Js to a shorter uncompressed form * improve dictionary generation tool
2021-03-24[Java] make it possible to set modes (generic, text, font) (#887)Martin Grigorov3-3/+46
* [Java] make it possible to set modes (generic, text, font)
2021-03-24Update bazel WORKSPACE files (#896)Eugene Kliuchnikov1-3/+6
* Update bazel WORKSPACE files * Use fresh OSX image * Cache homebrew dirs for faster startup
2021-01-18Update (#852)Eugene Kliuchnikov5-21/+35
* Update * comments and clarifications in block_splitter * power-of-2 aligned allocations for Hasher * refresh decode.js from Java sources * disable JS build
2021-01-08Fix typo in variable name (#854)Aayush Atharva1-2/+2
* Fix typo in variable name * Fix compile error
2021-01-08Bump junit from 4.12 to 4.13.1 in /java/org/brotli/dec (#853)dependabot[bot]1-1/+1
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-15Update (#807)Eugene Kliuchnikov16-55/+541
- fix formatting - fix type conversion - fix no-op arithmetic with null-pointer - improve performance of hash_longest_match64 - go: detect read after close - java decoder: support compound dictionary - remove executable flag on non-scripts
2020-03-31Update bazel to 2.2 + update config (#798)Eugene Kliuchnikov5-8/+20
Newer bazel does not support `maven_jar` rule anymore...
2019-08-07Add an option to avoid building shared libraries. (#766)Eugene Kliuchnikov1-2/+2
Add an option to avoid building shared libraries (for building with EMCC) Drive-by: * maven: ramp up java level to minimal required * travis: replace deprecated clang-5.0 with clang-7 * maven: fallback to jdk10 to void javadoc bug
2019-07-17Update (#762)Eugene Kliuchnikov6-0/+41
* put LICENSE file into .jar * fix typo * add clarification comment in PY wrapper
2019-07-16Explicitly mark tests/testdata/* as binary. (#761)Eugene Kliuchnikov1-1/+1
Fixes #760 Drive-by: * update go_rules * modernize brotli_inc * fix wrapper build * update PY to 3 in Travis / OSX / Bazel build * upgrade JS Bazel rules.
2019-05-03Update (#753)Eugene Kliuchnikov2-1/+1
* fix executable mode of decode.js * explain clang-analyser about non-nullability * fix "dead assignment" * rename proguard.cfg -> proguard.pgcfg
2019-04-12Update (#749)Eugene Kliuchnikov20-263/+741
Update: * Bazel: fix MSVC configuration * C: common: extended documentation and helpers around distance codes * C: common: enable BROTLI_DCHECK in "debug" builds * C: common: fix implicit trailing zero in `kPrefixSuffix` * C: dec: fix possible bit reader discharge for "large-window" mode * C: dec: simplify distance decoding via lookup table * C: dec: reuse decoder state members memory via union with lookup table * C: dec: add decoder state diagram * C: enc: clarify access to static dictionary * C: enc: improve static dictionary hash * C: enc: add "stream offset" parameter for parallel encoding * C: enc: reorganize hasher; now Q2-Q3 require exactly 256KiB to avoid global TCMalloc lock * C: enc: fix rare access to uninitialized data in ring-buffer * C: enc: reorganize logging / checks in `write_bits.h` * Java: dec: add "large-window" support * Java: dec: improve speed * Java: dec: debug and 32-bit mode are now activated via system properties * Java: dec: demystify some state variables (use better names) * Dictionary generator: add single input mode * Java: dec: modernize tests * Bazel: js: pick working commit for closure rules
2018-10-24Verbose CLI + start pulling "Shared-Brotli" (#722)Eugene Kliuchnikov5-64/+721
* Verbose CLI + start pulling "Shared-Brotli" * vesbose CLI output; fix #666 * pull `SHIFT` transforms; currently this is semantically dead code; later it will be used by "Shared-Brotli"
2018-10-18Remove dependency to full JDK. This should speedup clean builds. (#719)Eugene Kliuchnikov2-68/+40
* Remove dependency to full JDK. This should speedup clean builds. * Upgrade appveyor bazel
2018-09-13Update (#706)Eugene Kliuchnikov7-20/+68
Update * add ASAN/MSAN unaligned read specializations * add "brotli" prefix to u_uint64 type * increment version to 1.0.06 * fix CoverityScan "unused assignment" warning * fix JDK 8<->9 incompatibility * add encoder optimization for empty input * regenerate JS decoder * unbreak Travis builds
2018-06-11UpdateEugene Kliuchnikov1-2/+0
2018-06-09Update (#680)Eugene Kliuchnikov2-1/+16
* fix MSVC warnings * cleanups
2018-06-04Inverse bazel project/workspace tree (#677)Eugene Kliuchnikov8-107/+230
* Inverse bazel workspace tree. Now each subproject directly depends on root (c) project. This helps to mitigate Bazel bug bazelbuild/bazel#2391; short summary: Bazel does not work if referenced subproject `WORKSPACE` uses any repositories that embedding project does not. Bright side: building C project is much faster; no need to download closure, go and JDK...
2018-04-20Remove unprefixed macros from public headers (#662)Eugene Kliuchnikov1-1/+0
2018-03-02Update (#643)v1.0.3Eugene Kliuchnikov1-2/+2
Update * make the zopflification aware of `NDIRECT`, `NPOSTFIX` (better compression in `font` mode) * add small and simple decoder tool * fix typo * Java: wrapper: make decoder channel more async-friendly Ramp up version to 1.0.3 / 1.0.3
2018-02-26New feature: "Large Window Brotli" (#640)Eugene Kliuchnikov11-82/+588
* New feature: "Large Window Brotli" By setting special encoder/decoder flag it is now possible to extend LZ-window up to 30 bits; though produced stream will not be RFC7932 compliant. Added new dictionary generator - "DSH". It combines speed of "Sieve" and quality of "DM". Plus utilities to prepare train corpora (remove unique strings). Improved compression ratio: now two sub-blocks could be stitched: the last copy command could be extended to span the next sub-block. Fixed compression ineffectiveness caused by floating numbers rounding and wrong cost heuristic. Other C changes: - combined / moved `context.h` to `common` - moved transforms to `common` - unified some aspects of code formatting - added an abstraction for encoder (static) dictionary - moved default allocator/deallocator functions to `common` brotli CLI: - window size is auto-adjusted if not specified explicitly Java: - added "eager" decoding both to JNI wrapper and pure decoder - huge speed-up of `DictionaryData` initialization * Add dictionaryless compressed dictionary * Fix `sources.lst` * Fix `sources.lst` and add a note that `libtool` is also required. * Update setup.py * Fix `EagerStreamTest` * Fix BUILD file * Add missing `libdivsufsort` dependency * Fix "unused parameter" warning.
2017-10-10Fix permissions of various files in project (#613)Tomáš Popela53-0/+0
Move from 755 to 644.
2017-10-09Improve Bazel/JNI portability (#611)Eugene Kliuchnikov13-96/+103
* Improve Bazel/JNI portability * Update go and closure bazel addons
2017-09-19Update: (#600)Eugene Kliuchnikov6-499/+685
* encoder: relax backward references candidates asserts * encoder: make RNG more platform-independent * encoder: remove "unused" param (context mode) * CLI: improve first-encounter experience * Java: update SynthTest * Java: refine proguard config * Java/JNI: fix one-shot compression workflow