If an extension 'provides' something 'required' by buildpacks, and a buildpack also 'provides' the same thing, then today both the extension AND the buildpack will be put in the build plan, and both will provide the same resource. This feels like a bug?
Reproduction
Steps
create an extension in the poc that 'provides' fish via the buildplan during detect
create a buildpack in the poc that 'provides' fish via the buildplan during detect
create a buildpack in the poc that 'requires' fish via the buildplan during detect
notice that the extension and both buildpacks are considered as participating following detect.
Current behavior
extension and buildpack both attempt to provide same resource
Expected
buildpack doing the provide would not be selected, as the extension (which will always run first, and thus win) will already have supplied it.
Summary
This applies only to the extender-lib poc branch
If an extension 'provides' something 'required' by buildpacks, and a buildpack also 'provides' the same thing, then today both the extension AND the buildpack will be put in the build plan, and both will provide the same resource. This feels like a bug?
Reproduction
Steps
Current behavior
extension and buildpack both attempt to provide same resource
Expected
buildpack doing the provide would not be selected, as the extension (which will always run first, and thus win) will already have supplied it.
Context
lifecycle version
0.8
platform version(s)
n/a
anything else?