This allows for extensions to have dependencies and share common code with buildpacks for processing them. Metadata between extensions and buildpacks is common, and although it was possible to mostly process extension metadata without renaming the structs/code, it was rapidly becoming confusing as to which paths supported ONLY buildpacks, and which would support both buildpack and extension usage. This change helps to clarify that by having the common paths now be buildmodule rather than buildpack. (So now, if you see extensions calling into Buildpack stuff, you can expect issues!)
This flows out to the libpak commands that are offered via go, to alter their arg that passed the path to buildpack.toml to be a path to buildpack.toml OR extension.toml
The command changes help pipeline-builder make sense when it's calling a command with an extension rather than a buildpack =)
Checklist
[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[x] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).
Summary
Updates for libpak for Extension support.
Use Cases
Where appropriate, updates
buildpack
to bebuildmodule
, buildmodule represents either a buildpack or an extensionThis allows for extensions to have dependencies and share common code with buildpacks for processing them. Metadata between extensions and buildpacks is common, and although it was possible to mostly process extension metadata without renaming the structs/code, it was rapidly becoming confusing as to which paths supported ONLY buildpacks, and which would support both buildpack and extension usage. This change helps to clarify that by having the common paths now be buildmodule rather than buildpack. (So now, if you see extensions calling into Buildpack stuff, you can expect issues!)
This flows out to the libpak commands that are offered via go, to alter their arg that passed the path to buildpack.toml to be a path to buildpack.toml OR extension.toml
The command changes help pipeline-builder make sense when it's calling a command with an extension rather than a buildpack =)
Checklist