mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
* Try making some GitHub Actions * GHA: Add OS X, Windows, and Linux w/ scan-build builds * Add link to discord server Add link to discord server * Update Ubuntu to 22.04 for GitHub Actions * Remove if condition for Ubuntu build * Fix MacOS OS on GitHub Actions * Fix python3 package on GitHub Actions * Disalbe valgrind Getting failed tests: https://github.com/jqlang/jq/actions/runs/5113866588/jobs/9193542140#step:9:341 * Format file * Fix macos build * Fix syntax errors of windows build https://github.com/jqlang/jq/actions/runs/5114162556/workflow * Install windows package with choco * Pin oniguruma to 5a24a49d710a9e3bb8ff11d12e1eae5a9f9df40c MacOS build [fails](https://github.com/jqlang/jq/actions/runs/5114162555/jobs/9194126677#step:6:3160) due to ``` posix.c:94:3: error: implicit declaration of function 'onig_end' is invalid in C99 [-Werror,-Wimplicit-function-declaration] onig_end(); ``` The current `oniguruma` revision 6fa38f4084b448592888ed9ee43c6e90a46b5f5c (15 Mar 2017) lacks the following explicit declaration in src/onigposix.h: ``` ONIG_EXTERN int onig_end P_((void)); ``` This was added to oniguruma in revision 5a24a49d710a9e3bb8ff11d12e1eae5a9f9df40c (8 Sep 2017). Ref: https://github.com/jqlang/jq/issues/2381 * Revert windows build to use pacman * Don't zip jq.exe * Fixing windows build * Update .gitattriutes for eol on Windows * Skip workflow_dispatch for windows build * Clean up builds * Use LF line endings for all text Ref: https://github.com/actions/checkout/issues/135 * Fix test that has rounding error https://github.com/jqlang/jq/pull/2596#issuecomment-1568498993 * Enable CI for all --------- Co-authored-by: Nicolas Williams <nico@cryptonector.com>
80 lines
3.0 KiB
Markdown
80 lines
3.0 KiB
Markdown
jq
|
|
==
|
|
|
|
jq is a lightweight and flexible command-line JSON processor.
|
|
|
|
[](https://coveralls.io/github/stedolan/jq?branch=master),
|
|
Unix: [](https://travis-ci.org/stedolan/jq),
|
|
Windows: [](https://ci.appveyor.com/project/stedolan/jq)
|
|
|
|
|
|
If you want to learn to use jq, read the documentation at
|
|
[https://jqlang.github.io/jq](https://jqlang.github.io/jq). This
|
|
documentation is generated from the docs/ folder of this repository.
|
|
You can also try it online at [jqplay.org](https://jqplay.org).
|
|
|
|
If you want to hack on jq, feel free, but be warned that its internals
|
|
are not well-documented at the moment. Bring a hard hat and a
|
|
shovel. Also, read the wiki: https://github.com/jqlang/jq/wiki, where
|
|
you will find cookbooks, discussion of advanced topics, internals,
|
|
release engineering, and more.
|
|
|
|
Source tarball and built executable releases can be found on the
|
|
homepage and on the github release page, https://github.com/jqlang/jq/releases
|
|
|
|
If you're building directly from the latest git, you'll need flex,
|
|
bison (3.0 or newer), libtool, make, automake, and autoconf installed.
|
|
To get regexp support you'll also need to install Oniguruma or clone it as a
|
|
git submodule as per the instructions below.
|
|
(note that jq's tests require regexp support to pass). To build, run:
|
|
|
|
git submodule update --init # if building from git to get oniguruma
|
|
autoreconf -fi # if building from git
|
|
./configure --with-oniguruma=builtin
|
|
make -j8
|
|
make check
|
|
|
|
To build without bison or flex, add `--disable-maintainer-mode` to the
|
|
./configure invocation:
|
|
|
|
./configure --with-oniguruma=builtin --disable-maintainer-mode
|
|
|
|
(Developers must not use `--disable-maintainer-mode`, not when making
|
|
changes to the jq parser and/or lexer.)
|
|
|
|
To build a statically linked version of jq, run:
|
|
|
|
make LDFLAGS=-all-static
|
|
|
|
After make finishes, you'll be able to use `./jq`. You can also
|
|
install it using:
|
|
|
|
sudo make install
|
|
|
|
If you're not using the latest git version but instead building a
|
|
released tarball (available on the website), then you won't need to
|
|
run `autoreconf` (and shouldn't), and you won't need flex or bison.
|
|
|
|
To cross-compile for OS X and Windows, see docs/Rakefile's build task
|
|
and scripts/crosscompile. You'll need a cross-compilation environment,
|
|
such as Mingw for cross-compiling for Windows.
|
|
|
|
Cross-compilation requires a clean workspace, then:
|
|
|
|
# git clean ...
|
|
autoreconf -i
|
|
./configure
|
|
make distclean
|
|
scripts/crosscompile <name-of-build> <configure-options>
|
|
|
|
Use the `--host=` and `--target=` ./configure options to select a
|
|
cross-compilation environment. See also
|
|
["Cross compilation"](https://github.com/jqlang/jq/wiki/Cross-compilation) on
|
|
the wiki.
|
|
|
|
|
|
# Community
|
|
|
|
* Send questions to https://stackoverflow.com/questions/tagged/jq.
|
|
* Join our [Discord server](https://discord.gg/yg6yjNmgAC).
|