API gRPC/protobuf que define los contratos entre la IDE (rqt2-ide / frontends PySide6) y los backends (rqt2-rcl-utils, agentes, daemons) del ecosistema RQT2.
Este crate genera los stubs Rust (clientes y servidores) a partir de los .proto en proto/ usando tonic-build en build.rs.
- Rust (stable, 1.70+ recommended)
protoc(Protocol Buffers compiler)
Este repositorio puede ser consumido por otros módulos de dos maneras seguras:
rqt2_api = { git = "https://github.com/RQT2/rqt2-api.git", rev = "<commit-sha>" }# Añadir como submodule
git submodule add https://github.com/RQT2/rqt2-api.git external/rqt2-api
git submodule update --init --recursiverqt2_api = { path = "external/rqt2-api" }# Desde la raíz del crate
cd rqt2-api
cargo buildEl comando anterior invocará build.rs que compila todos los .proto usando tonic_build y prost.
rqt2_api:: contiene los módulos generados; los servicios se encuentran bajo rqt2_api::rqt2.api.v1 (incluidos por tonic::include_proto!("rqt2.api.v1")).
./
├── proto/ # Definición de contratos protobuf (services, messages)
├── src/ # Código de arranque/examples que usan los stubs generados
├── build.rs # Generación de stubs con tonic_build
├── Cargo.toml
└── README.md
Lee CONTRIBUTING.md para normas sobre modificación de .proto, versionado y pruebas.
En resumen:
- Modifica los
.protoen la carpetaproto/y añadereservedcuando retires campos. - Mantén compatibilidad hacia atrás: no reusar números de campo.
- Ejecuta
cargo buildpara regenerar stubs y validar la compilación. - Abre PR describiendo el cambio y el impacto en clientes.
Consulta SECURITY.md para el proceso de reporte de vulnerabilidades.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
- adnKSharp adnksharp@gmail.com