30 lines
627 B
Plaintext
30 lines
627 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
#Colors
|
||
|
col_normal=$(tput sgr0)
|
||
|
col_red=$(tput setaf 1)
|
||
|
col_green=$(tput setaf 2)
|
||
|
col_magenta=$(tput setaf 5)
|
||
|
col_cyan=$(tput setaf 6)
|
||
|
|
||
|
#validation
|
||
|
if [[ -z $1 ]]
|
||
|
then
|
||
|
echo 'USAGE: mvn-findclass [classname]'
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
query="$(echo "$1" | sed 's%\.%/%g')"
|
||
|
|
||
|
find ~/.m2 -type f -name '*.jar' -print0 | while read -d '' -r jar
|
||
|
do
|
||
|
unzip -l "$jar" | sed -r 's%^.* .* (.*)$%\1%gm' | while read -r file
|
||
|
do
|
||
|
if [[ "$file" == *"$query.class" ]]
|
||
|
then
|
||
|
echo "$file" | sed -r "s%^(.*)($query)(.*)$%Found \1${col_green}\2${col_normal}\3%"
|
||
|
echo " in ${col_cyan}$jar${col_normal}"
|
||
|
fi
|
||
|
done
|
||
|
done
|