Skip to content

F-095: progressive example Metro DI (11-metro-di)#208

Merged
stepango merged 1 commit into
v2from
forma/F-095-metro-di-example
Jul 23, 2026
Merged

F-095: progressive example Metro DI (11-metro-di)#208
stepango merged 1 commit into
v2from
forma/F-095-metro-di-example

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • Add examples/android/11-metro-di teaching Metro (dev.zacsweers.metro 1.3.2) as a type-owned external plugin.
  • Path A: register Metro once on impl + app; thin metroImpl / metroApp DSLs keep call sites attributes-only.
  • Mini DI: @Inject feature impl + @DependencyGraph / createGraph at composition root.
  • Ladder docs + agent skill pointers; JVM 11 for Metro runtime.

Verify

source scripts/env-mac.sh
printf 'sdk.dir=%s\n' \"$ANDROID_HOME\" > examples/android/11-metro-di/local.properties
cd examples/android/11-metro-di && ./gradlew :binary:assembleDebug
# Metro tasks present on :root-app
./gradlew :root-app:tasks --all | grep -i metro

Host: BUILD SUCCESSFUL (debug APK produced).

Ticket

F-095 → done

Add examples/android/11-metro-di teaching type-owned Metro
(dev.zacsweers.metro 1.3.2) via Path A on impl/app plus thin
metroImpl/metroApp DSLs. Mini graph uses @Inject + @DependencyGraph
at the composition root. Document ladder + agent skill pointers.
@stepango
stepango merged commit 477eb72 into v2 Jul 23, 2026
4 checks passed
@stepango
stepango deleted the forma/F-095-metro-di-example branch July 23, 2026 17:47
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