mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
55 lines
1.3 KiB
Bash
Executable File
55 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
############################################################################
|
|
## update-dep.sh
|
|
## Update one qqq dependency in a pom with a specific snapshot version
|
|
############################################################################
|
|
|
|
dep=$1
|
|
version=$2
|
|
|
|
verbose=1
|
|
if [ "$3" == "-q" ]; then
|
|
verbose=0;
|
|
fi
|
|
|
|
if [ -z "$dep" -o -z "$version" ]; then
|
|
|
|
echo "What dependency?"
|
|
dep=$(cat $QQQ_DEV_TOOLS_DIR/MODULE_LIST | gum filter)
|
|
if [ -z "$dep" ]; then
|
|
exit 1;
|
|
fi
|
|
echo " $dep"
|
|
|
|
echo "What version?"
|
|
version=$(gum input --placeholder 0.0.0-20220202.202022-1)
|
|
if [ -z "$version" ]; then
|
|
exit 1;
|
|
fi
|
|
echo " $version"
|
|
fi
|
|
|
|
lines=$(grep -n "<artifactId>.*$dep" pom.xml)
|
|
if [ $? != 0 -o $(echo "$lines" | wc -l) -ne 1 ]; then
|
|
echo "Error: couldn't really tell where $dep was in the pom.xml"
|
|
exit 1;
|
|
fi
|
|
lineNo=$(( $(echo $lines | cut -d: -f1) + 1 ))
|
|
|
|
dependenciesTagLineNo=$(grep -n "<dependencies>" pom.xml | head -1 | cut -d: -f1)
|
|
if [ $lineNo -lt $dependenciesTagLineNo ]; then
|
|
echo "Not updating $dep in what appears to be the pom for $dep."
|
|
exit 0;
|
|
fi
|
|
|
|
if [ "$verbose" == "1" ]; then
|
|
echo "Going to update version of $dep at line $lineNo"
|
|
fi
|
|
|
|
gsed -i "${lineNo}s/<version>.*</<version>$version</" pom.xml
|
|
|
|
if [ "$verbose" == "1" ]; then
|
|
git diff pom.xml
|
|
fi
|