By default, these are the officially supported loggers:
Language | Updated to gRPC? | Link |
---|---|---|
Rust | Yes | Here |
C++ | No | Here |
Python | No (WIP) | Here |
PHP | Yes | Here |
NodeJS | Yes | Here |
All language loggers now need to use gRPC in order to implement the API schema. The protobuf files are available here.
Unofficial language loggers:
- None yet (remove me if/when one is added).
The MSRV (minimum supported Rust version): 1.62.
Below you will find the requirements to build on each platform. The supported platform(s) are:
- Linux - Supported: Ubuntu 22.04, Ubuntu 20.04, Fedora 36, Fedora Rawhide, Debian 11, Debian 10 and Debian Sid.
- Web
- Windows
Planned support:
- MacOS (M1 and legacy Intel systems)
Packages for the supported distributions listed above can be found here underneath each of the completed CI jobs.
The current officially supported Linux distributions are the following:
NOTE: You can use the ./bootstrap-build.sh
or the
./bootstrap-action.sh
scripts to automatically install the dependencies for
the supported distributions.
Support is planned for the following:
- Arch (and it's derivatives)
- RHEL 7+ (and compatible distros, i.e. Rocky Linux) (should work already but haven't gotten around to confirming)
Minimum supported Fedora version: 36.
You will need to install the "Development Tools" group. You can do this by running:
sudo dnf groupinstall "Development Tools" -y
.
gobject-introspection-devel
cairo-devel
atk-devel
pango-devel
gdk-pixbuf2-devel
gtk3-devel
There is support for Ubuntu 22.04, Ubuntu 20.04, Debian 11, Debian 10 and Debian Sid.
- A C/C++ compiler. For example
gcc
orclang
. libglib2.0-dev
libpango1.0-dev
libgdk-pixbuf-2.0-dev
(orlibgdk-pixbuf2.0-dev
on 20.04).libatk1.0-dev
libgtk-3-dev
libxcb-shape0-dev
libxcb-xfixes0-dev
The main GUI is now able to run in the browser using trunk
. You can install
trunk
with cargo install trunk
. You will need the wasm32-unknown-unknown
target installed through rustup
. You can install that with rustup target add wasm32-unknown-unknown
.
NOTE: Currently, trunk
doesn't have support for manually specifying the
headers like you can see in the Trunk.toml
in this repository. A PR is open
for it and to use the Trunk.toml
you can issue this command to install a
version of trunk
that does support manually specifying headers: cargo install --git https://github.com/oberien/trunk --branch headers --force trunk
Then, you can run a local server with trunk serve --release
.
You can build CodeCTRL for Windows simply by installing rustup
via the normal
channel: here, and issuing a cargo build --release
at
the root of this project.
A MSI for Windows is automatically generated on every commit of the CodeCTRL
main
branch and can be found in one of the completed workflow runs
here.