7 Repos
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.
This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native data structures into a compact binary format for efficient network transmission and storage. It functions as a language bindings generator, utilizing a compiler plugin to create Go source code from platform-neutral protocol buffer definitions. The implementation includes a JSON data mapper that transforms structured binary messages into JSON format to facilitate compatibility with web services and external APIs. It also enables cross-language data exchange by using a common 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 ist ein Tool, das Datenbanktabellen inspiziert, um automatisch Modellobjekte, Mapper-Schnittstellen und SQL-Konfigurationsdateien zu erstellen. Es fungiert als Datenbank-Schema-Mapper und CRUD-Operations-Generator, der relationale Datenbankspalten in sprachspezifische Klassen und Datensätze übersetzt. Das Projekt ist ein erweiterbarer Codegenerator, der die Anpassung von Ausgabedateien durch einen Plugin-Mechanismus ermöglicht. Dieses Framework erlaubt das Hinzufügen spezifischer Geschäftslogik oder die Modifikation des Generierungsprozesses, um maßgeschneiderte Ausgabedateien zu erzeugen. Der Generator deckt ein breites Spektrum an Funktionen ab, einschließlich der Implementierung dynamischer Abfragen, der Erstellung unveränderlicher Modelle und der Automatisierung von Standard-Create-, Read-, Update- und Delete-Operationen. Er unterstützt Datenbank-Schema-Mapping mit virtuellen Primärschlüsseln und kann Code für mehrere Sprachen generieren, einschließlich Kotlin. Der Generierungsprozess kann über CLI-Tools, direkte Funktionsaufrufe oder als Build-Tool-Plugin, das in CI-Pipelines integriert ist, ausgeführt werden.
Modifies the behavior of generated files using a plugin mechanism to add specific logic or structures.
Prototool ist ein Entwicklungs-Toolkit für Protocol Buffers, das eine Suite an Tools zum Linting, Formatieren und Generieren von Code aus Schemadateien bereitstellt. Es fungiert als System zur Verwaltung des Lebenszyklus von Protocol-Buffer-Definitionen über ein Command-Line-Interface. Das Toolkit zeichnet sich durch einen Detektor für Breaking Changes aus, der verschiedene Versionen von Definitionen vergleicht, um inkompatible Änderungen an der Schnittstelle oder am Quellcode zu identifizieren. Es enthält zudem ein gRPC-Client-Interface, das in der Lage ist, Endpunkte mittels JSON-Anfragen durch dynamische Kompilierung von Protobuf-Definitionen aufzurufen. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Schema-Validierung und Style-Durchsetzung, sprachspezifischer Code-Stub-Generierung und automatisierter Verwaltung von Compiler-Binaries. Es bietet zudem Dienstprogramme für den Export von File-Descriptor-Sets und die Generierung von Schemadateien mit automatisiertem Boilerplate.
Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
Wire ist ein plattformübergreifender Codegenerator und eine Implementierung von gRPC und Protocol Buffers. Er transformiert Schemadefinitionen in typsichere native Sprachbindungen für Kotlin, Swift und Java, um einen konsistenten Datenaustausch und die Kommunikation zwischen verteilten Systemen zu gewährleisten. Das Projekt bietet spezialisierte Tools für das Protocol-Buffer-Schema-Management, einschließlich der Möglichkeit, ungenutzte Typen zu entfernen und Felder nach Version zu filtern, um die endgültige Binary-Größe zu reduzieren. Es handhabt zudem das Namespace-Management und ermöglicht die Erstellung benutzerdefinierter Schema-Handler, um benutzerdefinierte Logik während der Kompilierungsphase auszuführen. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich der Generierung von Dienstschnittstellen für synchrone und asynchrone Remote Procedure Calls, das Mapping von Schematypen auf native Sprachprimitive und die Serialisierung von Nachrichten in JSON. Es enthält zudem Unterstützung für die Generierung von Parcelable-Nachrichten und Mock-Clients für Tests.
Generates language-specific source code directly from protocol buffer schema definitions.
Dieses Projekt ist ein Protocol-Buffer-Validierungs-Plugin und Code-Generator, der konsistente Validierungslogik über mehrere Programmiersprachen hinweg erstellt. Es fungiert als Compiler-Erweiterung für die Protocol-Buffer-Toolchain und ermöglicht es Entwicklern, semantische Constraints direkt in Schema-Dateien zu definieren, um Datenkonsistenz sicherzustellen. Das Tool verwendet benutzerdefinierte Optionen, um Validierungsregeln in Nachrichtendefinitionen einzubetten und diese Schema-Constraints auf sprachspezifische Implementierungsmuster zu mappen. Es nutzt prädikatbasierte Constraint-Prüfung und rekursive Traversierung, um Regeln über verschachtelte Nachrichtenhierarchien hinweg durchzusetzen. Die Validierung umfasst numerische Bereiche und Werte, String-Muster und -Formate, Byte-Sequenz-Constraints sowie Enum-Durchsetzung. Zudem verwaltet es Sammlungen und Größen wiederholter Felder, komplexe Typvalidierung für Zeitstempel und Zeitdauern sowie Anforderungen für die Auswahl von Union-Feldern.
Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.