Skip to content

F-101: close target() deps API audit + docs - #221

Merged
stepango merged 1 commit into
v2from
forma/F-101-target-deps-api
Jul 26, 2026
Merged

F-101: close target() deps API audit + docs#221
stepango merged 1 commit into
v2from
forma/F-101-target-deps-api

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

Closes F-101 / GH #56: audit and lock target(...) as the single happy path for internal module deps.

Code

  • Pure ProjectPathForms.gradleProjectPathFromFormaTarget — Forma colon path → Gradle/includer dashed path (:feature:home:impl:feature-home-impl)
  • Project.target(String) wired through the helper (parity + clearer rejects for empty / missing :)
  • Unit tests on :core (ProjectPathFormsTest)

Docs

  • DEPS-CATALOG.md §3 Project / target deps (API table, path forms, rejects)
  • CALL-SITE-SURFACE.md short F-101 section
  • GETTING-STARTED cross-link; README example uses target(...) not raw project(...)

Locked decisions

Concern Choice
Happy path target(":a:b:c") colon Forma paths + typesafe accessors
Reject raw project() in module deps as happy path
Out of scope slash/Bazel paths (discussion #57)

Verify (host)

source scripts/env-mac.sh
cd plugins && ./gradlew :core:test --tests '…ProjectPathFormsTest' :deps:test jacocoHappyPathCoverageVerification
→ BUILD SUCCESSFUL

Closes #56

Extract pure Forma colon-path → Gradle/includer path helper, wire
Project.target(String) through it, unit-test edge cases, and document
target(...) as the single happy path for internal module deps (GH #56).
@stepango
stepango merged commit 92eda1e into v2 Jul 26, 2026
8 checks passed
@stepango
stepango deleted the forma/F-101-target-deps-api branch July 26, 2026 15:13
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