mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-11-15 12:12:05 +01:00
51 lines
1.4 KiB
Bash
Executable file
51 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
|
if [ $# -eq 0 ]; then
|
|
echo "Usage: smack-unique-snapshots.sh 4.4.0-alpha1-SNAPSHOT";
|
|
exit 1;
|
|
fi
|
|
|
|
VERSION=$1
|
|
SMACK="https://igniterealtime.org/repo/org/igniterealtime/smack"
|
|
META="maven-metadata.xml"
|
|
|
|
TEMPD=$(mktemp -d)
|
|
cd $TEMPD
|
|
# Determine avail smack projects by recursively fetching subdirs
|
|
wget -q -r -l1 -nH --cut-dirs=4 --no-parent -e robots=off $SMACK
|
|
|
|
PROJECTS=()
|
|
VERSIONS=()
|
|
# smack projects will result in subdir
|
|
# get index.html of project with descending change date
|
|
# from the html, extract first .pom file name, which is latest version
|
|
for d in `ls` ; do
|
|
if [[ -d $d ]]; then
|
|
PRO=$(wget -q "$SMACK/$d/$VERSION?C=M;O=D" -O- | grep -Po '(?<=a href=").*?(?=\.pom")' | head -n1);
|
|
|
|
# Repair missing projects
|
|
if [ ${#PRO} -le ${#d} ]; then
|
|
PRO="$d MISSING"
|
|
fi
|
|
PROJECTS+=("$PRO")
|
|
|
|
echo $PRO
|
|
|
|
# Gradle dependency generation
|
|
# Determine snapshot version string, which begins after project name
|
|
PROJ_LEN=$((${#d} + 1))
|
|
SNAP=${PRO:$PROJ_LEN}
|
|
# Make project name camelcase and append version string
|
|
VER="$(echo $d | sed -r 's/(^|-)(\w)/\U\2/g')Version = \"$SNAP\""
|
|
# Append to array with first char lower case'd
|
|
VERSIONS+=("${VER,}")
|
|
fi
|
|
done
|
|
# print out block of gradle dependecy versions
|
|
printf "\n"
|
|
echo "Gradle Versions:"
|
|
for v in "${VERSIONS[@]}"; do
|
|
echo $v
|
|
done
|
|
|
|
# clean up
|
|
rm -rf $TEMPD
|