4 repositorios
Plugins that generate language-specific source code from protocol buffer schema definitions.
Distinct from Code Generation Plugins: Specifically focuses on schema-to-code generation for Protobuf, whereas the parent covers general code generation pipeline plugins.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Protobuf Code Generators. Refine with filters or upvote what's useful.
Este proyecto es una implementación de Protocol Buffers para Go, que proporciona un framework de serialización binaria para convertir estructuras de datos nativas en un formato binario compacto para una transmisión y almacenamiento eficientes en red. Funciona como un generador de bindings de lenguaje, utilizando un plugin de compilador para crear código fuente en Go a partir de definiciones de protocol buffer independientes de la plataforma. La implementación incluye un mapeador de datos JSON que transforma mensajes binarios estructurados al formato JSON para facilitar la compatibilidad con servicios web y APIs externas. También permite el intercambio de datos entre diferentes lenguajes mediante el uso de una definición de esquema común para compartir datos estructurados. La biblioteca cubre amplias capacidades para la serialización y deserialización de datos, incluida la capacidad de manipular mensajes estructurados mediante clonación, fusión y comparación. Además, proporciona mecanismos para la inspección de mensajes basada en reflexión y la fusión recursiva de mensajes para mantener la consistencia del estado en sistemas distribuidos.
Provides a compiler plugin that generates Go source code from platform-neutral protocol buffer definitions.
Prototool es un kit de herramientas de desarrollo para Protocol Buffers que proporciona un conjunto de herramientas para linting, formateo y generación de código a partir de archivos de esquema. Funciona como un sistema para gestionar el ciclo de vida de las definiciones de Protocol Buffer a través de una interfaz de línea de comandos. El kit de herramientas se distingue por proporcionar un detector de cambios disruptivos (breaking change detector) que compara diferentes versiones de definiciones para identificar cambios incompatibles en la red o en el código fuente. También incluye una interfaz de cliente gRPC capaz de invocar endpoints utilizando solicitudes JSON mediante la compilación dinámica de definiciones Protobuf. El proyecto cubre amplias áreas de capacidad, incluyendo validación de esquemas y aplicación de estilos, generación de stubs de código específicos para cada lenguaje y gestión automatizada de binarios del compilador. También proporciona utilidades para la exportación de conjuntos de descriptores de archivos y la generación de archivos de esquema con boilerplate automatizado.
Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
Wire es un generador de código multiplataforma e implementación de gRPC y Protocol Buffers. Transforma definiciones de esquemas en bindings de lenguaje nativo con seguridad de tipos para Kotlin, Swift y Java para asegurar un intercambio de datos consistente y comunicación entre sistemas distribuidos. El proyecto proporciona herramientas especializadas para la gestión de esquemas de protocol buffer, incluyendo la capacidad de eliminar tipos no utilizados y filtrar campos por versión para reducir el tamaño final de los binarios. También maneja la gestión de espacios de nombres y permite la creación de manejadores de esquemas personalizados para ejecutar lógica definida por el usuario durante la fase de compilación. El framework cubre una amplia gama de capacidades, incluyendo la generación de interfaces de servicio para llamadas a procedimientos remotos síncronas y asíncronas, el mapeo de tipos de esquema a primitivas de lenguaje nativo y la serialización de mensajes a JSON. También incluye soporte para generar mensajes parcelables y clientes mock para pruebas.
Generates language-specific source code directly from protocol buffer schema definitions.
Este proyecto es un plugin de validación de buffers de protocolo y generador de código que crea lógica de validación consistente en múltiples lenguajes de programación. Funciona como una extensión de compilador para el toolchain de Protocol Buffer, permitiendo a los desarrolladores definir restricciones semánticas directamente dentro de archivos de esquema para asegurar la consistencia de los datos. La herramienta utiliza opciones personalizadas para incrustar reglas de validación en definiciones de mensajes, mapeando estas restricciones de esquema a patrones de implementación específicos del lenguaje. Emplea comprobación de restricciones basada en predicados y recorrido recursivo para aplicar reglas a través de jerarquías de mensajes anidadas. La superficie de validación cubre rangos y valores numéricos, patrones y formatos de cadena, restricciones de secuencias de bytes y cumplimiento de enums. También gestiona tamaños de colecciones y campos repetidos, validación de tipos complejos para marcas de tiempo y duraciones, y requisitos para la selección de campos de unión.
Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.