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

add code loading support for workspaces #53653

Merged
merged 21 commits into from
Mar 23, 2024
Merged

add code loading support for workspaces #53653

merged 21 commits into from
Mar 23, 2024

Conversation

KristofferC
Copy link
Member

This is similar to workspaces in cargo where multiple projects share a manifest https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html and upon resolving the dependencies and compat of all projects in the workspace is adhered to.

The idea is to use this for e.g. test, doc environments where you want to "overlay" a dependency graph on top of a base one.

The corresponding Pkg part of this is yet to be written.

Happy for input regarding the terminology here. I didn't adopt the "workspace" terminology here because the "base project" will typically not be empty (it will be the package project) and I think that is different from how it is in Cargo where there are no dependencies in that base project.

@KristofferC KristofferC added the packages Package management and loading label Mar 8, 2024
@KristofferC KristofferC force-pushed the kc/subprojects branch 2 times, most recently from e5ccebf to afebb38 Compare March 12, 2024 15:06
@KristofferC
Copy link
Member Author

Corresponding Pkg PR at JuliaLang/Pkg.jl#3841.

Comment on lines 66 to 77
end

if !project_is_package
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
end
if !project_is_package
else

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually kind of want to have these separate because they do sort of different things so it makes sense to me that they are properly separated.

base/precompilation.jl Outdated Show resolved Hide resolved
@KristofferC KristofferC force-pushed the kc/subprojects branch 2 times, most recently from d04ce6a to 0abc479 Compare March 14, 2024 12:30
@KristofferC
Copy link
Member Author

Need to check that extensions are identified properly with this.

@KristofferC KristofferC changed the title add code loading support for sub projects add code loading support for workspaces Mar 20, 2024
@KristofferC
Copy link
Member Author

I think this PR is pretty much done now if someone wants to look over it.

@KristofferC KristofferC merged commit 4a2c593 into master Mar 23, 2024
7 checks passed
@KristofferC KristofferC deleted the kc/subprojects branch March 23, 2024 21:32
IanButterworth added a commit that referenced this pull request Mar 26, 2024
…ng single package (#53865)

Followup to #53653
Separate from #53862 because this one is just broken on master

Without this if you precompile a project with a single dep it thought
the user was calling `precompile Dep` or `using Dep` so went into live
print mode, which is confusing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages Package management and loading
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants