Skip to content

Builder Configuration: possiblity to configure specific behaviour - #100

Merged
AndreasIgel merged 64 commits into
mainfrom
feature/builder-configuration
Dec 20, 2025
Merged

AndreasIgel merged 64 commits into
mainfrom
feature/builder-configuration

Conversation

@AndreasIgel

@AndreasIgel AndreasIgel commented Nov 2, 2025

Copy link
Copy Markdown
Collaborator

Summary

Implemented a comprehensive, multi-layered configuration system for the Simple Builders annotation processor, enabling fine-grained control over builder generation with support for project-wide defaults, reusable templates, and per-class customization.

Problem Statement

The builder generator lacked flexibility to adapt to different project requirements, functionality needed:

  • Project-wide defaults to maintain consistency across all builders
  • Reusable configuration templates for common patterns
  • Per-class overrides for specific requirements
  • Fine-grained control over which features to generate

Solution - Architecture

Implemented a 4-layer priority system for configuration resolution:

  1. @SimpleBuilder(with options) → per-class customization
  2. @SimpleBuilder.Template → reusable presets
  3. Compiler Arguments → project-wide defaults
  4. Built-in Defaults (lowest priority)

closes #38

…ces should be removed when reading the configuration
@sonarqubecloud

Copy link
Copy Markdown

@AndreasIgel
AndreasIgel merged commit 07907c9 into main Dec 20, 2025
8 checks passed
@AndreasIgel
AndreasIgel deleted the feature/builder-configuration branch December 20, 2025 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Builder Configuration

1 participant