Getting started
Escape
Escape Inventory

 The Escape Plan

Everything starts with a plan. An Escape plan.

The Escape plan gets compiled into release metadata at build time.

Field Type Description
name string The package name is a required field. The name can be qualified by a project name, but if no project is specified then the default project _ will be used.
Format: /([a-za-z]+[a-za-z0-9-]*\/)?[a-za-z]+[a-za-z0-9-]*/
Examples:
* Fully qualified: name: my-project/my-package
* Default project: name: my-package
version string The version is a required field. Escape uses semantic versioning to version packages. Either specify the full version or use the ‘@’ symbol to let Escape pick the next version at build time. See here for more versioning approaches.
Format: /[0-9]+(\.[0-9]+)*(\.@)?/
Examples:
* Build version 1.5: version: 1.5
* Build the next minor release in the 1.* series: version: 1.@
* Build the next patch release in the 1.1.* series: version: 1.1.@
description string A description for this package. Only used for presentation purposes.
logo string A path to an image. Only used for presentation purposes.
license string The license. For example Apache Software License, BSD License, GPLv3, etc. Currently no input validation is performed on this field.
metadata {string:string} Metadata key value pairs.
Escape Script can be used to programmatically set values using the default context.
Example:
metadata: author: Fictional Character co_author: $dependency.metadata.author
depends [string], Dependencies Reference depedencies by their full ID or use the @ symbol to resolve versions at build time.
extends [string], Extensions
includes [string] The files to includes in this release. The files don’t have to exist and can be produced during build time. Globbing patterns are supported. Directories will be added recursively.
provides [string], Consumers The release can declare zero or more providers so that consumers can loosely depend on it at deploy time.
consumes [string], Consumers At deploy time a package can consume zero or more providers from the target environment.
build_consumes [string], Consumers Same as consumes, but scoped to the build stage (ie. the consumer is not required/available at deploy time).
deploy_consumes [string], Consumers Same as consumes, but scoped to the deploy stage (ie. the consumer is not required/available at build time).
inputs [string], Variables Input variables.
build_inputs [string], Variables Same as inputs, but all variables are scoped to the build phase (ie. the variables won’t be required/available at deploy time).
deploy_inputs [string], Variables Same as inputs, but all variables are scoped to the deployment phase (ie. the variables won’t be required/available at build time).
outputs [string], Variables Output variables.
build any Build script.
pre_build any Pre-build script. The script has access to all the build scoped input variables.
post_build any Post-build script. The script has access to all the build scoped input and output variables.
test any Test script.
deploy any Deploy script.
pre_deploy any Pre-deploy script. The script has access to all the deploy scoped input variables.
post_deploy any Post-deploy script. The script has access to all the deploy scoped input and output variables.
smoke any Smoke script.
destroy any Destroy script.
pre_destroy any Pre-destroy script.
post_destroy any Post-destroy script.
errands {string:Errands} Errands are scripts that can be run against the deployment of this release. The scripts receive the deployment’s inputs and outputs as environment variables.
templates Templates Templates.
build_templates Templates Same as templates, but all the templates are scoped to the build stage (ie. templates won’t be rendered at deploy time).
deploy_templates Templates Same as templates, but all the templates are scoped to the deploy stage (ie. templates won’t be rendered at deploy time).
downloads Downloads Downloads.