4 repository-uri
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.
Acest proiect este o implementare Protocol Buffers pentru Go, oferind un framework de serializare binară pentru a converti structurile de date native într-un format binar compact, eficient pentru transmisia în rețea și stocare. Funcționează ca un generator de binding-uri, utilizând un plugin de compilator pentru a crea cod sursă Go din definiții de protocol buffer neutre față de platformă. Implementarea include un mapper de date JSON care transformă mesajele binare structurate în format JSON pentru a facilita compatibilitatea cu serviciile web și API-urile externe. De asemenea, permite schimbul de date între limbaje diferite prin utilizarea unei scheme comune pentru partajarea datelor structurate. Biblioteca acoperă capabilități extinse de serializare și deserializare a datelor, inclusiv manipularea mesajelor structurate prin clonare, îmbinare și comparare. Oferă, de asemenea, mecanisme pentru inspecția mesajelor bazată pe reflexie și îmbinarea recursivă a mesajelor pentru a menține consistența stării în sistemele distribuite.
Provides a compiler plugin that generates Go source code from platform-neutral protocol buffer definitions.
Prototool este un toolkit de dezvoltare pentru Protocol Buffers care oferă o suită de instrumente pentru linting, formatare și generarea de cod din fișierele de schemă. Funcționează ca un sistem pentru gestionarea ciclului de viață al definițiilor Protocol Buffer printr-o interfață de linie de comandă. Toolkit-ul se distinge prin furnizarea unui detector de modificări care strică compatibilitatea (breaking change detector) care compară diferite versiuni ale definițiilor pentru a identifica modificări incompatibile la nivel de wire sau sursă. Include, de asemenea, o interfață de client gRPC capabilă să invoce endpoint-uri folosind cereri JSON prin compilarea dinamică a definițiilor Protobuf. Proiectul acoperă domenii largi de capabilități, inclusiv validarea schemei și impunerea stilului, generarea de stub-uri de cod specifice limbajului și gestionarea automată a binarului compilatorului. De asemenea, oferă utilitare pentru exportul setului de descriptori de fișiere și generarea fișierelor de schemă cu boilerplate automatizat.
Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
Wire este un generator de cod cross-platform și o implementare de gRPC și Protocol Buffers. Transformă definițiile de schemă în binding-uri de limbaj nativ type-safe pentru Kotlin, Swift și Java, pentru a asigura schimbul consistent de date și comunicarea între sistemele distribuite. Proiectul oferă instrumente specializate pentru gestionarea schemei protocol buffer, inclusiv posibilitatea de a elimina tipurile neutilizate și de a filtra câmpurile după versiune pentru a reduce dimensiunile finale ale binarului. De asemenea, gestionează namespace-urile și permite crearea de handlere de schemă custom pentru a executa logica definită de utilizator în timpul fazei de compilare. Framework-ul acoperă o gamă largă de capabilități, inclusiv generarea de interfețe de serviciu pentru apeluri de procedură remote sincrone și asincrone, maparea tipurilor de schemă la primitivele limbajului nativ și serializarea mesajelor în JSON. Include, de asemenea, suport pentru generarea de mesaje parcelable și clienți mock pentru testare.
Generates language-specific source code directly from protocol buffer schema definitions.
Acest proiect este un plugin de validare a protocol buffer-elor și un generator de cod care creează o logică de validare consistentă în mai multe limbaje de programare. Funcționează ca o extensie de compilator pentru toolchain-ul Protocol Buffer, permițând dezvoltatorilor să definească constrângeri semantice direct în fișierele de schemă pentru a asigura consistența datelor. Instrumentul utilizează opțiuni personalizate pentru a încorpora reguli de validare în definițiile mesajelor, mapând aceste constrângeri de schemă la tipare de implementare specifice limbajului. Utilizează verificarea constrângerilor bazată pe predicate și parcurgerea recursivă pentru a impune reguli în ierarhiile de mesaje imbricate. Suprafața de validare acoperă intervale și valori numerice, tipare și formate de șiruri, constrângeri de secvențe de octeți și impunerea enum-urilor. De asemenea, gestionează dimensiunile colecțiilor și câmpurilor repetate, validarea tipurilor complexe pentru timestamp-uri și durate, precum și cerințele pentru selecția câmpurilor de tip union.
Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.