Adding [sources] information for a dependency which is in a subdirectory

Hi everyone,

In a current project I’m using Pkg.add(url="url/to/pkg", subdir = "in/this/subdir") . Now with 1.11 there is a [sources] section of the Project.toml file that makes this approach just a little bit nicer (e.g. I can delete the Manifest.toml without having to using Pkg.add again).

However, it appears that the subdir kwarg is not replicated in the source specification.
e.g.

[sources]
UnregPkg = {url="url/to/pkg", subdir = "in/this/subdir"}

doesn’t work and fails with

ERROR: Invalid key subdir in source section

Is there a work around? Am I missing something? Or should I add an issue to Pkg.jl?

you want something like:

[sources]
Example = {url = "https://github.com/JuliaLang/Example.jl", rev = "custom_branch"}
SomeDependency = {path = "deps/SomeDependency.jl"}

as a side note, I continue to want managing Project.toml to be easier from REPL

Kind of but neither of those hit my usecase precisely. If they did, then the subdir kwarg to Pkg.add wouldn’t be needed.

The subdir case was forgotten when [sources] was implemented. See sources section of Project.toml does not support subdir · Issue #4026 · JuliaLang/Pkg.jl · GitHub.

oh I see what you’re saying, you want a url but with subdir, not a relative path, sorry my bad.

It looks like having subdir (like already exists for Pkg.add) for [sources] is coming soon!

I think its missed the cut for julia v1.11.2 but I assume will be in v1.11.3