Есть проект, который достался по наследству, внезапно выяснил что пара либ пересобраны. Старожил грит, что там что-то фиксили, но точно вспомнить что и в каких ещё либах фиксили - не может.
Собственно вопрос, есть ли какой способ без ручного написания скрипта для вытягивания помников из джарок и выкачивания всех артефактов и сравнения их чексум с оригиналами, определить какие из них были модифицированы?
Update:
Т.к. ничего вменяемого так и не нашлось написал простой скриптец, может кому пригодится
#!/bin/bash
FILES=./pom*.xml
for f in $FILES
do
GROUP=$(xml_grep --text_only '/project/groupId' "$f" | sed -r 's|(\.)|/|g');
ARTIFACTID=$(xml_grep --text_only '/project/artifactId' "$f");
VERSION=$(xml_grep --text_only '/project/version' "$f");
if [ -z "$VERSION" ]; then
VERSION=$(xml_grep --text_only '/project/parent/version' "$f");
fi
MD5=$(wget "http://repo.maven.apache.org/maven2/$GROUP/$ARTIFACTID/$VERSION/$ARTIFACTID-$VERSION.jar.md5" -q -O -);
if [ -n "$MD5" ]; then
echo "$MD5 $ARTIFACTID-$VERSION.jar" >> md5list.tmp;
fi
done
sort -u md5list.tmp > md5list;
rm md5list.tmp;
Ахтунг: для некоторых джарок в репе файл *.jar.md5 содержит не только чексумму, но и имя файлика, у меня таких было всего пара штук, поэтому пофиксил просто руками.
ПС: Нашёл еще один перебранный джарник.