4 dépôts
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.
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.
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.