Skip to content

Commit 950438f

Browse files
committed
class-version.sh: recognize G:A:V:C coords
1 parent 0e97dd0 commit 950438f

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

class-version.sh

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,20 @@ first_class() {
5555

5656
for arg in "$@"
5757
do
58+
# Resolve Maven dependency coordinates into local files.
5859
case "$arg" in
59-
*:*:*)
60+
*:*:*:*) # g:a:v:c
61+
gav=${arg%:*}
62+
g=${gav%%:*}
63+
av=${gav#*:}
64+
a=${av%:*}
65+
v=${av#*:}
66+
c=${arg##*:}
67+
f="$HOME/.m2/repository/$(echo "$g" | tr '.' '/')/$a/$v/$a-$v-$c.jar"
68+
test -f "$f" || mvn dependency:get -Dartifact="$g:$a:$v:jar:$c"
69+
arg="$f"
70+
;;
71+
*:*:*) # g:a:v
6072
ga=${arg%:*}
6173
g=${ga%%:*}
6274
a=${ga#*:}
@@ -66,6 +78,7 @@ do
6678
arg="$f"
6779
;;
6880
esac
81+
# Handle the various local file cases.
6982
case "$arg" in
7083
*.class)
7184
version=$(cat "$arg" | class_version)
@@ -84,6 +97,6 @@ do
8497
continue
8598
esac
8699

87-
# report the results
100+
# Report the results.
88101
echo "$arg: $version"
89102
done

0 commit comments

Comments
 (0)