Reports modules your project uses that live in another package of the family, and the dependency line that makes the build work again.
The library is published as a family of packages that share one version:
gen_server_virtual_time (the clock and the OTP wrappers),
actor_simulation (the DSL, statistics and diagrams) and
actor_simulation_codegen (the code generators). A module keeps its name when
it moves to another package, so a project that is missing one of them does not
need code changes — it needs a dependency.
Usage
mix virtual_time.doctor # report, always exit 0
mix virtual_time.doctor --check # exit 1 when something is missing (CI)
mix virtual_time.doctor --paths lib,test,configExample
$ mix virtual_time.doctor
This project refers to modules that are not available.
Add these to your deps:
{:actor_simulation, "~> 1.0"}
No code changes are needed — a module keeps its name when it changes
package. Then run `mix deps.get`.
Where they are used:
lib/my_app/pipeline.ex:12: ActorSimulation.new → {:actor_simulation, "~> 1.0"}