Set up jib-build-plan sub-project #2324
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Set up a new subproject
jib-container-build-plan
. It will host Java API (classes) for the Container Build Plan spec.Brief heads-up for what it will host
Its classes will include (basically)
AbsoluteUnixPath
,RelativeUnixPath
,Port
,FilePermissions
,LayerEntry
,LayerConfiguration
,ImageFormat
, etc. They will be duplicated (after renaming if desired) fromjib-core
into a different packagecom.google.cloud.tools.jib.buildplan
.Since these are public API in
jib-core
that we cannot remove, this means we will have to maintain duplicate code betweenjib-core
andjib-container-build-plan
, hopefully for a short period of time. I imagine that oncejib-core
is adjusted to depend onjib-container-build-plan
, these duplicated classes injib-core
may become a thin proxy to the corresponding classes injib-container-build-plan
. For example,AbsoluteUnixPath
injib-core
could merely delegating calls toAbsoluteUnixPath
injib-container-build-plan
.I wish I could just move these classes and remove them from
jib-core
, but I think we want some stability in thejib-core
API. Let me know if you have better ideas.