Skip to content

F-099: project-global feature flags + conditional deps#213

Merged
stepango merged 2 commits into
v2from
forma/F-099-target-feature-options
Jul 25, 2026
Merged

F-099: project-global feature flags + conditional deps#213
stepango merged 2 commits into
v2from
forma/F-099-target-feature-options

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • F-099 / GH Investigate configuration options for target features #126: project-global FormaFeatureFlags on androidProjectConfiguration / AndroidProjectSettings
  • Conditional named deps: depsIf / depsUnless / NamedDependency.whenFlag, resolved at applyDependencies via pure resolveFeatureFlags
  • Design doc docs/TARGET-FEATURE-OPTIONS.md; docs in PROJECT-CONFIGURATION, CALL-SITE-SURFACE, DEPS-CATALOG, GETTING-STARTED, TEST-COVERAGE
  • Unit tests :config + :deps; JaCoCo happy-path includes new pure classes
  • Rejects call-site plugin shopping, binary-only flags, per-module product Booleans

Verify (host)

  • plugins/: ./gradlew test jacocoHappyPathCoverageVerification → BUILD SUCCESSFUL
  • application/: ./gradlew :binary:assembleDebug → BUILD SUCCESSFUL

Test plan

  • FormaFeatureFlags empty/unknown/require semantics
  • DI swap recipe (reflect on/off/unknown) pure resolution
  • Sample assembleDebug unchanged (flags default empty)

Closes #126

Claw added 2 commits July 25, 2026 06:11
Add FormaFeatureFlags on androidProjectConfiguration, depsIf/depsUnless/whenFlag
resolved at applyDependencies, design doc TARGET-FEATURE-OPTIONS, and unit tests.
@stepango
stepango merged commit a656ad3 into v2 Jul 25, 2026
8 checks passed
@stepango
stepango deleted the forma/F-099-target-feature-options branch July 25, 2026 13:33
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