scripts


Log

Author Commit Date CI Message
Evgenii Kliuchnikov ce9c16e8 2023-09-13T05:13:11 upload full testdata archive PiperOrigin-RevId: 565017690
Evgenii Kliuchnikov feb6d8bc 2023-08-21T03:34:13 prepare for 1.1.0rc PiperOrigin-RevId: 558736892
Evgenii Kliuchnikov 27a9a809 2023-07-30T03:44:38 simplify CMake build PiperOrigin-RevId: 552238545
Evgenii Kliuchnikov a8f5813b 2022-11-17T13:03:09 Update 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)
Eugene Kliuchnikov 0e42caf3 2021-08-31T14:07:17 Migrate to github actions (#920) 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>
Eugene Kliuchnikov 19d86fb9 2021-08-04T14:42:02 Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov f8c67177 2021-06-23T09:40:57 Update (#908) * re-enable Js build/test * improve decoder performance * rewrite dictionary data in Java/Js to a shorter uncompressed form * improve dictionary generation tool
Christian Clauss 63be8a99 2021-01-27T15:08:05 unichr was removed in Python 3 because all str are Unicode (#877) https://python-future.org/compatible_idioms.html#unichr
Eugene Kliuchnikov 5692e422 2021-01-18T10:56:39 Update (#852) * Update * comments and clarifications in block_splitter * power-of-2 aligned allocations for Hasher * refresh decode.js from Java sources * disable JS build
Eugene Kliuchnikov 09b0992b 2020-09-02T11:38:26 Revert "Add runtime linker path to pkg-config files (#740)" (#838) This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1.
Eugene Kliuchnikov 665e81dc 2020-08-26T14:36:02 New version: 1.0.8 (#827)
Eugene Kliuchnikov 223d80cf 2020-08-26T12:32:27 Update (#826) * IMPORTANT: decoder: fix potential overflow when input chunk is >2GiB * simplify max Huffman table size calculation * eliminate symbol duplicates (static arrays in .h files) * minor combing in research/ code
Nils Goroll 31754d4f 2020-05-15T13:11:01 Add runtime linker path to pkg-config files (#740) Otherwise libraries will not be found at runtime when installing to a path not included in the default runtime linker's path with programs linking brotli configured via pkg-config.
Eugene Kliuchnikov f83aa516 2020-03-31T14:38:01 Update bazel to 2.2 + update config (#798) Newer bazel does not support `maven_jar` rule anymore...
Eugene Kliuchnikov 40f0fdcd 2019-07-16T17:49:14 Explicitly mark tests/testdata/* as binary. (#761) 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.
Eugene Kliuchnikov a799e34c 2018-10-18T17:25:05 Remove dependency to full JDK. This should speedup clean builds. (#719) * Remove dependency to full JDK. This should speedup clean builds. * Upgrade appveyor bazel
Stephen Kyle 67f059ea 2018-09-27T10:00:33 Cross compilation support (#709) * build: add cross-compilation support to make Set CROSS_COMPILE when running make to use the selected cross compilation toolchain, such as arm-linux-gnueabihf, or aarch64-linux-gnu. Testing requires the presence of qemu - 'qemu-$(ARCH)' will be executed, where ARCH is the first part of the toolchain triplet. * build: add cross-compilation support to cmake If C_COMPILER/CXX_COMPILER/CC/CXX are found to have cross-compilation triplets in front of the compiler, then qemu will be used to execute the tests. * CI: add arm-linux-gnueabihf-gcc builder to Travis The version of qemu available in Ubuntu trusty (as provided by Travis) appears to have a bug in qemu-aarch64, which leads to the compatibility tests failing on some inputs, erroneously rejecting the input as corrupt. Once Travis supports xenial, we could add an aarch64-gnu-linux-gcc builder as well. * CI: propagate cmake errors out of .travis.sh Seems like even if cmake fails, the error isn't picked up by Travis.
William A. Kennington III fc4d3459 2018-07-09T01:40:08 Fix missing header files (#695) Our dist tarball is missing hash_rolling_inc.h and hash_composite_inc.h, which causes subsequent autotools builds to fail. Fix this by adding it to the sources list. Signed-off-by: William A. Kennington III <william@wkennington.com>
Eugene Kliuchnikov ff05c351 2018-06-18T13:13:23 Add VS2017 release Appveyor build (#685)
Eugene Kliuchnikov 1e7ea1d8 2018-06-04T17:53:16 Inverse bazel project/workspace tree (#677) * 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...
Eugene Kliuchnikov a4581c15 2018-05-16T12:59:09 Add tools to download and transform static dictionary data. (#670)
Cosimo Lupo f94cd51b 2018-04-20T18:31:51 appveyor: fix issue self-upgradig pip to v10 (#663) Installing with --user will leave the old pip.exe script in the $PATH, but running this will fail because pip 10 moved 'main' to internal modules. https://github.com/pypa/pip/issues/5240#issuecomment-382989420
Eugene Kliuchnikov 68db5c02 2018-04-13T11:44:34 Update (#660) * Update * improve q=1 compression on small files * fix "left shift before promotion" * fix osx Travis builds
Eugene Kliuchnikov 631fe194 2018-03-20T17:37:41 Update (#651) * fix `bazel` build (ignore switch case fall-through) * add `NPOSTFIX` / `NDIRECT` encoder parameters * fix source file lists (add `params.h`) * fix bug in `durchschlag` * print clarifying messages wheb CLI argument parsing fails
Eugene Kliuchnikov 35e69fc7 2018-02-26T09:04:36 New feature: "Large Window Brotli" (#640) * 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.
Eugene Kliuchnikov 3af18990 2018-02-08T14:38:10 Update go and closure bazel rules (#637) * Update go and closure bazel rules * Follow the new bazel go rules guide * Swap go & closure rules initialization * Update bazel to 0.10.0 in appveyor build
Eugene Kliuchnikov 2d6b298e 2017-11-30T20:54:04 Update Travis matrix (#626) * Use Clang-5.0 * Disable unholy ASAN leak detector (to unbreak build) * Reduce build matrix and use faster env, where compiler version is not important * Add autotools build to Travis matrix
Eugene Kliuchnikov 0ad94eed 2017-11-28T15:37:28 Update (#620) * add autotools build * separate semantic and ABI version * extract sources.lst (used by CMake and Automake) * share pkgconfig templates (used by CMake and Automake) * decoder: always set `total_out` * encoder: fix `BROTLI_ENSURE_CAPACITY` macro (no-op after preprocessor) * decoder/encoder: refine `free_func` contract
Eugene Kliuchnikov 9c75a2a2 2017-10-11T22:26:37 Use bazel in appveyor (#612) +publish jni dll
Eugene Kliuchnikov 4f8cd4c0 2017-09-26T13:49:30 Fix fuzzer test script and add it to travis matrix (#606)
Eugene Kliuchnikov 52f04833 2017-09-19T09:40:48 Build both static and shared libs with CMake (#599)
Eugene Kliuchnikov 6b1d0ab5 2017-09-18T13:05:47 CI config * Appveyor: publish artifacts on bintray * Appveyor & Travis: build only master branch
Eugene Kliuchnikov 26a34a43 2017-09-14T16:14:05 Employ make/gcc on Appveyor + push artifacts (#596)
Cosimo Lupo 4f455cac 2017-08-23T19:45:13 disable buidling/deployment of python wheels (#583) * [appveyor] remove 'deploy' stage; only test python 2.7 and 3.6 all the other python versions are being built and tested on https://github.com/google/brotli-wheels/blob/d571d63/appveyor.yml * remove terrify submodule as not needed any more * [travis] just test py2.7 and 3.6 on linux; remove extra osx python builds All the other python versions for OSX are being built/tested on: https://github.com/google/brotli-wheels/blob/d571d63/.travis.yml Also, there's no need to build and deploy wheels here, as that's done in the separate repository. * [setup.py] only rebuild if dependency are newer; fix typo in list of 'depends' https://github.com/python/cpython/blob/v3.6.2/Lib/distutils/command/build_ext.py#L485-L500 * [ci] only run 'python setup.py test' if we run 'python setup.py built test', the setuptools 'test' command will forcibly re-run the build_ext subcommand because it wants to pass the --inplace option (it ignores whether it's up to date, just re-runs it all the time). with this we go from running built_ext twice, to running it only once per build * [Makefile] run 'build_ext --inplace' instead of 'develop' as default target The 'develop' command is like 'install' in the sense that it modifies the user's python environment. The default make target should be less intrusive, i.e. just building the extension module in-place without modify anything in the user's environment. We don't need to tell make about the dependency between 'test' and 'build' target as that is baked in the `python setup.py test` command. * [Makefile] add 'develop' target; remove unnecessary 'tests' target `make test` is good enough * [Makefile] `setup.py test` requires setuptools; run `python -m unittest` This will work even if setuptools is not installed, which is unlikely nowadays but still our `setup.py` works with plain distutils, so we may well have our tests work without setuptools. * [python/README.md] add ref to 'develop' target; remove 'tests', just 'make test' * [setup.py] import modules as per nicksay's comment https://github.com/google/brotli/pull/583#discussion_r131981049 * [Makefile] add 'develop' to .PHONY targets remove 'tests' from .PHONY * [appveyor] remove unused setup scripts We don't need to install custom python versions, we are using the pre-installed ones on Appveyor. * [appveyor] remove unneeded setup code
Eugene Kliuchnikov efdff3f1 2017-06-22T11:38:49 Fix linux-bazel build (#566) Install bazel via apt-source
Eugene Kliuchnikov 19dc934e 2017-06-01T13:51:18 Add JNI wrappers. (#556)
Eugene Kliuchnikov 03739d2b 2017-05-29T17:55:14 Update (#555) Update: * new CLI; bro -> brotli; + man page * JNI wrappers preparation (for bazel build) * add raw binary dictionary representation `dictionary.bin` * add ability to side-load brotli RFC dictionary * decoder persists last error now * fix `BrotliDecoderDecompress` documentation * go reader don't block until necessary * more consistent bazel target names * Java dictionary data compiled footprint reduced * Java tests refactoring
Eugene Kliuchnikov 6ece1d87 2017-04-23T14:07:08 Move files & update paths (#541) * Move files & update paths * Rename build to scripts. * Fix paths * Fix script.