blob: 758812a923164543a1bc688430f92dd2824d0cdd [file] [log] [blame]
#!/bin/bash -e
export SOURCE_VARIANTS=(ubuntu )
export DEFAULT_SCALA="2.12"
export DEFAULT_JAVA="11"
function generateDockerfile {
# define variables
dir=$1
binary_download_url=$2
asc_download_url=$3
gpg_key=$4
check_gpg=$5
java_version=$6
source_variant=$7
from_docker_image="eclipse-temurin:${java_version}-jre-jammy"
cp docker-entrypoint.sh "$dir/docker-entrypoint.sh"
# '&' has special semantics in sed replacement patterns
escaped_binary_download_url=$(echo "$binary_download_url" | sed 's/&/\\\&/')
# generate Dockerfile
sed \
-e "s,%%BINARY_DOWNLOAD_URL%%,${escaped_binary_download_url}," \
-e "s,%%ASC_DOWNLOAD_URL%%,$asc_download_url," \
-e "s/%%GPG_KEY%%/$gpg_key/" \
-e "s/%%CHECK_GPG%%/${check_gpg}/" \
-e "s/%%FROM_IMAGE%%/${from_docker_image}/" \
"Dockerfile-$source_variant.template" > "$dir/Dockerfile"
}
function generateReleaseMetadata {
dir=$1
flink_release=$2
flink_version=$3
scala_version=$4
java_version=$5
# docker image tags:
java_suffix="-java${java_version}"
# example "1.2.0-scala_2.11-java11"
full_tag=${flink_version}-scala_${scala_version}${java_suffix}
# example "1.2-scala_2.11-java11"
short_tag=${flink_release}-scala_${scala_version}${java_suffix}
# example "scala_2.12-java11"
scala_tag="scala_${scala_version}${java_suffix}"
tags="$full_tag, $short_tag, $scala_tag"
if [[ "$java_version" == "$DEFAULT_JAVA" ]]; then
# example "1.2.0-scala_2.11"
full_tag=${flink_version}-scala_${scala_version}
# example "1.2-scala_2.11"
short_tag=${flink_release}-scala_${scala_version}
# example "scala_2.12"
scala_tag="scala_${scala_version}"
tags="$tags, $full_tag, $short_tag, $scala_tag"
fi
if [[ "$scala_version" == "$DEFAULT_SCALA" ]]; then
# we are generating the image for the latest scala version, add:
# "1.2.0-java11"
# "1.2-java11"
# "java11"
tags="$tags, ${flink_version}${java_suffix}, ${flink_release}${java_suffix}, java${java_version}"
if [[ "$java_version" == "$DEFAULT_JAVA" ]]; then
# we are generating the image for the default java version, add tags w/o java tag:
# "1.2.0"
# "1.2"
# "latest"
tags="$tags, ${flink_version}, ${flink_release}, latest"
fi
fi
echo "Tags: $tags" >> $dir/release.metadata
echo "Architectures: amd64,arm64v8" >> $dir/release.metadata
}