Skip to content

2026.9.29.2: a workspace plan reads what a member states about itself from the member - #739

Merged
Sunrisepeak merged 4 commits into
mainfrom
fix/member-index-anchor
Sep 29, 2026
Merged

Sunrisepeak merged 4 commits into
mainfrom
fix/member-index-anchor

Conversation

@speak-agent

Copy link
Copy Markdown
Member

The plan's root is a virtual root that holds the values shared by the whole
graph. Five statements a member makes about itself were read from that root in
2026.9.29.1 and were therefore empty; the mcpp-index sweep of 2026.9.29.1 found
the first two, and an inventory of every read of the root's manifest found the
rest (design document section 17.1).

  • A member's relative [indices].path is anchored at the member when the member
    is loaded; it was resolved against the workspace root (e2e 120).
  • The std module is built when a selected member's target entries import std,
    so a member whose only sources are its tests is tested (e2e 836 M1).
  • Each selected member's [resources] and windows_code_page are compiled
    against the member's directory and include directories, under
    res//, and embedded into the member's images only (e2e 837). A
    quoted include or resource file in a script is found through the include
    directories, as the resource compiler finds it.
  • [build] linkage is a root-position value.
  • A member's unknown mcpp: capability is refused, and its cfg() and schema
    warnings are reported, as a root's (e2e 836 M2, M3).

Criteria: each of e2e 120 (member leg), 836 (M1-M3) and 837 fails on the released 2026.9.29.1 and passes on this branch; unit tests IndexPathsAreAnchoredWhereTheyWereWritten, RootPositionValuesSeparateMembers (linkage) and InputsAreResolvedThroughTheIncludeDirectories.

Refs #734.

… from the member

The plan's root is a virtual root that holds the values shared by the whole
graph. Five statements a member makes about itself were read from that root in
2026.9.29.1 and were therefore empty; the mcpp-index sweep of 2026.9.29.1 found
the first two, and an inventory of every read of the root's manifest found the
rest (design document section 17.1).

- A member's relative [indices].path is anchored at the member when the member
  is loaded; it was resolved against the workspace root (e2e 120).
- The std module is built when a selected member's target entries import std,
  so a member whose only sources are its tests is tested (e2e 836 M1).
- Each selected member's [resources] and windows_code_page are compiled
  against the member's directory and include directories, under
  res/<member>/, and embedded into the member's images only (e2e 837). A
  quoted include or resource file in a script is found through the include
  directories, as the resource compiler finds it.
- [build] linkage is a root-position value.
- A member's unknown mcpp: capability is refused, and its cfg() and schema
  warnings are reported, as a root's (e2e 836 M2, M3).
… compiler searches, the package directory first
@Sunrisepeak
Sunrisepeak merged commit b8ddb55 into main Sep 29, 2026
43 of 45 checks passed
Sunrisepeak added a commit to mcpplibs/mcpp-index that referenced this pull request Sep 29, 2026
…9.29.3; ignore the workspace-root build outputs (#488)

mcpp 2026.9.29.1 builds a workspace as one graph per configuration and writes
the build directory, project data, compile database and lock at the workspace
root; these four paths are ignored. 2026.9.29.2 (mcpp-community/mcpp#739)
corrects what such a plan reads from its members, among them a member's own
relative [indices].path, which 47 members of this index declare, and
2026.9.29.3 (mcpp-community/mcpp#740) places the runtime files of a program
shipped through artifacts.

- validate.yml pins mcpp 2026.9.29.3; index.toml latest_mcpp -> 2026.9.29.3,
  min_mcpp unchanged.
- The graphics check reads the member's program from its product directory,
  bin/<package name>/ of the workspace's build directory.

The full sweep with 2026.9.29.3 (run 36525705026) passed on every platform.
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