Skip to content

feat: switch release metro viz to DependenciesDeclared (incorporates #102)#103

Open
MBoegers wants to merge 2 commits intomainfrom
MBoegers/metro-deps-declared
Open

feat: switch release metro viz to DependenciesDeclared (incorporates #102)#103
MBoegers wants to merge 2 commits intomainfrom
MBoegers/metro-deps-declared

Conversation

@MBoegers
Copy link
Copy Markdown
Contributor

@MBoegers MBoegers commented May 5, 2026

Summary

  • Wires the three release metro visualizations (map / plan / waves) to org.openrewrite.java.dependencies.table.DependenciesDeclared, replacing the deprecated org.openrewrite.maven.table.DependenciesInUse. The new table is emitted by FindDependencies and lists declared (non-transitive) deps for both Maven and Gradle projects.
  • Cherry-picks @sambsnyd's Fix release metro plan on OpenRewrite shows everything as circluar #102 (the test-scope cycle fix) and extends _RELEASE_SCOPES to cover the Gradle declared configurations that DependenciesDeclared emits verbatim: implementation, api, compileOnly, compileOnlyApi, runtimeOnly, annotationProcessor, classpath. Without that extension Sam's allowlist (which was built around resolved Maven scopes) drops ~98% of Gradle rows and leaves the graph nearly empty.
  • Switches secondary CSV reads to pd.read_csv(..., comment="#") so v2 header lines are tolerated without going through the dt.read_csv path that gets hijacked by NB_DATA_TABLE.
  • Refreshes samples/v2/ with extracts from the Moderne Training org and drops the orphaned v1 metro CSVs.

Effect on cycles (moderneinc + OpenRewrite sample)

Filter Edges Waves Circular
no scope filter (current main) 392 2 120

Test plan

  • poe check-options and poe check-all pass
  • Papermill smoke-test all three notebooks against samples/v2/ Moderne Training extracts and inspect the generated HTML

sambsnyd and others added 2 commits May 5, 2026 14:15
…the are not. I believe the confusion is related to test dependencies, so I'm filtering those out for ordering purposes
- Specs and notebooks now consume DependenciesDeclared (declared-only,
  Maven + Gradle) in place of DependenciesInUse
- Extend _RELEASE_SCOPES from #102 with Gradle declared configurations
  (implementation, api, compileOnly, compileOnlyApi, runtimeOnly,
  annotationProcessor, classpath) — the table emits raw declared scope
  strings, so the Maven-resolved allowlist dropped most rows
- Secondary tables now use pd.read_csv(comment="#") to handle v2 header
  lines without colliding with NB_DATA_TABLE
- Refresh samples/v2/ with Moderne Training extracts; drop orphaned v1
  metro CSVs
@MBoegers
Copy link
Copy Markdown
Contributor Author

MBoegers commented May 5, 2026

OR+Moderne now is
grafik

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.

2 participants