Let's say I have following project layout: P.jl that contains module P -- main package module, exposes code from a.jl and b.jl a.jl that contains module A and b.jl that contains module B -- some domain specific modules u.jl that contains module U -- util functions
Now I want to use functions in U from modules A and B. In simplest case I would just include("u.jl") inside of a.jl and b.jl, but this way functions from U will be defined in both - A and B. So I really want to import U, not include u.jl, but I can't do this since u.jl is not on the LOAD_PATH (and messing with it manually looks somewhat bad to me). Is there some standard way to tackle it? (Note, that A, B and U are here just for code splitting, other ways to do same stuff are ok too.)