diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..d3a11dc1d --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @buildpacks/implementation-maintainers diff --git a/Makefile b/Makefile index a2632a695..581b1b070 100644 --- a/Makefile +++ b/Makefile @@ -74,9 +74,14 @@ format: install-goimports @echo "> Formating code..." test -z $$(goimports -l -w -local github.com/buildpacks/lifecycle $$(find . -type f -name '*.go' -not -path "*/vendor/*")) +verify-jq: +ifeq (, $(shell which jq)) + $(error "No jq in $$PATH, please install jq") +endif + test: unit acceptance -unit: format lint install-yj +unit: verify-jq format lint install-yj @echo "> Running unit tests..." $(GOTEST) -v -count=1 ./... @@ -91,3 +96,5 @@ clean: package: descriptor @echo "> Packaging lifecycle..." tar czf ./out/$(ARCHIVE_NAME).tgz -C out lifecycle.toml lifecycle + +.PHONY: verify-jq \ No newline at end of file diff --git a/README.md b/README.md index 92b8fa8f5..22ecec266 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,11 @@ [![Build Status](https://travis-ci.org/buildpacks/lifecycle.svg?branch=master)](https://travis-ci.org/buildpack/lifecycle) [![GoDoc](https://godoc.org/github.com/buildpacks/lifecycle?status.svg)](https://godoc.org/github.com/buildpacks/lifecycle) -A reference implementation of [Buildpack API v3](https://github.com/buildpacks/spec). +A reference implementation of the [Cloud Native Buildpacks specification](https://github.com/buildpacks/spec). + +This lifecycle implements the following versioned APIs +* Buildpack API 0.2 - excluding [/bin/develop](https://github.com/buildpacks/spec/blob/master/buildpack.md#development) and [store.toml](https://github.com/buildpacks/spec/blob/master/buildpack.md#storetoml-toml) +* Platform API 0.2 ## Commands @@ -11,30 +15,18 @@ A reference implementation of [Buildpack API v3](https://github.com/buildpacks/s * `detector` - chooses buildpacks (via `/bin/detect`) * `analyzer` - restores launch layer metadata from the previous build +* `restorer` - restores cache * `builder` - executes buildpacks (via `/bin/build`) -* `exporter` - remotely patches images with new layers (via rebase & append) -* `launcher` - invokes choice of process +* `exporter` - creates image and stores cache -### Develop +### Run -* `detector` - chooses buildpacks (via `/bin/detect`) -* `developer` - executes buildpacks (via `/bin/develop`) * `launcher` - invokes choice of process -### Cache - -* `restorer` - restores cache -* `cacher` - updates cache - ### Rebase * `rebaser` - remotely patches images with new base image -## Notes - -Cache implementations (`restorer` and `cacher`) are intended to be interchangeable and platform-specific. -A platform may choose not to deduplicate cache layers. - ## Development To test, build, and package binaries into an archive, simply run: