Skip to content

F-071: type-owned target plugins registry + auto-apply - #188

Merged
stepango merged 1 commit into
v2from
forma/F-071-target-plugins
Jul 19, 2026
Merged

F-071: type-owned target plugins registry + auto-apply#188
stepango merged 1 commit into
v2from
forma/F-071-target-plugins

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

Implements F-071 (P7): type owns external Gradle plugins; call sites stay attributes-only.

  • TargetPluginSpec / targetPlugin factory
  • TargetPluginRegistry + Path A registerTargetPlugin + Path B deriveTargetType (clones base registration)
  • Project.applyTargetPlugins(type) after applyFeatures on all Android target DSLs
  • Unit tests prove registry/Path A/B without call-site plugin API
  • Legacy TargetBuilder.withPlugin / sample unchanged (F-072)

Verify

  • plugins/ ./gradlew build → BUILD SUCCESSFUL
  • application/ ./gradlew help → BUILD SUCCESSFUL

Next

F-072: migrate sample to navigationRes (derived type); deprecate chain API.

Add TargetPluginSpec/targetPlugin, type→plugin registry, Path A
registerTargetPlugin and Path B deriveTargetType. Android DSLs call
applyTargetPlugins after features so type-owned plugins auto-apply with
zero call-site plugin API. Legacy TargetBuilder/withPlugin kept for F-072.
@stepango
stepango merged commit bcd2509 into v2 Jul 19, 2026
8 checks passed
@stepango
stepango deleted the forma/F-071-target-plugins branch July 19, 2026 19: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