Description
Support for optional_applications
will be merged into OTP soon: erlang/otp#2675
I have opened an issue for supporting this in the hex plugin, erlef/rebar3_hex#195
I'm not actually sure if we need to do anything in rebar3 to support this because of how we resolve dependencies -- unlike mix where the optional deps version constraint is taken into account when deciding what version to pull of a dep.
I suppose one issue is if the user doesn't want to list all the optional deps in the project's default profile. If that were the case we'd be basing the optional deps published to hex solely on the optional_applications
list which wouldn't have a version constraint (not that it matters I guess) or place to put the hex package name if it differs from the application name...
Another case is if the project is pulled in as a git dependency. Does it then simply fetch all the deps, even those that are technically optional at runtime?