Creating multi-module projects (preparing for Pkg3)

In Pkg3, a package can only load modules that it declares a dependency on. The problem right now is that PlotFuncs does not declare a dependency on ToyPixPixCov.

Looking in the Manifest.toml file

[[PlotFuncs]]
path = "PlotFuncs"
uuid = "76fbcee0-2b78-11e8-1ecf-498917db9923"
version = "0.1.0"

[[ToyPixPixCov]]
path = "ToyPixPixCov"
uuid = "59c18c18-2b78-11e8-0607-81faa5decbcf"
version = "0.1.0"

We have the two packages but there is no deps entry for ToyPixPixCov in the PlotFuncs table.

If we manually change this file to:

[[PlotFuncs]]
deps = ["ToyPixPixCov"]
path = "PlotFuncs"
uuid = "76fbcee0-2b78-11e8-1ecf-498917db9923"
version = "0.1.0"

[[ToyPixPixCov]]
path = "ToyPixPixCov"
uuid = "59c18c18-2b78-11e8-0607-81faa5decbcf"
version = "0.1.0"

then everything works:

julia> using PlotFuncs
Hello World!

So we just need to add a way for Pkg3 package to specify dependencies (and we are actively working on that).

2 Likes