7 مستودعات
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.
هذا المشروع هو تطبيق لـ Protocol Buffers بلغة Go، ويوفر إطار عمل للتسلسل الثنائي (binary serialization) لتحويل هياكل البيانات الأصلية إلى تنسيق ثنائي مضغوط لضمان كفاءة نقل البيانات وتخزينها. يعمل المشروع كمولد لروابط اللغات، حيث يستخدم إضافة للمترجم (compiler plugin) لإنشاء كود مصدر Go من تعريفات Protocol Buffers المحايدة. يتضمن التطبيق أداة لتعيين بيانات JSON تقوم بتحويل الرسائل الثنائية المهيكلة إلى تنسيق JSON لتسهيل التوافق مع خدمات الويب وواجهات برمجة التطبيقات (APIs) الخارجية. كما يتيح تبادل البيانات بين لغات مختلفة باستخدام مخطط تعريف مشترك لمشاركة البيانات المهيكلة بين لغات برمجة متنوعة. تغطي المكتبة قدرات واسعة لتسلسل البيانات وإلغاء تسلسلها، بما في ذلك القدرة على معالجة الرسائل المهيكلة عبر الاستنساخ، والدمج، والمقارنة. كما توفر آليات لفحص الرسائل بناءً على الانعكاس (reflection) ودمج الرسائل المتكرر للحفاظ على اتساق الحالة عبر الأنظمة الموزعة.
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 هي أداة تفحص جداول قاعدة البيانات لإنتاج كائنات النموذج، وواجهات mapper، وملفات تكوين SQL تلقائياً. تعمل كأداة تعيين مخطط قاعدة البيانات ومولد عمليات CRUD، حيث تترجم أعمدة قاعدة البيانات العلائقية إلى فئات وسجلات خاصة باللغة. المشروع عبارة عن مولد كود قابل للتوسيع يسمح بتخصيص ملفات المخرجات من خلال آلية إضافات. يتيح إطار العمل هذا إضافة منطق عمل محدد أو تعديل عملية التوليد لإنتاج ملفات مخرجات مصممة خصيصاً. يغطي المولد مجموعة واسعة من القدرات، بما في ذلك تنفيذ الاستعلامات الديناميكية، وإنشاء نماذج غير قابلة للتغيير، وأتمتة عمليات الإنشاء والقراءة والتحديث والحذف القياسية. يدعم تعيين مخطط قاعدة البيانات مع مفاتيح أساسية افتراضية ويمكنه إنشاء كود للغات متعددة، بما في ذلك Kotlin. يمكن تنفيذ عملية التوليد عبر أدوات سطر الأوامر، أو استدعاءات الوظائف المباشرة، أو كإضافة أداة بناء مدمجة في خطوط أنابيب التكامل المستمر.
Modifies the behavior of generated files using a plugin mechanism to add specific logic or structures.
Prototool هي مجموعة أدوات تطوير لـ Protocol Buffers توفر مجموعة من الأدوات للتدقيق (Linting)، والتنسيق، وتوليد الكود من ملفات المخطط. تعمل كنظام لإدارة دورة حياة تعريفات Protocol Buffer من خلال واجهة سطر أوامر. تتميز مجموعة الأدوات بتوفير كاشف للتغييرات الكاسرة (Breaking change detector) يقارن بين إصدارات مختلفة من التعريفات لتحديد التغييرات غير المتوافقة مع السلك أو المصدر. كما تتضمن واجهة عميل gRPC قادرة على استدعاء نقاط النهاية باستخدام طلبات JSON عن طريق تجميع تعريفات Protobuf ديناميكياً. يغطي المشروع مجالات قدرات واسعة بما في ذلك التحقق من المخطط وفرض الأسلوب، وتوليد stub الكود الخاص باللغة، وإدارة ثنائيات المترجم الآلية. كما يوفر أدوات لتصدير مجموعة واصف الملفات وتوليد ملفات المخطط مع boilerplate آلي.
Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
Wire هو مولد كود وتنفيذ لـ gRPC و Protocol Buffers متعدد المنصات. يحول تعريفات المخطط إلى روابط لغة أصلية آمنة من حيث النوع لـ Kotlin و Swift و Java لضمان تبادل البيانات والاتصال المتسق بين الأنظمة الموزعة. يوفر المشروع أدوات متخصصة لإدارة مخطط بروتوكول المخزن المؤقت، بما في ذلك القدرة على تقليم الأنواع غير المستخدمة وترشيح الحقول حسب الإصدار لتقليل أحجام الملفات الثنائية النهائية. كما يتعامل مع إدارة مساحة الاسم ويسمح بإنشاء معالجات مخطط مخصصة لتنفيذ منطق محدد من قبل المستخدم أثناء مرحلة التجميع. يغطي إطار العمل مجموعة واسعة من القدرات بما في ذلك توليد واجهات الخدمة لاستدعاءات الإجراءات البعيدة المتزامنة وغير المتزامنة، وربط أنواع المخطط ببدائيات اللغة الأصلية، وتسلسل الرسائل إلى JSON. كما يتضمن دعماً لتوليد رسائل قابلة للتجزئة (parcelable) وعملاء وهميين للاختبار.
Generates language-specific source code directly from protocol buffer schema definitions.
هذا المشروع عبارة عن إضافة للتحقق من بروتوكول المخزن المؤقت (Protocol Buffer) ومولد أكواد ينشئ منطق تحقق متسق عبر لغات برمجة متعددة. يعمل كامتداد للمترجم لسلسلة أدوات Protocol Buffer، مما يسمح للمطورين بتعريف قيود دلالية مباشرة داخل ملفات المخطط (schema) لضمان اتساق البيانات. تستخدم الأداة خيارات مخصصة لتضمين قواعد التحقق في تعريفات الرسائل، وتعيين قيود المخطط هذه لأنماط التنفيذ الخاصة باللغة. تستخدم فحص القيود القائم على المسند (predicate) والاجتياز العودي لفرض القواعد عبر تسلسلات الرسائل المتداخلة. يغطي سطح التحقق النطاقات والقيم الرقمية، وأنماط وتنسيقات السلاسل، وقيود تسلسل البايت، وفرض التعداد (enum). كما يدير أحجام المجموعات والحقول المتكررة، والتحقق من النوع المعقد للطوابع الزمنية والمدد، ومتطلبات اختيار حقل الاتحاد (union).
Functions as a protoc plugin to generate language-specific validation source code from Protocol Buffer schemas.