Skip to content

fix: refactor settings rendering into settingsgradle - #476

Merged
cdsap merged 1 commit into
mainfrom
issue/475-hermes-refactor-settings-rendering-into-set-a1
Sep 17, 2026
Merged

cdsap merged 1 commit into
mainfrom
issue/475-hermes-refactor-settings-rendering-into-set-a1

Conversation

@cdsap

@cdsap cdsap commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Summary

Problem

ProjectWriter.kt:88-105 both assembles Gradle include syntax and writes settings files. SettingsGradle.kt already owns settings-file rendering, creating a split boundary and coupling file orchestration to Gradle syntax.

Why this matters

The settings format is harder to unit-test independently, and future changes can require modifying both the writer and root-project generator.

Proposed change

Move module include rendering into SettingsGradle, passing mapped module paths or module data from ProjectWriter. Keep ProjectWriter responsible only for writing the resulting content to each language-specific settings file.

Notes

This keeps root-project document generation in the generator layer and leaves filesystem writes in the writer layer, clarifying the infrastructure boundary without introducing a broader architectural change.

Fixes #475

Changes

  • project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/generator/rootproject/SettingsGradle.kt
  • project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/writer/ProjectWriter.kt
  • project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/generator/rootproject/SettingsGradleTest.kt

Verification

  • ./gradlew :project-generator:unitTest
  • ./gradlew :cli:test
  • ./gradlew ktlintCheck

@cdsap
cdsap merged commit 622f5a7 into main Sep 17, 2026
14 checks passed
@cdsap
cdsap deleted the issue/475-hermes-refactor-settings-rendering-into-set-a1 branch September 17, 2026 19:53
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.

Refactor settings rendering into SettingsGradle

1 participant