I’m almost dead certain I have seen this asked before, but I just can’t find it.
Assume I have a package A which needs a later version of a package B than what is released.
The problem with just adding a version which works it is that I want other projects to be able to depend on A. Maybe I did this the wrong way, but it seems like checking in a manifest from A does not prevent an old version of B to be loaded as the manifest plays no role in this case.
I know that the “right way” is to push for a release, but this has been tried with B already and there seem to be some good motivations to not release it which does not directly have to do with the functional status of the package. I’m always happy to add a pair of hands to solve some problem, but I can’t provide the needed resources unfortunately.
Fwiw, I put the following at the top of the main module file and while it is not pretty it seems to get the job done:
# Can't depend on specific commits AFAIK, this is a hacky-wacky workaround until the people at ClusterManagers do a new release
if Pkg.API.dependencies()[Base.UUID("34f1f09b-3a8b-5176-ab39-66d58a4d544e")].version < v"0.4"
@info "Too old version of ClusterManagers detected! Adding updated version"
Pkg.add(url="https://github.com/JuliaParallel/ClusterManagers.jl"; rev="dde400e953cd8cf631802866e164697019805a92")
end