tet123/jenkins-jobs/docker/artifact-server/listing.sh
2022-12-06 16:14:57 +01:00

65 lines
1.8 KiB
Bash
Executable File

#! /usr/bin/env bash
CONNECTORS="db2 mongodb mysql oracle postgres sqlserver"
OPTS=$(getopt -o d:o:c: --long dir:,output:,connectors: -n 'parse-options' -- "$@")
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
eval set -- "$OPTS"
OUTPUT="$(pwd)/artifacts.txt"
while true; do
case "$1" in
-d | --dir ) DIR=$2; shift; shift ;;
-o | --output ) OUTPUT=$2; shift; shift ;;
-c | --connectors ) CONNECTORS=$2; shift; shift ;;
-h | --help ) PRINT_HELP=true; shift ;;
-- ) shift; break ;;
* ) break ;;
esac
done
shopt -s globstar
pushd "$DIR" || exit
rm -f "$OUTPUT"
for connector in ${CONNECTORS}; do
file=""
if [[ $(ls **/*"${connector}"*.zip) ]]; then
file=$(ls **/*"${connector}"*.zip)
fi
artifact="debezium-connector-$connector"
echo "$artifact"
echo "$artifact::$file" >> "$OUTPUT"
done
scripting=$(ls **/*scripting*.{zip,jar})
artifact="debezium-scripting"
echo "$artifact"
echo "$artifact::$scripting" >> "$OUTPUT"
converter=$(ls **/*converter*.{zip,jar})
artifact="connect-converter"
echo "$artifact"
echo "$artifact::$converter" >> "$OUTPUT"
for driver in **/jdbc/*.{zip,jar}; do
name=$(echo "$driver" | sed -rn 's@^(.*)-([[:digit:]].*([[:digit:]]|Final|SNAPSHOT))(.*)(\..*)$@\1@p')
artifact="$name"
if [[ ! $artifact ]]; then
continue
fi
echo "$artifact"
echo "$artifact::$driver" >> "$OUTPUT"
done
for groovy_script in **/groovy/*.{zip,jar}; do
name=$(echo "$groovy_script" | sed -rn 's@^(.*)-[0-9]\..*$@\1@p')
artifact="$name"
if [[ ! $artifact ]]; then
continue
fi
echo "$artifact"
echo "$artifact::$groovy_script" >> "$OUTPUT"
done
popd || exit