Script para realizar upload de multiplos jars para um repositório nexus baseado numa estrutura de aquivos existente
#!/bin/bash
REPOSITORY_ID="mobile-mind-m2" ## autenticação
REPOSITOTY_URL="http://nexus.mobilemind.com.br/repository/mobile-mind-droid-m2"
## busca por todos .jar na pasta e sub pastas
for f in $(find `pwd` -name '*.jar'); do
echo "post artefact $f"
## verifica se tem um POM
POM="${f/.jar/.pom}"
if [ -e $POM ]; then
mvn deploy:deploy-file \
-Dfile=$f \
-DpomFile=$POM \
-DrepositoryId=$REPOSITORY_ID \
-Durl=$REPOSITOTY_URL
fi
## se não tiver um POM busca as informações baseado na estrutura para geração do POM.
BASE_FOLDER_NAME="mobile-mind"
paths=(${f//// })
len=${#paths[@]}
version=${paths[$len - 2]}
artifactId=${paths[$len - 3]}
groupId="nada"
ok='0'
for it in ${paths[@]}; do
#echo "it=$it"
if [ $it == $BASE_FOLDER_NAME ]; then
ok='1'
continue
fi
if [ $it == $artifactId ]; then
ok='0'
fi
if [ $ok == '1' ]; then
if [ $groupId == "nada" ]; then
groupId="$groupId.$it"
else
groupId="$it"
fi
fi
done
mvn deploy:deploy-file \
-Dfile=$f \
-DgroupId=$groupId \
-DartifactId=$artifactId \
-Dversion=$version \
-Dpackaging=jar \
-DrepositoryId=$REPOSITORY_ID \
-Durl=$REPOSITOTY_URL
done