Home - RepreZen/GenFlow GitHub Wiki

Welcome to the GenFlow wiki!

This is where we'll keep documentation for GenFlow usage, ongoing maintenance, FAQs and troubleshooting topics.

GenFlow encompases several core capabilities, detailed in the linked topics:

  • Unified Framework for open source code generators that work with API description languages. GenFlow is designed to provide a consistent representation and lifcycle model that works across all of the integrated codegen libraries.

  • Metadata Services to describe and categorize the available generator modules, called GenTemplates, and their configuration parameters. This allows for consistent access, presentation, search & filter, configuration and execution.

  • Project Model to manage codegen configurations as simple, self-contained mini-projects called GenTargets. Each GenTarget wires one or more API descriptions to a specific GenTemplate, and includes a YAML-formatted .gen configuration file, pre-populated with all of the available parameters for easy configuration.

  • Lifecycle Management including GenTarget creation, update, cleaning, and execution.

  • Pre-Processing and Multi-Step Chaining of code generators. By default, OpenAPI v2 and v3 inputs are pre-processed through KaiZen-OpenAPI-Normalizer to resolve external references, expand cascading properties, and explicate default property values for reliable downstream processing. Pre-processors and generators can be pipelined for advanced codegen solutions.

  • Xtend GenTemplate Framework allows you to create custom GenTemplates in Xtend, a Java-based language with built-in support for template expressions, a complete Eclipse development environment, and other conveniences that make it a great choice for code generation.

Learn More:

  • GenFlow Overview and Concepts [coming soon]
  • GenFlow Metadata Services
  • GenTarget Layout and Configuration [coming soon]
  • GenTarget Lifecycle Management [coming soon]
  • Generator Chaining and Pre-Processing [coming soon]
  • The Xtend GenTemplate Framework [coming soon]
⚠️ **GitHub.com Fallback** ⚠️