7 dépôts
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.
Ce projet est une implémentation de Protocol Buffers pour Go, fournissant un framework de sérialisation binaire pour convertir des structures de données natives en un format binaire compact, optimisé pour la transmission réseau et le stockage. Il fonctionne comme un générateur de liaisons de langage, utilisant un plugin de compilation pour créer du code source Go à partir de définitions de protocol buffer neutres. L'implémentation inclut un mappeur de données JSON qui transforme les messages binaires structurés en format JSON pour faciliter la compatibilité avec les services web et les API externes. Il permet également l'échange de données inter-langages en utilisant un schéma commun pour partager des structures de données entre différents langages de programmation. La bibliothèque couvre de larges capacités de sérialisation et désérialisation, incluant la manipulation de messages structurés via le clonage, la fusion et la comparaison. Elle fournit aussi des mécanismes d'inspection de messages basés sur la réflexion et la fusion récursive pour maintenir la cohérence d'état dans les systèmes distribués.
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 est un outil qui inspecte les tables de base de données pour produire automatiquement des objets modèles, des interfaces de mapper et des fichiers de configuration SQL. Il fonctionne comme un mappeur de schéma de base de données et un générateur d'opérations CRUD, traduisant les colonnes de base de données relationnelle en classes et enregistrements spécifiques au langage. Le projet est un générateur de code extensible qui permet la personnalisation des fichiers de sortie via un mécanisme de plugin. Ce framework permet l'ajout d'une logique métier spécifique ou la modification du processus de génération pour produire des fichiers de sortie sur mesure. Le générateur couvre un large éventail de capacités, notamment l'implémentation de requêtes dynamiques, la création de modèles immuables et l'automatisation des opérations standard de création, lecture, mise à jour et suppression. Il prend en charge le mappage de schéma de base de données avec des clés primaires virtuelles et peut générer du code pour plusieurs langages, y compris Kotlin. Le processus de génération peut être exécuté via des outils en ligne de commande, des appels de fonction directs ou en tant que plugin d'outil de build intégré dans des pipelines d'intégration continue.
Modifies the behavior of generated files using a plugin mechanism to add specific logic or structures.
Prototool est une boîte à outils de développement pour Protocol Buffers qui fournit une suite d'outils pour le linting, le formatage et la génération de code à partir de fichiers de schéma. Il fonctionne comme un système pour gérer le cycle de vie des définitions Protocol Buffer via une interface en ligne de commande. La boîte à outils se distingue en fournissant un détecteur de changements cassants qui compare différentes versions de définitions pour identifier les changements incompatibles au niveau du fil ou de la source. Elle inclut également une interface client gRPC capable d'invoquer des points de terminaison en utilisant des requêtes JSON en compilant dynamiquement les définitions Protobuf. Le projet couvre de larges domaines de capacités incluant la validation de schéma et l'application de style, la génération de stubs de code spécifiques au langage et la gestion automatisée des binaires de compilateur. Il fournit également des utilitaires pour l'exportation de jeux de descripteurs de fichiers et la génération de fichiers de schéma avec du boilerplate automatisé.
Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
Wire is a cross-platform code generator and implementation of gRPC and Protocol Buffers. It transforms schema definitions into type-safe native language bindings for Kotlin, Swift, and Java to ensure consistent data exchange and communication between distributed systems. The project provides specialized tools for protocol buffer schema management, including the ability to prune unused types and filter fields by version to reduce final binary sizes. It also handles namespace management and allows for the creation of custom schema handlers to execute user-defined logic during the compilation ph
Generates language-specific source code directly from protocol buffer schema definitions.
Ce projet est un plugin de validation de protocol buffers et un générateur de code qui crée une logique de validation cohérente à travers plusieurs langages de programmation. Il fonctionne comme une extension de compilateur pour la chaîne d'outils Protocol Buffer, permettant aux développeurs de définir des contraintes sémantiques directement dans les fichiers de schéma pour assurer la cohérence des données. L'outil utilise des options personnalisées pour intégrer des règles de validation dans les définitions de messages, mappant ces contraintes de schéma vers des modèles d'implémentation spécifiques au langage. Il emploie une vérification de contrainte basée sur des prédicats et un parcours récursif pour appliquer les règles à travers les hiérarchies de messages imbriquées. La surface de validation couvre les plages et valeurs numériques, les modèles et formats de chaînes, les contraintes de séquence d'octets et l'application des enums. Il gère également les tailles de collections et de champs répétés, la validation de types complexes pour les horodatages et les durées, et les exigences pour la sélection de champs d'union.
Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.