Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

include transitive dependencies in buildengine.Module dependencies #981

Closed
worstell opened this issue Feb 24, 2024 · 3 comments
Closed

include transitive dependencies in buildengine.Module dependencies #981

worstell opened this issue Feb 24, 2024 · 3 comments
Labels
triage Issue needs triaging

Comments

@worstell
Copy link
Contributor

this doesn't appear to be the case presently

we should also probably always be including builtins as a dependency?

@github-actions github-actions bot added the triage Issue needs triaging label Feb 24, 2024
@alecthomas
Copy link
Collaborator

Agreed on the second point, but I think the transitive deps will be covered because we'll have to load the direct dependencies, and they will include the next level of deps, and so on.

@worstell
Copy link
Contributor Author

ahh - ok i think buildengine.Module dependencies isn't the right place then. the issue i encountered was with external module generation - the logic to generate external dependencies for kotlin filters the schema for dependencies and only generates those.

in a scenario where module A depends on module B, and module B depends on module C:
A -> B -> C

building module A will only generate an external module for B. but in this case we also need to generate C in order for A to compile, because the generated module for B may include types from C that will cause build failures C isn't generated too.

i'll take a look at the kotlin logic in the context of your new build engine changes to fix

@alecthomas
Copy link
Collaborator

buildengine.Engine.Graph() can be passed a set of modules and (if it's working correctly) it should return the full transitive dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issue needs triaging
Projects
None yet
Development

No branches or pull requests

2 participants