To do: ignore indirect dependencies on CondaPkg
Currently CondaPkg reads CondaPkg.toml files for any package which depends directly or indirectly on CondaPkg.
Should we only read dependencies from direct dependents? I think yes.
Why? Indirect dependencies are not normally considered API - i.e. if PkgA depends on PkgB depends on CondaPkg, the PkgA should not rely on PkgB always depending on CondaPkg - it may decide to use something else in a future version. It also means that a breaking release of CondaPkg can safely change the format of CondaPkg.toml (or use a different file entirely) without needing to support the old format. I'm not anticipating any such breaking change, but you never know!
This would require simply changing the line https://github.com/JuliaPy/CondaPkg.jl/blob/baa6132e2390faf41692c4f4a9fed445179ed10c/src/resolve.jl#L109 to filter packages with p.is_direct_dep.
- This will be a breaking change, so is a good candidate for v1.
- The behaviour (either way) needs to be documented.
- Functions such as
addandstatusshould check if the project depends on CondaPkg and print a warning if not.