7 repository-uri
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.
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.
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 este un instrument care inspectează tabelele bazei de date pentru a produce automat obiecte model, interfețe mapper și fișiere de configurare SQL. Funcționează ca un mapper de schemă de bază de date și generator de operațiuni CRUD, traducând coloanele bazei de date relaționale în clase și înregistrări specifice limbajului. Proiectul este un generator de cod extensibil care permite personalizarea fișierelor de ieșire printr-un mecanism de plugin-uri. Acest framework permite adăugarea unei logici de business specifice sau modificarea procesului de generare pentru a produce fișiere de ieșire adaptate. Generatorul acoperă o gamă largă de capabilități, inclusiv implementarea interogărilor dinamice, crearea de modele imuabile și automatizarea operațiunilor standard de creare, citire, actualizare și ștergere. Suportă maparea schemei bazei de date cu chei primare virtuale și poate genera cod pentru mai multe limbaje, inclusiv Kotlin. Procesul de generare poate fi executat prin instrumente CLI, apeluri directe de funcții sau ca un plugin de build tool integrat în pipeline-urile de integrare continuă.
Modifies the behavior of generated files using a plugin mechanism to add specific logic or structures.
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.