Skip to content

F-104: hybrid stub swap via project-global feature flag - #228

Merged
stepango merged 1 commit into
v2from
forma/F-104-hybrid-stub-config
Jul 27, 2026
Merged

F-104: hybrid stub swap via project-global feature flag#228
stepango merged 1 commit into
v2from
forma/F-104-hybrid-stub-config

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • F-104 / GH Create hybrid configuration example #43: project-global useFeatureStubs flag swaps feature implstub-impl at composition roots via featureImplementation(impl, stub).
  • Extends F-099 flag resolution to TargetSpec (resolveFeatureFlags filters targets in TargetDependency / MixedDependency).
  • Design: docs/HYBRID-CONFIGURATION.md (simple swap v1; dual compileOnly+implementation deferred).
  • Example 15: property-backed flag, same-FQCN stubs for classpath replacement, README both modes.

Verify

  • plugins/ ./gradlew :deps:test test jacocoHappyPathCoverageVerification → BUILD SUCCESSFUL
  • examples/android/15-hybrid-targets assembleDebug default → Hello/World APK strings
  • same with -Pforma.useFeatureStubs=true → HelloStub/WorldStub
  • stub-impl compileDebugKotlin green

Notes

  • No matrix / new target type / androidLibrary.
  • Board: only F-094 remains open (blocked Portal admin).

Gate TargetSpec on FormaFeatureFlags; add featureImplementation pair
helper and target depsIf/whenFlag. Document in HYBRID-CONFIGURATION.md
and migrate example 15 to -Pforma.useFeatureStubs.
@stepango
stepango merged commit 2d73769 into v2 Jul 27, 2026
8 checks passed
@stepango
stepango deleted the forma/F-104-hybrid-stub-config branch July 27, 2026 12:32
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.

1 participant