Packagespec v0.1.2/master (#9995)

* packagespec v0.1.2 - prep: remove unneeded code

* packagespec v0.1.2 - packagespec init

* packagespec v0.1.2 - make packages

* packagespec v0.1.3 - make packages
This commit is contained in:
Sam Salisbury 2020-09-28 13:53:39 +01:00 committed by GitHub
parent d6cf73e6cd
commit 98fe5029b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 5033 additions and 4025 deletions

1510
.circleci/config.yml generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,229 +0,0 @@
{{- $data := (datasource "package-list") -}}
{{- /*
BUILD_ID is set by the staging workflow to produce an identifiable build.
*/ -}}
{{- $buildID := (env.Getenv "BUILD_ID" "standalone") -}}
{{- $workflowName := (env.Getenv "RELEASE_BUILD_WORKFLOW_NAME" "build-standalone") -}}
{{- $packages := $data.packages -}}
{{- $layers := $data.layers -}}
{{- $revision := (env.Getenv "PRODUCT_REVISION") -}}
{{- define "cache-key"}}{{template "cache-version"}}-{{.}}{{end -}}
{{- define "cache-version"}}cache002{{end -}}
{{- /*
Any change to cache-version invalidates all build layer and package caches.
*/ -}}
# Current cache version: {{template "cache-version"}}
executors:
releaser:
docker:
- image: circleci/buildpack-deps
environment:
PRODUCT_REVISION: "{{if $revision}}{{$revision}}{{end}}"
AUTO_INSTALL_TOOLS: 'YES'
shell: /usr/bin/env bash -euo pipefail -c
workflows:
{{$workflowName}}:
jobs:
- cache-builder-images:
filters:
branches:
only:
- /build-.*/
- /ci.*/
{{- range $packages}}
- {{.meta.BUILD_JOB_NAME}}: { requires: [ cache-builder-images ] }
{{- end }}
- bundle-releases:
requires:
{{- range $packages}}
- {{.meta.BUILD_JOB_NAME}}{{end}}
jobs:
cache-builder-images:
executor: releaser
steps:
- setup_remote_docker
- checkout
- write-build-layer-cache-keys
# Load best available cached image.
{{- $targetLayerType := "build-static-assets" }}
{{- $targetLayer := .}}
{{- range $layers}}
{{- if eq .type $targetLayerType }}
{{- $targetLayer = .}}
- restore_cache:
keys:
{{- range .meta.circleci.CACHE_KEY_PREFIX_LIST}}
- {{template "cache-key" .}}
{{- end}}
- run:
name: Finish early if loaded exact match from cache.
command: |
if [ -f {{.archivefile}} ]; then
echo "Exact match found in cache, skipping build."
circleci-agent step halt
else
echo "No exact match found, proceeding with build."
fi
- run: LAYER_SPEC_ID={{.name}} make -C packages*.lock load-builder-cache
{{- end}}{{end}}
# No exact match was found, so build each layer up to target type.
{{- $finished := false }}
{{- range $layers}}
{{- if not $finished }}
{{- $finished = eq .type $targetLayerType}}
- run: make -f packages*.lock/layer.mk {{.name}}-image
{{- end}}
{{- end}}
# Save the target layer archive.
- run: make -f packages*.lock/layer.mk {{$targetLayer.name}}-save
# Store the target layer archive as all the relevant cache names.
{{- $lastArchive := $targetLayer.archivefile}}
{{- range $i, $l := $targetLayer.meta.builtin.LAYER_LIST}}
{{- $currentArchive := $l.archive}}
{{- if ne $currentArchive $lastArchive }}
- run: mv {{$lastArchive}} {{$currentArchive}}
{{- end}}
- save_cache:
key: {{template "cache-key" (index $targetLayer.meta.circleci.CACHE_KEY_PREFIX_LIST $i)}}
paths:
- {{$currentArchive}}
{{- $lastArchive = $currentArchive }}
{{- end}}
{{- range $packages}}
{{.meta.BUILD_JOB_NAME}}:
executor: releaser
environment:
- PACKAGE_SPEC_ID: {{.packagespecid}}
steps:
- setup_remote_docker
- checkout
# Restore the package cache first, we might not need to rebuild.
- write-package-cache-key
- restore_cache:
key: '{{template "cache-key" .meta.circleci.PACKAGE_CACHE_KEY}}'
- run:
name: Check the cache status.
command: |
if ! { PKG=$(find .buildcache/packages/store -maxdepth 1 -mindepth 1 -name '*.zip' 2> /dev/null) && [ -n "$PKG" ]; }; then
echo "No package found, continuing with build."
exit 0
fi
echo "Package already cached, skipping build."
circleci-agent step halt
# We need to rebuild, so load the builder cache.
- write-build-layer-cache-keys
- restore_cache:
keys:
{{- range .meta.circleci.BUILDER_CACHE_KEY_PREFIX_LIST}}
- {{template "cache-key" .}}
{{- end}}
- run: make -C packages*.lock load-builder-cache
- run: make -C packages*.lock package
- run: ls -lahR .buildcache/packages
# Save package cache.
- save_cache:
key: '{{template "cache-key" .meta.circleci.PACKAGE_CACHE_KEY}}'
paths:
- .buildcache/packages/store
# Save builder image cache if necessary.
# The range should only iterate over a single layer.
{{- $pkg := . -}}
{{- range $idx, $layerInfo := .meta.builtin.BUILD_LAYERS }}
{{- if eq $layerInfo.type "warm-go-build-vendor-cache" }}
{{- with $layerInfo }}
{{- $circleCICacheKey := (index $pkg.meta.circleci.BUILDER_CACHE_KEY_PREFIX_LIST $idx) }}
- run:
name: Check builder cache status
command: |
if [ -f {{.archive}} ]; then
echo "Builder image already cached, skipping cache step."
circleci-agent step halt
fi
- run: make -f packages*.lock/layer.mk {{.name}}-save
- save_cache:
key: '{{template "cache-key" $circleCICacheKey}}'
paths:
- {{.archive}}
{{- end}}
{{- end}}
{{- end}}
{{end}}
bundle-releases:
executor: releaser
steps:
- checkout
- write-all-package-cache-keys
{{- range $packages}}
- load-{{.meta.BUILD_JOB_NAME}}
- run:
environment:
PACKAGE_SPEC_ID: {{.packagespecid}}
name: Write package metadata for {{.meta.BUILD_JOB_NAME}}
command: |
make package-meta
{{- end}}
- run:
name: Write package aliases
command:
make aliases
- run:
name: List Build Cache
command: ls -lahR .buildcache
# Surface the package store directory as an artifact.
# This makes each zipped package separately downloadable.
- store_artifacts:
path: .buildcache/packages
destination: packages-{{$buildID}}
# Surface a tarball of the whole package store as an artifact.
- run: tar -czf packages-{{$buildID}}.tar.gz .buildcache/packages
- store_artifacts:
path: packages-{{$buildID}}.tar.gz
destination: packages-{{$buildID}}.tar.gz
# Surface a tarball of just the metadata files.
- run: tar -czf meta-{{$buildID}}.tar.gz .buildcache/packages/store/*.json
- store_artifacts:
path: meta-{{$buildID}}.tar.gz
destination: meta-{{$buildID}}.tar.gz
commands:
{{- range $packages }}
load-{{.meta.BUILD_JOB_NAME}}:
steps:
- restore_cache:
key: '{{template "cache-key" .meta.circleci.PACKAGE_CACHE_KEY}}'
{{end}}
write-build-layer-cache-keys:
steps:
- run:
name: Write builder layer cache keys
command: make -C packages*.lock write-builder-cache-keys
write-package-cache-key:
steps:
- run:
name: Write package cache key
command: make -C packages*.lock write-package-cache-key
write-all-package-cache-keys:
steps:
- run:
name: Write package cache key
command: make -C packages*.lock write-all-package-cache-keys

2
.gitattributes vendored
View File

@ -1,5 +1,7 @@
vendor/* linguist-vendored
website/* linguist-documentation
/packagespec.mk linguist-generated
*.ber filter=lfs diff=lfs merge=lfs -text
*.DS_Store filter=lfs diff=lfs merge=lfs -text
*.eot filter=lfs diff=lfs merge=lfs -text

View File

@ -120,13 +120,8 @@ ci-lint:
prep: fmtcheck
@sh -c "'$(CURDIR)/scripts/goversioncheck.sh' '$(GO_VERSION_MIN)'"
@$(GO_CMD) generate $($(GO_CMD) list ./... | grep -v /vendor/)
@# Remove old (now broken) husky git hooks.
@[ ! -d .git/hooks ] || grep -l '^# husky$$' .git/hooks/* | xargs rm -f
@if [ -d .git/hooks ]; then cp .hooks/* .git/hooks/; fi
PACKAGES_LOCK_DIR := $(shell find . -mindepth 1 -maxdepth 1 \
-type d -name 'packages*.lock')
# bootstrap the build by downloading additional tools needed to build
ci-bootstrap:
@for tool in $(EXTERNAL_TOOLS_CI) ; do \
@ -249,76 +244,14 @@ hana-database-plugin:
mongodb-database-plugin:
@CGO_ENABLED=0 $(GO_CMD) build -o bin/mongodb-database-plugin ./plugins/database/mongodb/mongodb-database-plugin
# WRITE_GENERATED_FILE_HEADER overwrites the file specified, replacing its contents with
# the header warning people not to attempt to edit or merge the file. You should call this
# before writing the generated contents to the file.
# Args: 1: File to write; 2: Command to generate it; 3: Source files to edit/merge instead.
define WRITE_GENERATED_FILE_HEADER
echo "### ***" > $(1); \
echo "### WARNING: DO NOT manually EDIT or MERGE this file, it is generated by '$(2)'." >> $(1); \
echo "### INSTEAD: Edit or merge the source in $(3) then run '$(2)'." >> $(1); \
echo "### ***" >> $(1)
endef
# Tell packagespec where to write its CircleCI config.
PACKAGESPEC_CIRCLECI_CONFIG := .circleci/config/@build-release.yml
## begin packagespec integration ##
# The plan is to generate this packagespec integration section automatically.
# By keeping it in a contiguous block for now, it will be easier to
# auto-generate when we get to it.
SPEC_FILE_PATTERN := packages*.yml
# SPEC is the human-managed description of which packages we are able to build.
SPEC := $(shell find . -mindepth 1 -maxdepth 1 -name '$(SPEC_FILE_PATTERN)')
ifneq ($(words $(SPEC)),1)
$(error Found $(words $(SPEC)) $(SPEC_FILE_PATTERN) files, need exactly 1: $(SPEC))
endif
SPEC_FILENAME := $(notdir $(SPEC))
SPEC_MODIFIER := $(SPEC_FILENAME:packages%.yml=%)
# LOCKDIR contains the lockfile and layer files.
LOCKDIR := packages$(SPEC_MODIFIER).lock
LOCKFILE := $(LOCKDIR)/pkgs.yml
export PACKAGE_SPEC_ID LAYER_SPEC_ID PRODUCT_REVISION PRODUCT_VERSION
# PACKAGESPEC_TARGETS are convenience aliases for targets defined in $(LOCKDIR)/Makefile
PACKAGESPEC_TARGETS := \
build build-all build-ci \
aliases meta package \
package-meta stage-config stage \
watch-ci publish-config publish list-staged-builds
$(PACKAGESPEC_TARGETS):
@PRODUCT_REPO_ROOT="$(shell git rev-parse --show-toplevel)" $(MAKE) -C $(LOCKDIR) $@
# packages regenerates $(LOCKDIR) from $(SPEC) using packagespec. This is only for
# internal HashiCorp use, as it has dependencies not available to OSS contributors.
packages:
@command -v packagespec > /dev/null 2>&1 || { \
echo "Please install packagespec."; \
echo "Note: packagespec is only available to HashiCorp employees at present."; \
exit 1; \
}
@packagespec lock -specfile $(SPEC) -lockdir $(LOCKDIR)
@$(MAKE) ci-config
.PHONY: $(PACKAGESPEC_TARGETS) packages
## end packagespec integration ##
CI_WORKFLOW_TPL := .circleci/config/@build-release.yml.tpl
CI_WORKFLOW := .circleci/config/@build-release.yml
.PHONY: ci-update-release-packages $(CI_WORKFLOW)
ci-update-release-packages: $(CI_WORKFLOW)
@echo $^
$(CI_WORKFLOW): $(LOCKFILE) $(CI_WORKFLOW_TPL)
@\
echo "==> Updating $@ to match $<"; \
$(call WRITE_GENERATED_FILE_HEADER,$@,make $@,$^); \
cat $< | gomplate -f $(CI_WORKFLOW_TPL) -d 'package-list=stdin://?type=application/yaml' >> $@
# Tell packagespec to re-run 'make ci-config' whenever updating its own CI config.
PACKAGESPEC_HOOK_POST_CI_CONFIG := $(MAKE) ci-config
.PHONY: ci-config
ci-config: ci-update-release-packages
ci-config: $(PACKAGESPEC_CIRCLECI_CONFIG)
@$(MAKE) -C .circleci ci-config
.PHONY: ci-verify
ci-verify:
@ -327,3 +260,5 @@ ci-verify:
.PHONY: bin default prep test vet bootstrap ci-bootstrap fmt fmtcheck mysql-database-plugin mysql-legacy-database-plugin cassandra-database-plugin influxdb-database-plugin postgresql-database-plugin mssql-database-plugin hana-database-plugin mongodb-database-plugin static-assets ember-dist ember-dist-dev static-dist static-dist-dev assetcheck check-vault-in-path check-browserstack-creds test-ui-browserstack packages build build-ci
.NOTPARALLEL: ember-dist ember-dist-dev static-assets
-include packagespec.mk

4
packages-oss.lock/.gitattributes generated vendored
View File

@ -1,2 +1,4 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
* linguist-generated

View File

@ -1,4 +1,6 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
include $(shell git rev-parse --show-toplevel)/packages*.lock/config.mk
.PHONY: packages commands build package write-builder-cache-keys \
@ -74,9 +76,16 @@ endif
commands:
@$(MAKE) -f packages.mk commands
ifeq ($(DIRTY_FILES),)
DIRTY_SOURCE_WARNING :=
else
DIRTY_SOURCE_WARNING = echo "==> SOURCE TREE IS DIRTY; $(1)"
endif
# build is a convenience target for local builds, do not use in CI.
# Instead, use `make package` specifying PACKAGE_SPEC_ID.
build:
@$(call DIRTY_SOURCE_WARNING,PERFORMING DIRTY BUILD)
@echo "==> Building default package for GOOS=$(GOOS) GOARCH=$(GOARCH)"
@ALIASES=$$($(call QUERY_DEFAULT_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@ -85,9 +94,32 @@ build:
echo "$$COMMAND"; \
$(SHELL) "$$COMMAND"
# package-contents is a convenience target for local builds, do not use in CI.
package-contents:
@$(call DIRTY_SOURCE_WARNING,GETTING CONTENTS OF DIRTY BUILD)
@echo "==> Getting contents of default package for GOOS=$(GOOS) GOARCH=$(GOARCH)"
@ALIASES=$$($(call QUERY_DEFAULT_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@PACKAGE_SPEC_ID="$$($(call QUERY_DEFAULT_PACKAGESPEC,.packagespecid) | head -n1)"; \
COMMAND="PACKAGE_SOURCE_ID=$$PACKAGE_SOURCE_ID PACKAGE_SPEC_ID=$$PACKAGE_SPEC_ID $(MK)build.mk package-contents"; \
echo "$$COMMAND"; \
$(SHELL) "$$COMMAND"
# copy-package-contents is a convenience target for local builds, do not use in CI.
copy-package-contents:
@$(call DIRTY_SOURCE_WARNING,COPYING CONTENTS OF DIRTY BUILD)
@echo "==> Getting contents of default package for GOOS=$(GOOS) GOARCH=$(GOARCH)"
@ALIASES=$$($(call QUERY_DEFAULT_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@PACKAGE_SPEC_ID="$$($(call QUERY_DEFAULT_PACKAGESPEC,.packagespecid) | head -n1)"; \
COMMAND="PACKAGE_SOURCE_ID=$$PACKAGE_SOURCE_ID PACKAGE_SPEC_ID=$$PACKAGE_SPEC_ID $(MK)build.mk copy-package-contents"; \
echo "$$COMMAND"; \
$(SHELL) "$$COMMAND"
# meta is a convenience target for local builds, do not use in CI.
# Instead, use `make package-meta` specifying PACKAGE_SPEC_ID.
meta:
@$(call DIRTY_SOURCE_WARNING,WRITING METADATA FOR DIRTY BUILD)
@echo "==> Writing metacdata for default package (GOOS=$(GOOS) GOARCH=$(GOARCH))"
@ALIASES=$$($(call QUERY_DEFAULT_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@ -111,6 +143,7 @@ build-all:
# package expects PACKAGE_SPEC_ID to already be set, use this in CI.
package:
@$(call DIRTY_SOURCE_WARNING,BUILDING DIRTY PACKAGE)
@echo "==> Building package spec $(PACKAGE_SPEC_ID)"
@ALIASES=$$($(call QUERY_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@ -120,6 +153,7 @@ package:
# package-meta expects PACKAGE_SPEC_ID to already be set, use this in CI.
package-meta:
@$(call DIRTY_SOURCE_WARNING,WRITING DIRTY METADATA FOR DIRTY PACKAGE)
@echo "==> Writing metadata for package $(PACKAGE_SPEC_ID)"
@ALIASES=$$($(call QUERY_PACKAGESPEC,.aliases[] | "alias type:\(.type) path:\(.path)") | column -t); \
echo "$$ALIASES"
@ -193,19 +227,7 @@ clean-all-prune: clean-all
docker container prune
docker image prune
# Configure the releaser repo. If you are developing that repo, you may want
# to clone it adjacent to this one in ../packagespec-release, otherwise it will
# be cloned into .releaser, if you have access to it.
RELEASER_REPO ?= git@github.com:hashicorp/packagespec-release.git
RELEASER_DIR := $(REPO_ROOT)/../packagespec-release
RELEASER_CLONE := NO
RELEASER_PULL := NO
ifeq ($(shell if [ -d $(RELEASER_DIR) ]; then echo OK; else echo NO; fi),NO)
RELEASER_GITIGNORE := $(REPO_ROOT)/.tmp/.gitignore
RELEASER_DIR := $(REPO_ROOT)/.tmp/.releaser
RELEASER_CLONE := YES
RELEASER_PULL := YES
endif
RELEASER_DIR := $(REPO_ROOT)/.packagespec/release
# REQUIRE_EXPORT requires a set of make variables to be nonempty,
# exits 1 if any are not, and exports each one otherwise.
@ -227,30 +249,9 @@ define INVOKE_RELEASER_TARGET
PRODUCT_CIRCLECI_SLUG PRODUCT_CIRCLECI_HOST RELEASE_SYSTEM_BRANCH \
PRODUCT_RELEASE_REPO SPEC LOCKDIR \
) \
[ -d "$(RELEASER_DIR)" ] || { \
[ $(RELEASER_CLONE) = YES ] || { \
echo "You must clone $(RELEASER_REPO) into $(RELEASER_DIR)"; exit 1; \
}; \
mkdir -p $(RELEASER_DIR); \
echo "*" > "$(RELEASER_GITIGNORE)"; \
echo "==> Attempting to clone $(RELEASER_REPO) into $(RELEASER_DIR)"; \
echo "==> NOTE: The above repo is only available to HashiCorp employees at this time."; \
mkdir -p $(RELEASER_DIR); \
if ! git clone -q "$(RELEASER_REPO)" "$(RELEASER_DIR)"; then \
echo "==> ERROR: Failed to clone $(RELEASER_REPO)"; \
fi; \
}; \
echo "==> Using releaser code from $(RELEASER_DIR)"; \
( \
cd $(RELEASER_DIR); \
if [ $(RELEASER_PULL) = YES ]; then \
git checkout -q master; \
git pull -q origin master; \
git clean -qf; \
git reset -q --hard HEAD; \
fi; \
$(MAKE) $(1); \
)
( cd $(REPO_ROOT) && packagespec load -asset=PREP_TIME -lockdir "$(LOCKDIR)"; ); \
( cd $(REPO_ROOT) && packagespec load -asset=WORK_DIR -lockdir "$(LOCKDIR)"; ); \
$(MAKE) -C $(RELEASER_DIR) $(1)
endef
# RELEASE_TARGETS are targets in the release repo we pass control to

View File

@ -1,126 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
This directory contains a build system for producing multiple different packages
from the same source code (i.e. a single git commit).
The build system allows the definition of *packages* which are near complete
descriptions of the build environment and build command used to produce each package.
This set of packages is used to generate CI configuration, and drives the building
of builder images (via layer.mk) and final packages (build.mk).
Packages include a set of *layers* which are individually cacheable stages of the
build, expressed as Dockerfile templates and source definitions, and cached as Docker
images.
## Why?
HashiCorp ship software written in Go, which must be compiled for multiple
different platforms, and with different build tags and compiler flags etc.
For some of our software there are many tens of variations that must be
built for a single commit. Managing these by hand is too onerous a task
and one that may easily result in error. The usual solution is to write
iterative programs that directly output the various binaries, however this
itself can be difficult to understand, and difficult to observe clearly.
By separating the workflows of _defining_ packages and then _building_ them
we end up with an easy to understand intermediate representation of
each package (packages.lock). Not only is it easy to understand, but also to
consume for other purposes, such as generating CI pipelines, or
programattically editing to further automation efforts.
packages.lock essentially contains all the non-source inputs to each package
along with pointers to the source itself. We cache all build layers/packages
and intermediate files according to their spec + source (all the inputs).
That is, each item in the cache, and the eventual packages we build are
input-addressable, meaning we can fairly aggressively cache everything,
with a simple invalidation rule: if any input changes, then invalidate the
cache.
## Workflow
The workflow is to edit `packages.yml` which is the human-editable description
of all the packages and build layers, and then to run `make packages` which
translates that definition into the `packages.lock` file tree.
Note: at present, only HashiCorp employees have access to the `packagespec` tool
used by the Makefile to generate packages.lock, this may or may not change in future.
The convenience command `make build` selects the first of these packages that
matches your local GOOS and GOARCH and builds that one.
## Implementation
There are two separate workflows: defining packages (in packages.yml)
and building packages (build.mk). For conveninience the main Makefile exposes targets
that invoke those files on your behalf, which you should always use unless debugging
the system. In CI there is another useful workflow: building the builder images
themselves and saving them to an archive file for caching. This is implemented
in layer.mk.
### config.mk
config.mk is included by all the other make files, and contains global configuration
as well as some utility macros and lists of required tools to install.
### build.mk
build.mk produces package files for distribution by running the build command
inside the relevant build container for that package.
### layer.mk
layer.mk contains all the code for building and caching the build layers,
it is included by build.mk so that you don't need to separately build layers
locally, but in CI you can invoke it directly to pre-cache layers.
### packages.yml
packages.yml is the human-editable defition of package specs.
### packages.lock
packages.lock contains the fully expanded version of packages.yml, including
the rendered dockerfiles in packages.lock/layers. When packages.lock changes
after running 'make packages' you should also re-generate CI config by running
`make ci-config` in the root of the repo, and commit them both.
## Build internals
### 1. Build each builder image layer
#### a. Build source archives, assign SOURCE_ID
The build process uses the definitions in packages.lock to generate source
archives (using the layers' source-include and source-exclude fields)
from either the local filesystem, or direct from git if PRODUCT_REVISION is
set. It assigns each set of source code a SOURCE_ID which is either the
SHA of the latest git commit to affect any of that code, or else if the code
is dirty (contains uncommitted changes), a SHA1 sum of the latest commit plus
the output of 'git diff' in order to make it unique
#### b. Build the docker image
Using the Dockerfile from packages.lock, the source code from the source
archive, and a reference to the base image (the one from the layer below)
build a Docker image. Each layer in packagespec.lock is addressed (has an
ID) which is a hash of its content, its source definition, and the ID of
its parent layer. This layer ID is combined with the SOURCE_ID to produce
the name of the Docker image (LAYER_ID:SOURCE_ID-PARENTHASH). We also append
'PARENTHASH' Which is a cumulative hash of each build layer's ID up to that
point. This ensures that if any base layer changes input-wise in any way,
then all subsequent layers are invalidated.
### 2. Build the package
Using the top-most buider image, which must by now contain all the source code,
execute the build command (passing in some externally calculated paths) to
compile and package the software.
Use `docker cp` to copy out the built artefact. We do this instead of using
mounts, because that's more compatible with various remote Docker scenarios.
### 3. Address the package.
Each package is addressed by all its inputs (including source code), but this
is not a human-readable name. We also add package aliases, in the form of
symlinks in .buildcache/packages/by-alias which are human-readable names
and names required by other systems involved in distribution.

View File

@ -1,4 +1,6 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
# build.mk builds the packages defined in packages.lock, first building all necessary
# builder images.
#
@ -57,6 +59,11 @@ _ := $(shell mkdir -p $(OUTPUT_DIR))
PACKAGE_NAME := $(PACKAGE_SOURCE_ID)-$(PACKAGE_SPEC_ID)
PACKAGE_ZIP_NAME := $(PACKAGE_NAME).zip
PACKAGE := $(OUTPUT_DIR)/$(PACKAGE_ZIP_NAME)
# PACKAGE_CONTENTS is used when a built package needs to be unzipped to examine
# its contents. It is a path to a directory where these contents will be unzipped
# to. This is not needed to produce builds, but is useful for post-build tasks
# when the package contents need to be checked.
PACKAGE_CONTENTS := $(PACKAGE)_contents
META_JSON_NAME := $(PACKAGE_ZIP_NAME).meta.json
META := $(OUTPUT_DIR)/$(META_JSON_NAME)
@ -87,6 +94,25 @@ DOCKER_CP_COMMAND = docker cp $(BUILD_CONTAINER_NAME):$(CONTAINER_OUTPUT_DIR)/$(
package: $(ALIASES)
@echo $(PACKAGE)
# package-contents builds the package according to PACKAGE_SPEC_ID and PRODUCT_REVISION,
# and then extracts the zip file into an adjacent directory.
.PHONY: package-contents
package-contents: $(PACKAGE_CONTENTS)
@echo "$(PACKAGE_CONTENTS)/"
# copy-package-contents allows copying the contents of a package to a specific
# directory. You must set PACKAGE_CONTENTS_DEST_DIR to this directory.
# This is useful for implementing a top-level make target that places your
# build artifacts in a well-known location.
.PHONY: copy-package-contents
copy-package-contents: $(PACKAGE_CONTENTS)
@[ -n "$(PACKAGE_CONTENTS_DEST_DIR)" ] || { \
echo "==> ERROR: Must set PACKAGE_CONTENTS_DEST_DIR"; \
exit 1; \
}; \
mkdir -p "$(PACKAGE_CONTENTS_DEST_DIR)"; \
cp -r "$(PACKAGE_CONTENTS)"/* "$(PACKAGE_CONTENTS_DEST_DIR)"
.PHONY: package-meta
package-meta: $(META)
@echo $(META)
@ -107,6 +133,9 @@ $(PACKAGE): $(BUILD_LAYER_IMAGE)
$(DOCKER_CP_COMMAND)
@docker rm -f $(BUILD_CONTAINER_NAME)
$(PACKAGE_CONTENTS): $(PACKAGE)
@mkdir -p "$@" && unzip "$<" -d "$@"
# ALIASES writes the package alias links.
# ALIASES must be phony to ensure they are updated to point to the
# latest builds.

View File

@ -1,4 +1,6 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
# config.mk contains constants and derived configuration that applies to
# building both layers and final packages.
@ -37,7 +39,7 @@ SPEC_MODIFIER := $(SPEC_FILENAME:packages%.yml=%)
LOCKDIR := packages$(SPEC_MODIFIER).lock
# BUILDER_IMAGE_PREFIX is used in generating layers' docker image names.
BUILDER_IMAGE_PREFIX := vault-builder
BUILDER_IMAGE_PREFIX := build-layer
# LOCK is the generated fully-expanded rendition of SPEC, for use in generating CI
# pipelines and other things.
@ -61,7 +63,7 @@ GIT_EXCLUDE_LIST = $(call QUOTE_LIST,$(addprefix $(GIT_EXCLUDE_PREFIX),$(1)))
# Source in LOCKDIR is encoded as PACKAGE_SPEC_ID and included in paths
# and cache keys. Source in .circleci/ should not do much more than call
# code in the release/ directory, SPEC is the source of LOCKDIR.
ALWAYS_EXCLUDE_SOURCE := $(SPEC) $(LOCKDIR)/ .circleci/
ALWAYS_EXCLUDE_SOURCE := $(SPEC) $(LOCKDIR)/ ./packagespec.mk ./.circleci/
# ALWAYS_EXCLUD_SOURCE_GIT is git path filter parlance for the above.
ALWAYS_EXCLUDE_SOURCE_GIT := $(call GIT_EXCLUDE_LIST,$(ALWAYS_EXCLUDE_SOURCE))
@ -113,13 +115,18 @@ ifeq ($(PRODUCT_REVISION),)
#
# Dirty package builds should never be cached because their PACKAGE_SOURCE_ID
# is not unique to the code, it just reflects the last commit ID in the git log
# prefixed with dirty_.
# prefixed with dirty_<dirty_files_sha>.
GIT_REF := HEAD
ALLOW_DIRTY ?= YES
PRODUCT_REVISION_NICE_NAME := <current-workdir>
DIRTY := $(shell cd $(REPO_ROOT); git diff --exit-code $(GIT_REF) -- $(ALWAYS_EXCLUDE_SOURCE_GIT) > /dev/null 2>&1 || echo "dirty_")
DIRTY_FILES := $(shell cd $(REPO_ROOT) && git ls-files -o -m --exclude-standard -- $(ALWAYS_EXCLUDE_SOURCE_GIT) | xargs)
ifneq ($(DIRTY_FILES),)
DIRTY := dirty_$(shell cd $(REPO_ROOT) && cat $(DIRTY_FILES) | $(SUM) || echo FAIL)_
ifeq ($(DIRTY),FAIL_)
$(error Failed to determine dirty files sha1sum)
endif
endif
PACKAGE_SOURCE_ID := $(DIRTY)$(shell $(call GIT_COMMIT_OR_TAG_REF,$(GIT_REF)))
else
# PRODUCT_REVISION is non-empty so treat it as a git commit ref and pull files

View File

@ -1,4 +1,6 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
# layer.mk contains the machinery to incrementally build the builder image
# as separate layers, so each can be cached both locally and in CI. This serves
# both to speed up builds by avoiding unnecessary repetition of work already done,
@ -47,8 +49,6 @@ include $(shell git rev-parse --show-toplevel)/packages*.lock/config.mk
.SECONDARY:
DOCKERFILES_DIR := $(LOCKDIR)/layers
_ := $(shell mkdir -p $(CACHE_ROOT)/source-archives)
### END BUILDER IMAGE LAYERS
@ -85,8 +85,6 @@ $(1)_BASE_IMAGE := $$($(1)_BASE_CACHE)/image.marker
$(1)_BASE_IMAGE_NAME = $$(shell cat $$($(1)_BASE_IMAGE))
endif
$(1)_DOCKERFILE := $(DOCKERFILES_DIR)/$$($(1)_NAME).Dockerfile
# If no source is included, set source ID to none.
# Note that we include the checksum of the generated Dockerfile as part of cache IDs
# so we still invalidate the cache appropriately.
@ -98,7 +96,7 @@ $(1)_SOURCE_ID_NICE_NAME := <packagespec-only>
else
$(1)_SOURCE_GIT = $$($(1)_SOURCE_INCLUDE) $$(call GIT_EXCLUDE_LIST,$$($(1)_SOURCE_EXCLUDE))
$(1)_SOURCE_GIT = $$(call QUOTE_LIST,$$($(1)_SOURCE_INCLUDE)) $$(call GIT_EXCLUDE_LIST,$$($(1)_SOURCE_EXCLUDE))
$(1)_SOURCE_COMMIT := $$(shell git rev-list -n1 $(GIT_REF) -- $$($(1)_SOURCE_GIT))
# If we allow dirty builds, generate the source ID as a function of the
@ -110,28 +108,29 @@ $(1)_SOURCE_CMD := { { \
git ls-files -- $$($(1)_SOURCE_GIT); \
git ls-files -m --exclude-standard -- $$($(1)_SOURCE_GIT); \
} | sort | uniq; }
$(1)_SOURCE_MODIFIED := $$(trim $$(shell git ls-files -m -- $$($(1)_SOURCE_GIT)))
$(1)_SOURCE_MODIFIED_SUM := $$(trim $$(shell git diff -- $$($(1)_SOURCE_GIT) | $(SUM)))
$(1)_SOURCE_NEW := $$(trim $$(shell git ls-files -o --exclude-standard -- $$($(1)_SOURCE_GIT)))
$(1)_SOURCE_NEW_SUM := $$(trim $$(shell git ls-files -o --exclude-standard -- $$($(1)_SOURCE_GIT) | $(SUM)))
$(1)_SOURCE_DIRTY := $$(trim $$(shell if [ -z "$$($(1)_SOURCE_MODIFIED)" ] && [ -z "$$($(1)_SOURCE_NEW)" ]; then echo NO; else echo YES; fi))
$(1)_SOURCE_ID := $$(shell if [ -z "$$($(1)_SOURCE_MODIFIED)" ] && [ -z "$$($(1)_SOURCE_NEW)" ]; then \
echo $$($(1)_SOURCE_COMMIT); \
$(1)_SOURCE_MODIFIED := $$(shell git ls-files -m -- $$($(1)_SOURCE_GIT) | xargs)
$(1)_SOURCE_NEW := $$(shell git ls-files -o --exclude-standard -- $$($(1)_SOURCE_GIT) | xargs)
$(1)_SOURCE_DIRTY_LIST := $$(shell echo "$$($(1)_SOURCE_MODIFIED) $$($(1)_SOURCE_NEW)" | xargs)
$(1)_SOURCE_DIRTY_SUM := $$(shell [ -z "$$($(1)_SOURCE_DIRTY_LIST)" ] || cat $$($(1)_SOURCE_DIRTY_LIST) | $(SUM))
$(1)_SOURCE_ID := $$(shell if [ -z "$$($(1)_SOURCE_DIRTY_LIST)" ]; then \
echo "$$($(1)_SOURCE_COMMIT)"; \
else \
echo -n dirty_; echo $$($(1)_SOURCE_MODIFIED_SUM) $$($(1)_SOURCE_NEW_SUM) | $(SUM); \
echo -n "dirty_$$($(1)_SOURCE_DIRTY_SUM)"; \
fi)
$(1)_SOURCE_DIRTY_LIST := $$($(1)_SOURCE_MODIFIED) $$($(1)_SOOURCE_NEW)
$(1)_SOURCE_ID_NICE_NAME := $$($(1)_SOURCE_ID)
$(1)_ID_PREFIX := $$(shell [ -z "$$($(1)_SOURCE_DIRTY_LIST)" ] || echo "dirty_")
$(1)_SOURCE_ID_NICE_NAME := $$($(1)_SOURCE_ID)
# No dirty builds allowed, so the SOURCE_ID is the git commit SHA,
# and we list files using git ls-tree.
else
$(1)_SOURCE_ID := $$($(1)_SOURCE_COMMIT)
$(1)_SOURCE_ID_NICE_NAME := $$($(1)_SOURCE_ID)
$(1)_SOURCE_CMD := git ls-tree -r --name-only $(GIT_REF) -- $$($(1)_SOURCE_GIT)
$(1)_SOURCE_ID := $$($(1)_SOURCE_COMMIT)
$(1)_SOURCE_ID_NICE_NAME := $$($(1)_SOURCE_ID)
$(1)_SOURCE_CMD := git ls-tree -r --name-only $(GIT_REF) -- $$($(1)_SOURCE_GIT)
endif
endif
@ -148,6 +147,7 @@ endef
$(1)_LAYER_ID_CONTENTS_FILE := $$($(1)_CACHE_ROOT)/current-layer-id-contents
$(1)_LAYER_ID_FILE := $$($(1)_CACHE_ROOT)/current-layer-id
$(1)_DOCKERFILE := $$($(1)_CACHE_ROOT)/Dockerfile
# Create cache root dir and write LAYER_ID_FILE_CONTENTS file.
_ := $$(shell \
@ -155,11 +155,27 @@ _ := $$(shell \
echo "$$($(1)_LAYER_ID_CONTENTS)" > $$($(1)_LAYER_ID_CONTENTS_FILE); \
)
$(1)_LAYER_ID := $$(shell cat $$($(1)_LAYER_ID_CONTENTS_FILE) | $(SUM))
$(1)_LAYER_ID := $$($(1)_ID_PREFIX)$$(shell cat $$($(1)_LAYER_ID_CONTENTS_FILE) | $(SUM))
$(1)_SOURCE_ARCHIVE := $(CACHE_ROOT)/source-archives/$$($(1)_TYPE)-$$($(1)_LAYER_ID).tar
$(1)_IMAGE_NAME := $(BUILDER_IMAGE_PREFIX)-$$($(1)_NAME):$$($(1)_LAYER_ID)
$(1)_CACHE := $(CACHE_ROOT)/layers/$$($(1)_NAME)/$$($(1)_LAYER_ID)
ifeq ($(DEBUG),YES)
$$(info ===== LAYER DEBUG INFO ($(1)) )
$$(info SOURCE_GIT=$$($(1)_SOURCE_GIT))
$$(info SOURCE_COMMIT=$$($(1)_SOURCE_COMMIT))
$$(info SOURCE_MODIFIED=$$($(1)_SOURCE_MODIFIED))
$$(info SOURCE_NEW=$$($(1)_SOURCE_NEW))
$$(info SOURCE_DIRTY_LIST=$$($(1)_SOURCE_DIRTY_LIST))
$$(info SOURCE_DIRTY_SUM=$$($(1)_SOURCE_DIRTY_SUM))
$$(info SOURCE_ID=$$($(1)_SOURCE_ID))
$$(info LAYER_ID=$$($(1)_LAYER_ID))
$$(info SOURCE_LIST=$$(shell $$($(1)_SOURCE_CMD)))
$$(info =====)
endif
# Create cache dir and write Layer ID file.
_ := $$(shell \
mkdir -p $$($(1)_CACHE); \
@ -215,7 +231,6 @@ $(1)-debug:
@echo "$(1)_SOURCE_COMMIT = $$($(1)_SOURCE_COMMIT)"
@echo "$(1)_SOURCE_ID = $$($(1)_SOURCE_ID)"
@echo "$(1)_SOURCE_MODIFIED = $$($(1)_SOURCE_MODIFIED)"
@echo "$(1)_SOURCE_DIRTY = $$($(1)_SOURCE_DIRTY)"
@echo "$(1)_SOURCE_NEW = $$($(1)_SOURCE_NEW)"
@echo "$(1)_IMAGE = $$($(1)_IMAGE)"
@echo "$(1)_IMAGE_TIMESTAMP = $$($(1)_IMAGE_TIMESTAMP)"
@ -259,6 +274,10 @@ $(1)_DOCKER_BUILD_ARGS = $$(shell [ -z "$$($(1)_BASE)" ] || echo --build-arg BAS
$(1)_SOURCE_ARCHIVE_WITH_DOCKERFILE := $$($(1)_CACHE)/source-archive.tar
$$($(1)_DOCKERFILE):
@mkdir -p "$$(dir $$(@))"
@$$(call QUERY_LOCK,.layers[] | select(.name=="$$($(1)_NAME)").dockerfile) > "$$@"
# Build the docker image.
#
# For dirty builds, tar up a source archive from the local filesystem.
@ -272,9 +291,11 @@ $(1)_SOURCE_ARCHIVE_WITH_DOCKERFILE := $$($(1)_CACHE)/source-archive.tar
# once Docker supports that properly, because ustar only supports filenames
# < 256 chars which could eventually be an issue.
TAR_FORMAT := --format=ustar
$(1)_FULL_DOCKER_BUILD_COMMAND = docker build -t $$($(1)_IMAGE_NAME) $$($(1)_DOCKER_BUILD_ARGS) \
export DOCKER_BUILDKIT=1
$(1)_FULL_DOCKER_BUILD_COMMAND = docker build --ssh=default -t $$($(1)_IMAGE_NAME) $$($(1)_DOCKER_BUILD_ARGS) \
-f $$($(1)_DOCKERFILE) - < $$($(1)_SOURCE_ARCHIVE_WITH_DOCKERFILE)
$$($(1)_IMAGE): $$($(1)_BASE_IMAGE)
$$($(1)_IMAGE): $$($(1)_BASE_IMAGE) $$($(1)_DOCKERFILE)
@$$(call $(1)_UPDATE_MARKER_FILE)
@if [ -f "$$@" ]; then exit 0; fi; \
echo "==> Building Docker image $$($(1)_IMAGE_NAME)"; \
@ -318,7 +339,7 @@ endef
### END LAYER
# Include the generated instructions to build each layer.
include $(sort $(shell find $(DOCKERFILES_DIR) -name '*.mk'))
include $(LOCKDIR)/layers/layers.mk
# Eagerly update the docker image marker files.
_ := $(foreach L,$(LAYERS),$(shell $(call $(L)_UPDATE_MARKER_FILE)))

View File

@ -1,16 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
FROM debian@sha256:68f4e2259032a4e6f5035804e64438b52af8dd5889528b305b9059183ea4cd2a
COPY . ./
RUN apt-get update -y && apt-get install --no-install-recommends -y -q \
curl \
zip \
build-essential \
gcc-multilib \
g++-multilib \
ca-certificates \
git mercurial bzr \
gnupg \
libltdl-dev \
libltdl7 \
bash \
&& rm -rf /var/lib/apt/lists/*

View File

@ -1,10 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOPATH /gopath
ENV GOROOT /goroot
RUN mkdir $GOROOT && mkdir $GOPATH
RUN curl https://storage.googleapis.com/golang/go1.14.7.linux-amd64.tar.gz \
| tar xzf - -C $GOROOT --strip-components=1
ENV PATH $GOROOT/bin:$GOPATH/bin:$PATH

View File

@ -1,10 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GO111MODULE=off
RUN go get golang.org/x/tools/cmd/goimports
RUN go get github.com/hashicorp/go-bindata
RUN go get github.com/hashicorp/go-bindata/go-bindata
RUN go get github.com/elazarl/go-bindata-assetfs
RUN go get github.com/elazarl/go-bindata-assetfs/go-bindata-assetfs

View File

@ -1,8 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV REPO=github.com/hashicorp/vault
ENV DIR=$GOPATH/src/$REPO
RUN mkdir -p $DIR
WORKDIR $DIR

View File

@ -1,9 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update -y && apt-get install -y -q nodejs yarn=1.19.1-1 \
&& rm -rf /var/lib/apt/lists/*

View File

@ -1,6 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
RUN cd ui && yarn install
RUN cd ui && npm rebuild node-sass

View File

@ -1,5 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
RUN cd ui && yarn run build

View File

@ -1,7 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
RUN go-bindata-assetfs -o bindata_assetfs.go -pkg http -prefix pkg -modtime 1480000000 -tags ui ./pkg/web_ui/...
RUN mkdir -p http && mv bindata_assetfs.go http/
RUN goimports -w http/bindata_assetfs.go

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=freebsd
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=linux
ENV GOARCH=arm
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=freebsd
ENV GOARCH=arm
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=darwin
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=linux
ENV GOARCH=arm64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=windows
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=netbsd
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=freebsd
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=linux
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=linux
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=openbsd
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=windows
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=netbsd
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=solaris
ENV GOARCH=amd64
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=openbsd
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,14 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./
ENV GOOS=darwin
ENV GOARCH=386
ENV CGO_ENABLED=0
# Try to build vendored packages. We first filter out packages which report
# errors in 'go list', because trying to run go build ./vendor/... fails early
# if we include them. We also don't care about the exit code here, because
# some of the vendored packages may fail to build, but this won't necessarily
# mean that the final package will fail to build, and we will still get a
# usefully warmed cache.
RUN go list -f '{{.ImportPath}}{{if or .Error .DepsErrors}} ERROR{{end}}' ./vendor/... | grep -v ERROR | xargs go build -v || true

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,4 +0,0 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY . ./

View File

@ -1,361 +1,363 @@
# WARNING: Do not EDIT or MERGE this file, it is generated by 'packagespec lock'.
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_ID := 00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_TYPE := base
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_BASE_LAYER :=
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_SOURCE_INCLUDE :=
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_SOURCE_EXCLUDE :=
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_CACHE_KEY_FILE := .buildcache/cache-keys/base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9
LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_ARCHIVE_FILE := .buildcache/archives/00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9.tar.gz
$(eval $(call LAYER,$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_ID),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_TYPE),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_BASE_LAYER),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_SOURCE_INCLUDE),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_SOURCE_EXCLUDE),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_CACHE_KEY_FILE),$(LAYER_00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9_ARCHIVE_FILE)))
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_ID := 00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_TYPE := base
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_BASE_LAYER :=
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_SOURCE_INCLUDE :=
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_SOURCE_EXCLUDE :=
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_CACHE_KEY_FILE := .buildcache/cache-keys/base-cd50335c2217aa98d45d50d7ef941dfd1289b070
LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_ARCHIVE_FILE := .buildcache/archives/00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070.tar.gz
$(eval $(call LAYER,$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_ID),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_TYPE),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_BASE_LAYER),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_SOURCE_INCLUDE),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_SOURCE_EXCLUDE),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_CACHE_KEY_FILE),$(LAYER_00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070_ARCHIVE_FILE)))
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_ID := 01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_TYPE := install-go
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_BASE_LAYER := 00-base-a1d961bcff31b1cdadaa9422452ba72d8b4a85a9
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_SOURCE_INCLUDE :=
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_SOURCE_EXCLUDE :=
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_CACHE_KEY_FILE := .buildcache/cache-keys/install-go-df55de749899e75ed655c4eab8cb2c22f1028590
LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_ARCHIVE_FILE := .buildcache/archives/01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590.tar.gz
$(eval $(call LAYER,$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_ID),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_TYPE),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_BASE_LAYER),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_SOURCE_INCLUDE),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_SOURCE_EXCLUDE),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_CACHE_KEY_FILE),$(LAYER_01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590_ARCHIVE_FILE)))
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_ID := 01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_TYPE := install-go
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_BASE_LAYER := 00-base-cd50335c2217aa98d45d50d7ef941dfd1289b070
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_SOURCE_INCLUDE :=
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_SOURCE_EXCLUDE :=
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_CACHE_KEY_FILE := .buildcache/cache-keys/install-go-04fac374a5ab393a607df72e77bce85e18dd3856
LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_ARCHIVE_FILE := .buildcache/archives/01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856.tar.gz
$(eval $(call LAYER,$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_ID),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_TYPE),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_BASE_LAYER),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_SOURCE_INCLUDE),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_SOURCE_EXCLUDE),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_CACHE_KEY_FILE),$(LAYER_01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856_ARCHIVE_FILE)))
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_ID := 02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_TYPE := install-go-tools
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_BASE_LAYER := 01-install-go-df55de749899e75ed655c4eab8cb2c22f1028590
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_SOURCE_INCLUDE :=
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_SOURCE_EXCLUDE :=
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_CACHE_KEY_FILE := .buildcache/cache-keys/install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e
LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_ARCHIVE_FILE := .buildcache/archives/02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e.tar.gz
$(eval $(call LAYER,$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_ID),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_TYPE),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_BASE_LAYER),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_SOURCE_INCLUDE),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_SOURCE_EXCLUDE),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_CACHE_KEY_FILE),$(LAYER_02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e_ARCHIVE_FILE)))
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_ID := 02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_TYPE := install-go-tools
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_BASE_LAYER := 01-install-go-04fac374a5ab393a607df72e77bce85e18dd3856
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_SOURCE_INCLUDE :=
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_SOURCE_EXCLUDE :=
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_CACHE_KEY_FILE := .buildcache/cache-keys/install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981
LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_ARCHIVE_FILE := .buildcache/archives/02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981.tar.gz
$(eval $(call LAYER,$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_ID),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_TYPE),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_BASE_LAYER),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_SOURCE_INCLUDE),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_SOURCE_EXCLUDE),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_CACHE_KEY_FILE),$(LAYER_02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981_ARCHIVE_FILE)))
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_ID := 03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_TYPE := set-workdir
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_BASE_LAYER := 02-install-go-tools-b7a0056ff8c7f40e047993ec4b1c0a6eab3ab44e
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_SOURCE_INCLUDE :=
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_SOURCE_EXCLUDE :=
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_CACHE_KEY_FILE := .buildcache/cache-keys/set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049
LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_ARCHIVE_FILE := .buildcache/archives/03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049.tar.gz
$(eval $(call LAYER,$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_ID),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_TYPE),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_BASE_LAYER),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_SOURCE_INCLUDE),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_SOURCE_EXCLUDE),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_CACHE_KEY_FILE),$(LAYER_03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049_ARCHIVE_FILE)))
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_ID := 03-set-workdir-68217e0df446776a522c173819319331eab24bfd
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_TYPE := set-workdir
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_BASE_LAYER := 02-install-go-tools-493003a45b9bf13a3740054d1ed1e50aa66e0981
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_SOURCE_INCLUDE :=
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_SOURCE_EXCLUDE :=
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_CACHE_KEY_FILE := .buildcache/cache-keys/set-workdir-68217e0df446776a522c173819319331eab24bfd
LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_ARCHIVE_FILE := .buildcache/archives/03-set-workdir-68217e0df446776a522c173819319331eab24bfd.tar.gz
$(eval $(call LAYER,$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_ID),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_TYPE),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_BASE_LAYER),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_SOURCE_INCLUDE),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_SOURCE_EXCLUDE),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_CACHE_KEY_FILE),$(LAYER_03-set-workdir-68217e0df446776a522c173819319331eab24bfd_ARCHIVE_FILE)))
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_ID := 04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_TYPE := install-yarn
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_BASE_LAYER := 03-set-workdir-8253e91d0841cdc71fb0416f84f9eaa52bea9049
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_SOURCE_INCLUDE :=
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_SOURCE_EXCLUDE :=
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_CACHE_KEY_FILE := .buildcache/cache-keys/install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319
LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_ARCHIVE_FILE := .buildcache/archives/04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319.tar.gz
$(eval $(call LAYER,$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_ID),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_TYPE),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_BASE_LAYER),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_SOURCE_INCLUDE),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_SOURCE_EXCLUDE),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_CACHE_KEY_FILE),$(LAYER_04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319_ARCHIVE_FILE)))
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_ID := 04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_TYPE := install-yarn
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_BASE_LAYER := 03-set-workdir-68217e0df446776a522c173819319331eab24bfd
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_SOURCE_INCLUDE :=
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_SOURCE_EXCLUDE :=
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_CACHE_KEY_FILE := .buildcache/cache-keys/install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347
LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_ARCHIVE_FILE := .buildcache/archives/04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347.tar.gz
$(eval $(call LAYER,$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_ID),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_TYPE),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_BASE_LAYER),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_SOURCE_INCLUDE),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_SOURCE_EXCLUDE),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_CACHE_KEY_FILE),$(LAYER_04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347_ARCHIVE_FILE)))
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_ID := 05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_TYPE := ui-dependencies
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_BASE_LAYER := 04-install-yarn-aab71c56a60048647c1c6c4a7fd5649aee7f2319
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_SOURCE_INCLUDE := ui/package.json ui/yarn.lock
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_SOURCE_EXCLUDE :=
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_CACHE_KEY_FILE := .buildcache/cache-keys/ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81
LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_ARCHIVE_FILE := .buildcache/archives/05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81.tar.gz
$(eval $(call LAYER,$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_ID),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_TYPE),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_BASE_LAYER),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_SOURCE_INCLUDE),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_SOURCE_EXCLUDE),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_CACHE_KEY_FILE),$(LAYER_05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81_ARCHIVE_FILE)))
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_ID := 05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_TYPE := ui-dependencies
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_BASE_LAYER := 04-install-yarn-f6bc3cf1c8120fc6fbc6a7815f1414ea4a92b347
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_SOURCE_INCLUDE := ui/package.json ui/yarn.lock
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_SOURCE_EXCLUDE :=
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_CACHE_KEY_FILE := .buildcache/cache-keys/ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537
LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_ARCHIVE_FILE := .buildcache/archives/05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537.tar.gz
$(eval $(call LAYER,$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_ID),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_TYPE),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_BASE_LAYER),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_SOURCE_INCLUDE),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_SOURCE_EXCLUDE),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_CACHE_KEY_FILE),$(LAYER_05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537_ARCHIVE_FILE)))
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_ID := 06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_TYPE := build-ui
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_BASE_LAYER := 05-ui-dependencies-58f2ea77b8fe39e82bb587e5246d1b62f9a7cb81
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_SOURCE_INCLUDE := ui/
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_SOURCE_EXCLUDE :=
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_CACHE_KEY_FILE := .buildcache/cache-keys/build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b
LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_ARCHIVE_FILE := .buildcache/archives/06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b.tar.gz
$(eval $(call LAYER,$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_ID),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_TYPE),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_BASE_LAYER),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_SOURCE_INCLUDE),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_SOURCE_EXCLUDE),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_CACHE_KEY_FILE),$(LAYER_06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b_ARCHIVE_FILE)))
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_ID := 06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_TYPE := build-ui
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_BASE_LAYER := 05-ui-dependencies-a323ed865ff8f01132ebbcfdb26cd46637ee0537
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_SOURCE_INCLUDE := ui/
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_SOURCE_EXCLUDE :=
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_CACHE_KEY_FILE := .buildcache/cache-keys/build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8
LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_ARCHIVE_FILE := .buildcache/archives/06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8.tar.gz
$(eval $(call LAYER,$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_ID),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_TYPE),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_BASE_LAYER),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_SOURCE_INCLUDE),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_SOURCE_EXCLUDE),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_CACHE_KEY_FILE),$(LAYER_06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8_ARCHIVE_FILE)))
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_ID := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_TYPE := build-static-assets
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_BASE_LAYER := 06-build-ui-5659d3f1f758c2f3a4c5fca4c1fcbaac3720693b
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_SOURCE_INCLUDE := Makefile
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_SOURCE_EXCLUDE :=
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_CACHE_KEY_FILE := .buildcache/cache-keys/build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_ARCHIVE_FILE := .buildcache/archives/07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e.tar.gz
$(eval $(call LAYER,$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_ID),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_TYPE),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_BASE_LAYER),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_SOURCE_INCLUDE),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_SOURCE_EXCLUDE),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_CACHE_KEY_FILE),$(LAYER_07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e_ARCHIVE_FILE)))
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_ID := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_TYPE := build-static-assets
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_BASE_LAYER := 06-build-ui-8c0888ac60d74cc3c80ff1e66f92529854029bb8
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_SOURCE_INCLUDE := Makefile
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_SOURCE_EXCLUDE :=
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_CACHE_KEY_FILE := .buildcache/cache-keys/build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_ARCHIVE_FILE := .buildcache/archives/07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016.tar.gz
$(eval $(call LAYER,$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_ID),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_TYPE),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_BASE_LAYER),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_SOURCE_INCLUDE),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_SOURCE_EXCLUDE),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_CACHE_KEY_FILE),$(LAYER_07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_ID := 08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1
LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_ID),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_TYPE),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_ID := 08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4
LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_ID),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_TYPE),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_ID := 08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8
LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_ID),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_TYPE),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_ID := 08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796
LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_ID),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_TYPE),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_ID := 08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e
LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_ID),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_TYPE),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_ID := 08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011
LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_ID),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_TYPE),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_ID := 08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7
LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_ID),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_TYPE),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_ID := 08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a
LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_ID),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_TYPE),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_ID := 08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15
LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_ID),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_TYPE),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_ID := 08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c
LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_ID),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_TYPE),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_ID := 08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e
LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_ID),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_TYPE),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_ID := 08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb
LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_ID),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_TYPE),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_ID := 08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a
LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_ID),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_TYPE),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_ID := 08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442
LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_ID),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_TYPE),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_ID := 08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4
LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_ID),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_TYPE),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_ID := 08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746
LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_ID),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_TYPE),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_ID := 08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c
LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_ID),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_TYPE),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_ID := 08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848
LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_ID),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_TYPE),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_ID := 08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1
LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_ID),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_TYPE),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_ID := 08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40
LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_ID),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_TYPE),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_ID := 08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293
LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_ID),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_TYPE),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_ID := 08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8
LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_ID),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_TYPE),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_ID := 08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400
LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_ID),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_TYPE),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_ID := 08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c
LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_ID),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_TYPE),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_ID := 08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa
LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_ID),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_TYPE),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_ID := 08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e
LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_ID),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_TYPE),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_ID := 08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998
LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_ID),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_TYPE),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_ID := 08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84
LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_ID),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_TYPE),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_ID := 08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902
LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_ID),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_TYPE),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_ID := 08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372
LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_ID),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_TYPE),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_ID := 08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_BASE_LAYER := 07-build-static-assets-33a6e8f0029b730ae0a37427888d22c992a0824e
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607
LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_ID),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_TYPE),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607_ARCHIVE_FILE)))
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_ID := 08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_TYPE := warm-go-build-vendor-cache
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_BASE_LAYER := 07-build-static-assets-5d03b27bdb30353a4b10b43aaeed34d1843ea016
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_SOURCE_INCLUDE := vendor/
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_SOURCE_EXCLUDE :=
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_CACHE_KEY_FILE := .buildcache/cache-keys/warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd
LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_ARCHIVE_FILE := .buildcache/archives/08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd.tar.gz
$(eval $(call LAYER,$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_ID),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_TYPE),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_BASE_LAYER),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_SOURCE_INCLUDE),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_SOURCE_EXCLUDE),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_CACHE_KEY_FILE),$(LAYER_08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd_ARCHIVE_FILE)))
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_ID := 09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_TYPE := copy-source
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_BASE_LAYER := 08-warm-go-build-vendor-cache-92c62793dfcc5b64255bfe2356532882a7d7b3aa
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_SOURCE_INCLUDE := .
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1
LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_ARCHIVE_FILE := .buildcache/archives/09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_ID),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_TYPE),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_BASE_LAYER),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_SOURCE_INCLUDE),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_SOURCE_EXCLUDE),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_CACHE_KEY_FILE),$(LAYER_09-copy-source-18193d6bd814c6d4efbbc07eacb02c69434894e1_ARCHIVE_FILE)))
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_ID := 09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_TYPE := copy-source
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_BASE_LAYER := 08-warm-go-build-vendor-cache-ee412438fddc780f742015d41883229589ca8f84
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_SOURCE_INCLUDE := .
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-137b41f69eedb5c72701865851015bdf792fe20f
LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_ARCHIVE_FILE := .buildcache/archives/09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_ID),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_TYPE),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_BASE_LAYER),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_SOURCE_INCLUDE),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_SOURCE_EXCLUDE),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_CACHE_KEY_FILE),$(LAYER_09-copy-source-137b41f69eedb5c72701865851015bdf792fe20f_ARCHIVE_FILE)))
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_ID := 09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_TYPE := copy-source
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_BASE_LAYER := 08-warm-go-build-vendor-cache-487f59a5948b3519a6a17192f127e67b01b0fb6e
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_SOURCE_INCLUDE := .
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb
LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_ARCHIVE_FILE := .buildcache/archives/09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_ID),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_TYPE),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_BASE_LAYER),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_SOURCE_INCLUDE),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_SOURCE_EXCLUDE),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_CACHE_KEY_FILE),$(LAYER_09-copy-source-226d84bde56c14526d6fce9bec6a47a9bef01ecb_ARCHIVE_FILE)))
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_ID := 09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_TYPE := copy-source
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_BASE_LAYER := 08-warm-go-build-vendor-cache-202ef0ffb92864c99426f3bbcf24097abf79b796
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_SOURCE_INCLUDE := .
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f
LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_ARCHIVE_FILE := .buildcache/archives/09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_ID),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_TYPE),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_BASE_LAYER),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_SOURCE_INCLUDE),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_SOURCE_EXCLUDE),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_CACHE_KEY_FILE),$(LAYER_09-copy-source-21dd30d3110c6bd6831b9295d43d6007a276763f_ARCHIVE_FILE)))
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_ID := 09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_TYPE := copy-source
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_BASE_LAYER := 08-warm-go-build-vendor-cache-0ae71d132fc340d89dec170f4164e4eed2cab17e
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_SOURCE_INCLUDE := .
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-28b442b0f8382760addf43d2e9d4457f81e18592
LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_ARCHIVE_FILE := .buildcache/archives/09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_ID),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_TYPE),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_BASE_LAYER),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_SOURCE_INCLUDE),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_SOURCE_EXCLUDE),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_CACHE_KEY_FILE),$(LAYER_09-copy-source-28b442b0f8382760addf43d2e9d4457f81e18592_ARCHIVE_FILE)))
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_ID := 09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_TYPE := copy-source
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_BASE_LAYER := 08-warm-go-build-vendor-cache-e13f21965c46bfa4c74795563a55268fe8a732c8
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_SOURCE_INCLUDE := .
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25
LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_ARCHIVE_FILE := .buildcache/archives/09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_ID),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_TYPE),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_BASE_LAYER),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_SOURCE_INCLUDE),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_SOURCE_EXCLUDE),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_CACHE_KEY_FILE),$(LAYER_09-copy-source-43020c5d846d94f2fc5526c8a2dda0c3909bcc25_ARCHIVE_FILE)))
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_ID := 09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_TYPE := copy-source
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_BASE_LAYER := 08-warm-go-build-vendor-cache-7d95ca17ed2ed063335c6fdfe31177f9d88dc293
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_SOURCE_INCLUDE := .
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716
LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_ARCHIVE_FILE := .buildcache/archives/09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_ID),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_TYPE),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_BASE_LAYER),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_SOURCE_INCLUDE),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_SOURCE_EXCLUDE),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_CACHE_KEY_FILE),$(LAYER_09-copy-source-349c919c8e22d66bcd624b975da386c3fc5ab716_ARCHIVE_FILE)))
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_ID := 09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_TYPE := copy-source
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_BASE_LAYER := 08-warm-go-build-vendor-cache-f42498429cc80394af1aea1ae8261b59f98d4bfd
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_SOURCE_INCLUDE := .
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-4528b4536c148202824ecd0e713084a662aa86d9
LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_ARCHIVE_FILE := .buildcache/archives/09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_ID),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_TYPE),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_BASE_LAYER),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_SOURCE_INCLUDE),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_SOURCE_EXCLUDE),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_CACHE_KEY_FILE),$(LAYER_09-copy-source-4528b4536c148202824ecd0e713084a662aa86d9_ARCHIVE_FILE)))
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_ID := 09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_TYPE := copy-source
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_BASE_LAYER := 08-warm-go-build-vendor-cache-4e5f0a9a53d17957205ff9c63cd50d3161af517a
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_SOURCE_INCLUDE := .
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052
LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_ARCHIVE_FILE := .buildcache/archives/09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_ID),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_TYPE),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_BASE_LAYER),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_SOURCE_INCLUDE),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_SOURCE_EXCLUDE),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_CACHE_KEY_FILE),$(LAYER_09-copy-source-390a90074e7186bf31ffb8081efb4bdd47a1d052_ARCHIVE_FILE)))
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_ID := 09-copy-source-464e219313ce099f513f930c71907cf6703efae6
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_TYPE := copy-source
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_BASE_LAYER := 08-warm-go-build-vendor-cache-c945f0cf094b431ff2e9ad299e0ea277f805a848
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_SOURCE_INCLUDE := .
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-464e219313ce099f513f930c71907cf6703efae6
LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_ARCHIVE_FILE := .buildcache/archives/09-copy-source-464e219313ce099f513f930c71907cf6703efae6.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_ID),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_TYPE),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_BASE_LAYER),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_SOURCE_INCLUDE),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_SOURCE_EXCLUDE),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_CACHE_KEY_FILE),$(LAYER_09-copy-source-464e219313ce099f513f930c71907cf6703efae6_ARCHIVE_FILE)))
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_ID := 09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_TYPE := copy-source
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_BASE_LAYER := 08-warm-go-build-vendor-cache-8a055286bfdd3c2b0f3ce25f54f88375384a2400
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_SOURCE_INCLUDE := .
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57
LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_ARCHIVE_FILE := .buildcache/archives/09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_ID),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_TYPE),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_BASE_LAYER),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_SOURCE_INCLUDE),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_SOURCE_EXCLUDE),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_CACHE_KEY_FILE),$(LAYER_09-copy-source-3f890eaccfc0039dc98cdcaa578bb355cfa43a57_ARCHIVE_FILE)))
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_ID := 09-copy-source-5267866774b268cf9a62123148a091787d930b6a
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_TYPE := copy-source
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_BASE_LAYER := 08-warm-go-build-vendor-cache-dbf4add3b5adae072d1b2aa03b81ca3ea68bdf40
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_SOURCE_INCLUDE := .
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-5267866774b268cf9a62123148a091787d930b6a
LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_ARCHIVE_FILE := .buildcache/archives/09-copy-source-5267866774b268cf9a62123148a091787d930b6a.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_ID),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_TYPE),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_BASE_LAYER),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_SOURCE_INCLUDE),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_SOURCE_EXCLUDE),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_CACHE_KEY_FILE),$(LAYER_09-copy-source-5267866774b268cf9a62123148a091787d930b6a_ARCHIVE_FILE)))
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_ID := 09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_TYPE := copy-source
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_BASE_LAYER := 08-warm-go-build-vendor-cache-a0884ebd3bcd667787991bce276f3a9be2061998
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_SOURCE_INCLUDE := .
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de
LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_ARCHIVE_FILE := .buildcache/archives/09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_ID),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_TYPE),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_BASE_LAYER),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_SOURCE_INCLUDE),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_SOURCE_EXCLUDE),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_CACHE_KEY_FILE),$(LAYER_09-copy-source-60a56a8f1d39f238d784cb1129f22ccaafe580de_ARCHIVE_FILE)))
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_ID := 09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_TYPE := copy-source
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_BASE_LAYER := 08-warm-go-build-vendor-cache-947f07f88a16ac9f143b6db2b240187e51034442
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_SOURCE_INCLUDE := .
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719
LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_ARCHIVE_FILE := .buildcache/archives/09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_ID),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_TYPE),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_BASE_LAYER),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_SOURCE_INCLUDE),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_SOURCE_EXCLUDE),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_CACHE_KEY_FILE),$(LAYER_09-copy-source-59bd4f6e79bfea922ea2e2b209e7dc151e8fd719_ARCHIVE_FILE)))
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_ID := 09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_TYPE := copy-source
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_BASE_LAYER := 08-warm-go-build-vendor-cache-6f6af7dce883f6e1b09b7c622ff1b527ea5f77f1
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_SOURCE_INCLUDE := .
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-679a76162b839df3b7ee21a5bac42c44533454c8
LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_ARCHIVE_FILE := .buildcache/archives/09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_ID),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_TYPE),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_BASE_LAYER),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_SOURCE_INCLUDE),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_SOURCE_EXCLUDE),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_CACHE_KEY_FILE),$(LAYER_09-copy-source-679a76162b839df3b7ee21a5bac42c44533454c8_ARCHIVE_FILE)))
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_ID := 09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_TYPE := copy-source
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_BASE_LAYER := 08-warm-go-build-vendor-cache-796e8ac227854e08a3a3394f23dee54006eb40eb
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_SOURCE_INCLUDE := .
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab
LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_ARCHIVE_FILE := .buildcache/archives/09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_ID),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_TYPE),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_BASE_LAYER),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_SOURCE_INCLUDE),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_SOURCE_EXCLUDE),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_CACHE_KEY_FILE),$(LAYER_09-copy-source-68b94ea302e6776db837cd8ed34c15b8cdcc0aab_ARCHIVE_FILE)))
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_ID := 09-copy-source-8490d401277a4001bbc44b278a91858049d76683
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_TYPE := copy-source
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_BASE_LAYER := 08-warm-go-build-vendor-cache-024e5c62d2ad59cb7a139748ec3571828bc950a8
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_SOURCE_INCLUDE := .
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-8490d401277a4001bbc44b278a91858049d76683
LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_ARCHIVE_FILE := .buildcache/archives/09-copy-source-8490d401277a4001bbc44b278a91858049d76683.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_ID),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_TYPE),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_BASE_LAYER),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_SOURCE_INCLUDE),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_SOURCE_EXCLUDE),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_CACHE_KEY_FILE),$(LAYER_09-copy-source-8490d401277a4001bbc44b278a91858049d76683_ARCHIVE_FILE)))
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_ID := 09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_TYPE := copy-source
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_BASE_LAYER := 08-warm-go-build-vendor-cache-4f409d29ffae0b3ec57b8459021b3c67105e257a
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_SOURCE_INCLUDE := .
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29
LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_ARCHIVE_FILE := .buildcache/archives/09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_ID),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_TYPE),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_BASE_LAYER),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_SOURCE_INCLUDE),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_SOURCE_EXCLUDE),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_CACHE_KEY_FILE),$(LAYER_09-copy-source-810ab6ed75ddab8380a8142c74d41360619b0c29_ARCHIVE_FILE)))
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_ID := 09-copy-source-93206299230604edb276a2550a83dec3324eb86f
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_TYPE := copy-source
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_BASE_LAYER := 08-warm-go-build-vendor-cache-0245576886d78da53ffbd161a95bd0ca099e5fc1
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_SOURCE_INCLUDE := .
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-93206299230604edb276a2550a83dec3324eb86f
LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_ARCHIVE_FILE := .buildcache/archives/09-copy-source-93206299230604edb276a2550a83dec3324eb86f.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_ID),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_TYPE),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_BASE_LAYER),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_SOURCE_INCLUDE),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_SOURCE_EXCLUDE),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_CACHE_KEY_FILE),$(LAYER_09-copy-source-93206299230604edb276a2550a83dec3324eb86f_ARCHIVE_FILE)))
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_ID := 09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_TYPE := copy-source
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_BASE_LAYER := 08-warm-go-build-vendor-cache-bd9cb1ba0e74a62a1d117e827fa88e80f256a746
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_SOURCE_INCLUDE := .
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-91e8bb278d25180dcb516f63189718f0280f5625
LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_ARCHIVE_FILE := .buildcache/archives/09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_ID),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_TYPE),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_BASE_LAYER),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_SOURCE_INCLUDE),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_SOURCE_EXCLUDE),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_CACHE_KEY_FILE),$(LAYER_09-copy-source-91e8bb278d25180dcb516f63189718f0280f5625_ARCHIVE_FILE)))
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_ID := 09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_TYPE := copy-source
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_BASE_LAYER := 08-warm-go-build-vendor-cache-b4bd76934c25a387356bd1fb0e28c95124eef902
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_SOURCE_INCLUDE := .
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044
LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_ARCHIVE_FILE := .buildcache/archives/09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_ID),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_TYPE),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_BASE_LAYER),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_SOURCE_INCLUDE),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_SOURCE_EXCLUDE),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_CACHE_KEY_FILE),$(LAYER_09-copy-source-9e44025163546ef6ed36d41a77b027c8d02ae044_ARCHIVE_FILE)))
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_ID := 09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_TYPE := copy-source
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_BASE_LAYER := 08-warm-go-build-vendor-cache-e3b9c5412c92965e6f51f2a069a104754bb8247c
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_SOURCE_INCLUDE := .
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f
LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_ARCHIVE_FILE := .buildcache/archives/09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_ID),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_TYPE),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_BASE_LAYER),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_SOURCE_INCLUDE),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_SOURCE_EXCLUDE),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_CACHE_KEY_FILE),$(LAYER_09-copy-source-9f9caeebd82a6346d02c04066e8739ec3701ff9f_ARCHIVE_FILE)))
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_ID := 09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_TYPE := copy-source
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_BASE_LAYER := 08-warm-go-build-vendor-cache-6876aa566f90846d4627c4a1c86ca155ccde2f1c
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_SOURCE_INCLUDE := .
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-a750ca270a9586283d232f59f62b97733da7d3fb
LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_ARCHIVE_FILE := .buildcache/archives/09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_ID),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_TYPE),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_BASE_LAYER),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_SOURCE_INCLUDE),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_SOURCE_EXCLUDE),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_CACHE_KEY_FILE),$(LAYER_09-copy-source-a750ca270a9586283d232f59f62b97733da7d3fb_ARCHIVE_FILE)))
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_ID := 09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_TYPE := copy-source
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_BASE_LAYER := 08-warm-go-build-vendor-cache-eac34e5daaf2ee2e27fe39448b62d8cdff4e800e
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_SOURCE_INCLUDE := .
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a
LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_ARCHIVE_FILE := .buildcache/archives/09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_ID),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_TYPE),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_BASE_LAYER),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_SOURCE_INCLUDE),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_SOURCE_EXCLUDE),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_CACHE_KEY_FILE),$(LAYER_09-copy-source-b31f38efa9553e222b791fa52d76ab248f318d6a_ARCHIVE_FILE)))
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_ID := 09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_TYPE := copy-source
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_BASE_LAYER := 08-warm-go-build-vendor-cache-596df758f200592b1270d44ea6a1b934949913f4
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_SOURCE_INCLUDE := .
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f
LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_ARCHIVE_FILE := .buildcache/archives/09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_ID),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_TYPE),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_BASE_LAYER),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_SOURCE_INCLUDE),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_SOURCE_EXCLUDE),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_CACHE_KEY_FILE),$(LAYER_09-copy-source-ac4d6f4024842c4a8e5893d22c0dfff9153ff69f_ARCHIVE_FILE)))
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_ID := 09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_TYPE := copy-source
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_BASE_LAYER := 08-warm-go-build-vendor-cache-f071c4c6ddd555cce3092b98f8b19115eb23f372
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_SOURCE_INCLUDE := .
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025
LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_ARCHIVE_FILE := .buildcache/archives/09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_ID),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_TYPE),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_BASE_LAYER),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_SOURCE_INCLUDE),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_SOURCE_EXCLUDE),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_CACHE_KEY_FILE),$(LAYER_09-copy-source-bf3395f720fd39ee12ee1bdda6d9ff3de1f9b025_ARCHIVE_FILE)))
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_ID := 09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_TYPE := copy-source
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_BASE_LAYER := 08-warm-go-build-vendor-cache-e91703d9d7092bb5c13b3569d75ca4bb34511607
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_SOURCE_INCLUDE := .
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60
LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_ARCHIVE_FILE := .buildcache/archives/09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_ID),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_TYPE),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_BASE_LAYER),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_SOURCE_INCLUDE),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_SOURCE_EXCLUDE),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_CACHE_KEY_FILE),$(LAYER_09-copy-source-bfc92f40ed9ac5e09826cc8473f9bf7b7403bd60_ARCHIVE_FILE)))
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_ID := 09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_TYPE := copy-source
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_BASE_LAYER := 08-warm-go-build-vendor-cache-66e5f57dc50bf5c80b57f8aa5c77147b1a188f8c
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_SOURCE_INCLUDE := .
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428
LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_ARCHIVE_FILE := .buildcache/archives/09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_ID),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_TYPE),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_BASE_LAYER),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_SOURCE_INCLUDE),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_SOURCE_EXCLUDE),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_CACHE_KEY_FILE),$(LAYER_09-copy-source-c01601ec6ea0f60a2403cb5a29d70b0c08241428_ARCHIVE_FILE)))
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_ID := 09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_TYPE := copy-source
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_BASE_LAYER := 08-warm-go-build-vendor-cache-1c18a76adf11382eaf4b84b8403c66cf104174d7
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_SOURCE_INCLUDE := .
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-f4f9d205876325505a719298391e7c233b5a1ac7
LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_ARCHIVE_FILE := .buildcache/archives/09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_ID),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_TYPE),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_BASE_LAYER),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_SOURCE_INCLUDE),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_SOURCE_EXCLUDE),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_CACHE_KEY_FILE),$(LAYER_09-copy-source-f4f9d205876325505a719298391e7c233b5a1ac7_ARCHIVE_FILE)))
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_ID := 09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_TYPE := copy-source
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_BASE_LAYER := 08-warm-go-build-vendor-cache-12bf088afd7426b615e6193316c7efeda43120b4
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_SOURCE_INCLUDE := .
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b
LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_ARCHIVE_FILE := .buildcache/archives/09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_ID),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_TYPE),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_BASE_LAYER),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_SOURCE_INCLUDE),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_SOURCE_EXCLUDE),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_CACHE_KEY_FILE),$(LAYER_09-copy-source-c18cc2367cdc431088468688b8baf5d7cc8a5c9b_ARCHIVE_FILE)))
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_ID := 09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_TYPE := copy-source
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_BASE_LAYER := 08-warm-go-build-vendor-cache-28637de51e735a2eca5909e5685278b304ac5b15
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_SOURCE_INCLUDE := .
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84
LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_ARCHIVE_FILE := .buildcache/archives/09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_ID),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_TYPE),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_BASE_LAYER),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_SOURCE_INCLUDE),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_SOURCE_EXCLUDE),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_CACHE_KEY_FILE),$(LAYER_09-copy-source-f976e4b1eb1e3dee4cbd089a1b97edc2f63f5d84_ARCHIVE_FILE)))
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_ID := 09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_TYPE := copy-source
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_BASE_LAYER := 08-warm-go-build-vendor-cache-2daf717df8a6c95f32d3420ccd3be4752ad38011
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_SOURCE_INCLUDE := .
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_SOURCE_EXCLUDE := vendor/ ui/
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-f35125307b0be0b9878bbe88776ef811deab97e5
LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_ARCHIVE_FILE := .buildcache/archives/09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5.tar.gz
$(eval $(call LAYER,$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_ID),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_TYPE),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_BASE_LAYER),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_SOURCE_INCLUDE),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_SOURCE_EXCLUDE),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_CACHE_KEY_FILE),$(LAYER_09-copy-source-f35125307b0be0b9878bbe88776ef811deab97e5_ARCHIVE_FILE)))

File diff suppressed because it is too large Load Diff

82
packagespec.mk generated Executable file
View File

@ -0,0 +1,82 @@
# ***
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
# ***
# packagespec.mk should be included at the end of your main Makefile,
# it provides hooks into packagespec targets, so you can run them
# from the root of your product repository.
#
# All packagespec-generated make targets assume they are invoked by
# targets in this file, which provides the necessary context for those
# other targets. Therefore, this file is not just for conveninence but
# is currently necessary to the correct functioning of Packagespec.
# Since this file is included in other Makefiles, which may or may not want
# to use bash with these options, we explicitly set the shell for specific
# targets, in this file, rather than setting the global SHELL variable.
PACKAGESPEC_SHELL := /usr/bin/env bash -euo pipefail -c
# The RUN macro is used in place of the shell builtin in this file, so that
# we can use the PACKAGESPEC_SHELL rather than the default from the Makefile
# that includes this one.
RUN = $(shell $(PACKAGESPEC_SHELL) '$1')
# This can be overridden by the calling Makefile to write config to a different path.
PACKAGESPEC_CIRCLECI_CONFIG ?= .circleci/config.yml
PACKAGESPEC_HOOK_POST_CI_CONFIG ?= echo > /dev/null
SPEC_FILE_PATTERN := packages*.yml
# SPEC is the human-managed description of which packages we are able to build.
SPEC := $(call RUN,find . -mindepth 1 -maxdepth 1 -name '$(SPEC_FILE_PATTERN)')
ifneq ($(words $(SPEC)),1)
$(error Found $(words $(SPEC)) $(SPEC_FILE_PATTERN) files, need exactly 1: $(SPEC))
endif
SPEC_FILENAME := $(notdir $(SPEC))
SPEC_MODIFIER := $(SPEC_FILENAME:packages%.yml=%)
# LOCKDIR contains the lockfile and layer files.
LOCKDIR := packages$(SPEC_MODIFIER).lock
LOCKFILE := $(LOCKDIR)/pkgs.yml
export PACKAGE_SPEC_ID LAYER_SPEC_ID PRODUCT_REVISION PRODUCT_VERSION
# PASSTHROUGH_TARGETS are convenience aliases for targets defined in $(LOCKDIR)/Makefile
PASSTHROUGH_TARGETS := \
build package-contents copy-package-contents build-all \
aliases meta package package-meta \
build-ci watch-ci \
stage-config stage \
list-staged-builds \
publish-config publish
.PHONY: $(PASSTHROUGH_TARGETS)
LOCAL_TARGETS := packages packagespec-circleci-config $(PACKAGESPEC_CIRCLECI_CONFIG)
# Set the shell for all packagespec targets.
$(PASSTHROUGH_TARGETS) $(LOCAL_TARGETS): SHELL := $(PACKAGESPEC_SHELL)
$(PASSTHROUGH_TARGETS):
@PRODUCT_REPO_ROOT="$(call RUN,git rev-parse --show-toplevel)" $(MAKE) -C $(LOCKDIR) $@
# packages regenerates $(LOCKDIR) from $(SPEC) using packagespec. This is only for
# internal HashiCorp use, as it has dependencies not available externally.
.PHONY: packages
packages:
@command -v packagespec > /dev/null 2>&1 || { \
echo "Please install packagespec."; \
echo "Note: packagespec is only available to HashiCorp employees at present."; \
exit 1; \
}
@packagespec lock -specfile $(SPEC) -lockdir $(LOCKDIR)
@$(MAKE) $(PACKAGESPEC_CIRCLECI_CONFIG)
CIRCLECI_PRIMARY_TPL := .packagespec/templates/circleci-primary.yml.tpl
$(PACKAGESPEC_CIRCLECI_CONFIG): $(LOCKFILE) $(CIRCLECI_PRIMARY_TPL)
@\
echo "==> Updating $(PACKAGESPEC_CIRCLECI_CONFIG)..."; \
mkdir -p "$(dir $@)"; \
cat $< | gomplate -f $(CIRCLECI_PRIMARY_TPL) -d 'lock-file=stdin://?type=application/yaml' > $@; \
$(PACKAGESPEC_HOOK_POST_CI_CONFIG)
# This target is needed by packagespec, do not remove.
packagespec-circleci-config: $(PACKAGESPEC_CIRCLECI_CONFIG)