starbelly / rebar_mix

rebar3 plugin for building Elixir dependencies with mix
Apache License 2.0
0 stars 0 forks source link

Handling optional dependencies #10

Open starbelly opened 1 year ago

starbelly commented 1 year ago

Originally reported by joaohf in https://github.com/Supersonido/rebar_mix/issues/14

Hi,

Does rebar_mix support optional packages?

Example: this package telemetry_metrics_riemann (https://hex.pm/packages/telemetry_metrics_riemann/0.2.0) has an optional package (https://hexdocs.pm/mix/Mix.Tasks.Deps.html#module-dependency-definition-options). According to https://github.com/hexpm/specifications/blob/master/dependency_resolution.md#dependency-resolution:

A package can define optional dependencies, an optional dependency should only resolve if the top-level project also depends on it.

Even though my toplevel project (https://github.com/joaohf/eclero/blob/metrics/rebar.config#L12) does not declare the 'riemanxx' package, rebar_mix is fetching that dependency (https://github.com/joaohf/eclero/blob/metrics/rebar.lock#L18).

Is possible to handle that using rebar_mix if yes, how we could add this feature to rebar_mix ?

Thanks