Skip to content

Conversation

@dcbaker
Copy link
Member

@dcbaker dcbaker commented Dec 5, 2025

These are shared with the declare_dependency implementation, and in some cases improve the validation of that function as well (putting the error earlier).

We're going to be expanding it shortly.
This catches the addition of un-linkable targets at the interpreter
level rather than requiring the build layer to handle this. In turn,
this gives the end user a better error message.
This puts subclass specific logic in the subclasses, and cleans up some
typing.
This replaces the long explanation of `external_library`s in the
`link_with` parameter to the simpler one used by declare_dependency.
Additionally, declare_dependency now checks that a target is linkable
when adding it. This just catches the problem before it goes down into
the build layer giving a better error message.

There is a bug in the declare_dependency annotations, in that they don't
mark Executable as acceptable. So I've fixed that.
Splits the subclass specific code into those classes
@dcbaker dcbaker added this to the 1.11 milestone Dec 5, 2025
@dcbaker dcbaker added the typing label Dec 5, 2025
@dcbaker dcbaker requested a review from jpakkane as a code owner December 5, 2025 17:46
@dcbaker dcbaker mentioned this pull request Dec 5, 2025
41 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant