7 repositorios
Plugins that extend a code generation pipeline by adding custom generation steps, middleware, or transport layers.
Distinct from Plugin-Based Extensibility: Distinct from Plugin-Based Extensibility: specifically targets code generation pipeline extensions, not general application plugin architectures.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Code Generation Plugins. 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.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Ships a plugin system for extending the design compilation pipeline with custom code generation steps and transport layers.
This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp
Provides a plugin-based architecture allowing users to add custom generation steps to the code production pipeline.
MyBatis Generator es una herramienta que inspecciona tablas de bases de datos para producir automáticamente objetos de modelo, interfaces de mapper y archivos de configuración SQL. Funciona como un mapeador de esquemas de base de datos y generador de operaciones CRUD, traduciendo columnas de bases de datos relacionales en clases y registros específicos del lenguaje. El proyecto es un generador de código extensible que permite la personalización de archivos de salida a través de un mecanismo de plugins. Este framework permite la adición de lógica de negocio específica o la modificación del proceso de generación para producir archivos de salida adaptados. El generador cubre una amplia gama de capacidades, incluyendo la implementación de consultas dinámicas, la creación de modelos inmutables y la automatización de operaciones estándar de creación, lectura, actualización y eliminación. Admite el mapeo de esquemas de bases de datos con claves primarias virtuales y puede generar código para múltiples lenguajes, incluido Kotlin. El proceso de generación puede ejecutarse mediante herramientas de línea de comandos, llamadas directas a funciones o como un plugin de herramienta de construcción integrado en pipelines de integración continua.
Modifies the behavior of generated files using a plugin mechanism to add specific logic or structures.
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.