Skip to content

F-091: map AGP BuildFeatures into Forma (defaults off)#204

Merged
stepango merged 1 commit into
v2from
forma/F-091-build-features
Jul 22, 2026
Merged

F-091: map AGP BuildFeatures into Forma (defaults off)#204
stepango merged 1 commit into
v2from
forma/F-091-build-features

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • F-091 / GH BuildFeatures support underhood #88: Project-global FormaBuildFeatures (all flags default false) on androidProjectConfiguration.
  • Central applyFormaBuildFeatures on library + binary feature definitions — every supported AGP flag set explicitly; Compose still via enableCompose.
  • Type owns always-on (viewBinding target, composeWidget); minimal call-site attrs only (compose, impl.viewBinding defaulting from settings).
  • Docs: CALL-SITE-SURFACE.md, PROJECT-CONFIGURATION.md, COMPOSE.md; sample commented example.

Design

Layer Owns
Target type Always-on features for the role
androidProjectConfiguration(buildFeatures=…) Fleet-wide AGP flags (aidl, buildConfig, dataBinding, prefab, resValues, shaders, viewBinding default)
Top-level compose= Compose project default (not nested — one happy path)
Call site Existing compose / impl.viewBinding only — no fat feature shopping

Test plan

  • plugins/: ./gradlew :config:test build → BUILD SUCCESSFUL
  • application/: ./gradlew help + assembleDebug → BUILD SUCCESSFUL (896 tasks)

Closes #88

Project-global FormaBuildFeatures (all false) on androidProjectConfiguration;
central apply on library+binary; type-owned viewBinding/compose; docs.
@stepango
stepango merged commit dbaabbb into v2 Jul 22, 2026
4 checks passed
@stepango
stepango deleted the forma/F-091-build-features branch July 22, 2026 15:38
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