A reference implementation of Buildpack API v3.
detector
- chooses buildpacks (via/bin/detect
)analyzer
- restores launch layer metadata from the previous buildbuilder
- executes buildpacks (via/bin/build
)exporter
- remotely patches images with new layers (via rebase & append)launcher
- invokes choice of process
detector
- chooses buildpacks (via/bin/detect
)developer
- executes buildpacks (via/bin/develop
)launcher
- invokes choice of process
restorer
- restores cachecacher
- updates cache
rebaser
- remotely patches images with new base image
Cache implementations (restorer
and cacher
) are intended to be interchangeable and platform-specific.
A platform may choose not to deduplicate cache layers.
To test, build, and package binaries into an archive, simply run:
$ make all
This will create an archive at out/lifecycle-<LIFECYCLE_VERSION>+linux.x86-64.tgz
.
By default, LIFECYCLE_VERSION
is 0.0.0
. It can be changed by prepending LIFECYCLE_VERSION=<some version>
to the
make
command. For example:
$ LIFECYCLE_VERSION=1.2.3 make all
Steps can also be run individually as shown below.
Formats, vets, and tests the code.
$ make test
Builds binaries to out/lifecycle/
.
$ make build
To clean the
out/
directory, runmake clean
.
Creates an archive at out/lifecycle-<LIFECYCLE_VERSION>+linux.x86-64.tgz
, using the contents of the
out/lifecycle/
directory, for the given (or default) LIFECYCLE_VERSION
.
$ make package