Skip to content

Commit e3cd694

Browse files
committed
class-version.sh: support GAV arguments
1 parent 22a568f commit e3cd694

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

class-version.sh

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,37 @@ first_class() {
5656
head -n 1
5757
}
5858

59-
for file in "$@"
59+
for arg in "$@"
6060
do
61-
case "$file" in
61+
case "$arg" in
62+
*:*:*)
63+
ga=${arg%:*}
64+
g=${ga%%:*}
65+
a=${ga#*:}
66+
v=${arg##*:}
67+
f="$HOME/.m2/repository/$(echo "$g" | tr '.' '/')/$a/$v/$a-$v.jar"
68+
test -f "$f" || mvn dependency:get -D"$arg"
69+
arg="$f"
70+
;;
71+
esac
72+
case "$arg" in
6273
*.class)
63-
version=$(cat "$file" | class_version)
74+
version=$(cat "$arg" | class_version)
6475
;;
6576
*.jar)
66-
class=$(first_class "$file")
77+
class=$(first_class "$arg")
6778
if [ -z "$class" ]
6879
then
69-
echo "$file: No classes"
80+
echo "$arg: No classes"
7081
continue
7182
fi
72-
version=$(unzip -p "$file" "$class" | class_version)
83+
version=$(unzip -p "$arg" "$class" | class_version)
7384
;;
7485
*)
75-
>&2 echo "Unsupported file: $file"
86+
>&2 echo "Unsupported argument: $arg"
7687
continue
7788
esac
7889

7990
# report the results
80-
echo "$file: $version"
91+
echo "$arg: $version"
8192
done

0 commit comments

Comments
 (0)