58 lines
1.2 KiB
Bash
Executable File
58 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Bring in the variables from SOLUTION file
|
|
#
|
|
export $(grep -v '^#' SOLUTION | xargs -d '\n')
|
|
export $(grep -v '^#' MANIFEST | xargs -d '\n')
|
|
|
|
# Remove the Dockerfile if it exists; should check
|
|
# if it is clean first, and abort if not.
|
|
#
|
|
[ -e Dockerfile ] && rm Dockerfile
|
|
|
|
cat << EOM > Dockerfile
|
|
#
|
|
# DO NOT EDIT THIS DOCKERFILE
|
|
#
|
|
# This file is auto-generated via scripts/build-dockerfile
|
|
# by using environment substitution while concatenating the
|
|
# contents of templates/*, and then adding the contents
|
|
# of Dockerfile.solution
|
|
#
|
|
# Most solution specific changes should be isolated in
|
|
# Dockerfile.solution. After making changes, you can
|
|
# then re-run scripts/build-dockerfile
|
|
#
|
|
EOM
|
|
|
|
for snippet in templates/*.in; do
|
|
cat << EOM >> Dockerfile
|
|
|
|
#
|
|
# Template $snippt begins here (from templates/${snippet})
|
|
#
|
|
EOM
|
|
envsubst < $snippet >> Dockerfile
|
|
done
|
|
|
|
cat << EOM >> Dockerfile
|
|
|
|
#
|
|
# Solution begins here (from Dockerfile.solution)
|
|
#
|
|
EOM
|
|
|
|
envsubst < Dockerfile.solution >> Dockerfile
|
|
|
|
docker build . -t $CONTAINER:agama-${AGAMA_VERSION}
|
|
|
|
cat << EOM
|
|
|
|
If the build looks good, you should commit the changes
|
|
to Dockerfile and tag it as agama-${AGAMA_VERSION}:
|
|
|
|
git commit -s -a -m "Build of agama-${AGAMA_VERSION}"
|
|
git tag -f agama-${AGAMA_VERSION}
|
|
|
|
EOM
|