Skip to content

A plugin hands a dependency on with reexport = true on its [dependencies] edge (#797) - #800

Merged
Sunrisepeak merged 2 commits into
mainfrom
fix/plugin-reexport-dependencies
Oct 11, 2026
Merged

Sunrisepeak merged 2 commits into
mainfrom
fix/plugin-reexport-dependencies

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Found during the ecosystem review of #798, before the 2026.10.11.1 tag. The release run is cancelled and will be restarted after this PR.

Defect. A build plugin's [dependencies] are compiled with it in the build programs' graph. When a consumer's build.mcpp imports such a dependency directly, the import check refuses it and says to hand it on with reexport = true. The check, however, read reexport only on [build-dependencies] edges, so following that advice still failed.

Fix.

  • A [dependencies] edge with reexport = true hands the library on to the programs that use the plugin.
  • Without reexport, the import stays refused, as before and as e2e 311 pins.

This is the shape mcpp-index's docs/package-types.md documents for third-party plugins built on mcpp.plugins (plugins-core with reexport = true), moved to [dependencies].

Tests. e2e 910 G covers both cases; 311 and 193 are unchanged and pass locally.

Docs. docs/31 (en, zh).

…ies] edge (#797)

The build programs' graph compiles a plugin's [dependencies] with it, and the
import check offered `reexport = true` as the way to make such a dependency
importable by the plugin's consumers' build programs -- but read reexport
only on [build-dependencies] edges, so the advice did not work. A
[dependencies] edge with reexport = true hands the library on; without it the
import stays refused (e2e 910 G). docs/31 states it.
@Sunrisepeak
Sunrisepeak merged commit dd3ab3a into main Oct 11, 2026
60 checks passed
@Sunrisepeak
Sunrisepeak deleted the fix/plugin-reexport-dependencies branch October 11, 2026 05:32
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