| # This bash file is intended to be used for docker images.  To use this file | 
 | # just create your own bash file in which you define the APPNAME var and the | 
 | # copy_release_files() function which copies all the files needed in the | 
 | # distribution in ${ROOT}. At a minimum, copy_release_files() must place | 
 | # a 'Dockerfile' file immediately under ${ROOT}. Then source this file after | 
 | # those definitions. The resulting docker image will be uploaded to the Google | 
 | # Container registry. | 
 | # | 
 | # PROJECT | 
 | # ------- | 
 | # If PROJECT is set then it is used as the default GCE project for the Google | 
 | # Container Registry. This value defaults to 'skia-public'. The project must | 
 | # have Google Container Registry activated. | 
 | # | 
 | # TAG | 
 | # --- | 
 | # If TAG is set then it is used as the tag for the docker image, otherwise a | 
 | # unique tag is generated from the time/date, user, git hash and repo state. | 
 | # This should never be set for application images, i.e. ones that will | 
 | # participate in pushk, which expects the auto generated tag format. | 
 | # | 
 | # SKIP_UPLOAD | 
 | # ----------- | 
 | # If SKIP_UPLOAD is set then do not push the image to the container registry. | 
 | # This is useful when developing locally and needing to rapidly iterate on | 
 | # the image. | 
 | # | 
 | # SKIP_BUILD | 
 | # ----------- | 
 | # If SKIP_BUILD is set then do not run docker on the ROOT directory. This also | 
 | # skips the upload step since nothing will have been built. Useful for cloud | 
 | # builder steps. | 
 | # | 
 | # ROOT | 
 | # ---- | 
 | # If ROOT is not set then it will be set to a temp directory that is created, | 
 | # otherewise ROOT is presumed to exist. | 
 |  | 
 | set -e | 
 |  | 
 | # Useful variables used by build_* scripts. | 
 | INSTALL="install -D --verbose --backup=none" | 
 | INSTALL_DIR="install -d --verbose --backup=none" | 
 | REL=$(dirname "$BASH_SOURCE") | 
 |  | 
 | if [ -z "$ROOT" ]; then | 
 |   ROOT=`mktemp -d` | 
 | fi | 
 | mkdir -p ${ROOT} | 
 | PROJECT="${PROJECT:-skia-public}" | 
 |  | 
 | # Calculate the tag. | 
 | if [ -z "$TAG" ]; then | 
 |   # If the format of this ever changes then please also update k8s_checker/main.go | 
 |   TAG=`${REL}/release_tag.sh` | 
 | fi | 
 |  | 
 | copy_release_files | 
 |  | 
 | if [ -z "$SKIP_BUILD" ]; then | 
 | docker build -t ${APPNAME} ${ROOT} | 
 |  | 
 |   if [ -z "$SKIP_UPLOAD" ]; then | 
 |     docker tag ${APPNAME} gcr.io/${PROJECT}/${APPNAME}:${TAG} | 
 |     docker push gcr.io/${PROJECT}/${APPNAME}:${TAG} | 
 |     echo gcr.io/${PROJECT}/${APPNAME}:${TAG} | 
 |   fi | 
 | fi |