Skip to content

add build system integration tests#3628

Open
kinto0 wants to merge 2 commits into
facebook:mainfrom
kinto0:export-D107130002
Open

add build system integration tests#3628
kinto0 wants to merge 2 commits into
facebook:mainfrom
kinto0:export-D107130002

Conversation

@kinto0

@kinto0 kinto0 commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Differential Revision: D107130002

kinto0 added 2 commits June 1, 2026 11:36
…acebook#3627)

Summary:

External users with custom build systems (e.g., Arista Networks) need the
build system to be the single source of truth for both import resolution
and type checking settings. Currently the build system JSON response can
provide `srcs` and `deps` per target, but has no way to communicate
per-target type checking configuration or per-target source roots.

This adds two new optional fields to `PythonLibraryManifest`:
- `config`: raw JSON config overrides (errors, preset, etc.) that are
  deserialized into `ConfigBase` by `pyrefly_config` at resolution time.
  Stored as `serde_json::Value` to avoid a circular crate dependency.
- `root`: per-target override of the top-level root, used for both
  absolutizing `srcs` paths and as the import resolution root.

Also makes `deps` and `buildfile_path` optional via `#[serde(default)]`
so build systems that don't map cleanly to per-target deps can omit them.

The config resolution chain becomes:
  sub-config -> target config -> root config -> preset defaults

`ErrorConfig` is simplified to own its `ErrorDisplayConfig` (removing the
lifetime parameter) so that target configs deserialized from JSON can
participate in the resolution chain without lifetime issues.

Differential Revision: D107113346
Differential Revision: D107130002
@meta-cla meta-cla Bot added the cla signed label Jun 1, 2026
@meta-codesync

meta-codesync Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

@kinto0 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D107130002.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

According to mypy_primer, this change doesn't affect type check results on a corpus of open source code. ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant