Skip to content

F-022: extract validation framework into plugins/core - #165

Merged
stepango merged 1 commit into
v2from
forma/F-022-validation-framework
Jul 13, 2026
Merged

F-022: extract validation framework into plugins/core#165
stepango merged 1 commit into
v2from
forma/F-022-validation-framework

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • Extract TargetValidator SPI, identity-cached dependencyTypeValidator / selfTypeValidator, pure ContentRule predicates, and FormaValidationException into plugins/core (tools.forma.core.validation).
  • Keep tools.forma.validation as a Gradle-compatible facade over core (still throws ProjectValidationError; F-017 cache preserved).
  • FormaTarget implements core TargetRef; Android commonValidators call pure content rules with Gradle FS listing.
  • Docs: ARCHITECTURE, forma-core-api checklist, README Progress, TICKETS/PROGRESS.

Ticket

F-022 — Extract validation framework into forma-core (Android helpers stay platform-owned).

Verify

  • plugins/: ./gradlew :core:test → BUILD SUCCESSFUL
  • plugins/: ./gradlew build → BUILD SUCCESSFUL (68 tasks)
  • application/: ./gradlew :binary:assembleDebug → BUILD SUCCESSFUL (578 tasks)

Out of scope

F-023 registry/DSL migration; F-024 coordinates.

Move TargetValidator SPI, identity-cached factories, ContentRule predicates,
and FormaValidationException into tools.forma.core.validation. Keep
tools.forma.validation as a thin facade (ProjectValidationError parity) and
wire Android content helpers to pure core rules. Sample + plugins builds green.
@stepango
stepango merged commit 9a4cb4f into v2 Jul 13, 2026
8 checks passed
@stepango
stepango deleted the forma/F-022-validation-framework branch July 13, 2026 12:24
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