#!/bin/bash
TXT_BOLD=`tput bold`
TXT_UNDERLINE_ON=`tput smul`
TXT_UNDERLINE_OFF=`tput rmul`
TXT_BLACK=`tput setaf 0`
TXT_RED=`tput setaf 1`
TXT_GREEN=`tput setaf 2`
TXT_YELLOW=`tput setaf 3`
TXT_BLUE=`tput setaf 4`
TXT_MAGENTA=`tput setaf 5`
TXT_CYAN=`tput setaf 6`
TXT_WHITE=`tput setaf 7`
BGD_BLACK=`tput setab 0`
BGD_RED=`tput setab 1`
BGD_GREEN=`tput setab 2`
BGD_YELLOW=`tput setab 3`
BGD_BLUE=`tput setab 4`
BGD_MAGENTA=`tput setab 5`
BGD_CYAN=`tput setab 6`
BGD_WHITE=`tput setab 7`
RST_FORMATTING=`tput sgr0`
find "~/.m2/repository" -name '*.pom' -o -name '*.jar' | while read i; do
if [ -r "$i.sha1" ]; then
CHK1=`shasum "$i" | awk '{print $1}'`;
CHK2=`cat "$i.sha1" | awk '{print $1}'`;
if [ "$CHK1" = "$CHK2" ]; then
echo -n "$TXT_GREEN"
echo "OK SHA1 $i $CHK1=$CHK2";
else
echo -n "$TXT_RED"
echo "KO SHA1 $i $CHK1=$CHK2"
echo -n "$RST_FORMATTING"
echo -n "$TXT_BOLD"
rm -fv "$i*"
fi;
elif [ -r "$i.md5" ]; then
CHK1=`md5 "$i" | awk '{print $1}'`;
CHK2=`cat "$i.md5" | awk '{print $1}'`;
if [ "$CHK1" = "$CHK2" ]; then
echo -n "$TXT_GREEN"
echo "OK MD5 $i $CHK1=$CHK2";
else
echo -n "$TXT_RED"
echo "KO MD5 $i $CHK1=$CHK2"
echo -n "$RST_FORMATTING"
echo -n "$TXT_BOLD"
rm -fv "$i*"
fi;
else
echo -n "$TXT_YELLOW"
echo "??????? $i";
echo -n "$RST_FORMATTING"
echo -n "$TXT_BOLD"
rm -fv "$i*"
fi;
done;
echo "$RST_FORMATTING"
Friday, June 29, 2012
Maven: How to clean your local repository
How many times we delete all ~/.m2/repository and re-download every artifact running mvn package for each project we have in the system?
I've done a little script to check every artifact in local maven repository that removes every artifact with wrong MD5 or SHA or without any of them.
Run this check-maven-repository.sh script in your shell typing './check-maven-repository.sh' command.
Note: I'm not responsible of any problem deriving from the execution of this script.
Labels:
maven,
repository,
script
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment