70 lines
1.3 KiB
Markdown
70 lines
1.3 KiB
Markdown
---
|
|
title: Development
|
|
# prettier-ignore
|
|
cSpell:ignore: grpcio intellij libcurl libprotobuf nlohmann openssl protoc rebar
|
|
---
|
|
|
|
Development for this demo requires tooling in several programming languages.
|
|
Minimum required versions will be noted where possible, but it is recommended to
|
|
update to the latest version for all tooling. The OpenTelemetry demo team will
|
|
attempt to keep the services in this repository up to date with the latest
|
|
version for dependencies and tooling when possible.
|
|
|
|
## Generate protobuf files
|
|
|
|
The `make generate-protobuf` command is provided to generate protobuf files for
|
|
all services. This can be used to compile code locally (without Docker) and
|
|
receive hints from IDEs such as IntelliJ or VS Code. It may be necessary to run
|
|
`npm install` within the frontend source folder before generating the files.
|
|
|
|
## Development tooling requirements
|
|
|
|
### .NET
|
|
|
|
- .NET 6.0+
|
|
|
|
### C++
|
|
|
|
- build-essential
|
|
- cmake
|
|
- libcurl4-openssl-dev
|
|
- libprotobuf-dev
|
|
- nlohmann-json3-dev
|
|
- pkg-config
|
|
- protobuf-compiler
|
|
|
|
### Go
|
|
|
|
- Go 1.19+
|
|
- protoc-gen-go
|
|
- protoc-gen-go-grpc
|
|
|
|
### Java
|
|
|
|
- JDK 17+
|
|
- Gradle 7+
|
|
|
|
### JavaScript
|
|
|
|
- Node.js 16+
|
|
|
|
### PHP
|
|
|
|
- PHP 8.1+
|
|
- Composer 2.4+
|
|
|
|
### Python
|
|
|
|
- Python 3.10
|
|
- grpcio-tools 1.48+
|
|
|
|
### Ruby
|
|
|
|
- Ruby 3.1+
|
|
|
|
### Rust
|
|
|
|
- Rust 1.61+
|
|
- protoc 3.21+
|
|
- protobuf-dev
|