gcube-jackson-relocator/createAndDeploy.sh

101 lines
2.8 KiB
Bash
Raw Permalink Normal View History

2020-04-28 17:56:21 +02:00
#!/bin/bash
jacksonGroupId=com.fasterxml.jackson.core
2020-04-29 19:52:01 +02:00
jacksonVersion=2.8.11
2020-04-28 17:56:21 +02:00
jacksonOriginalPackage=com.fasterxml.jackson
2020-04-28 18:18:46 +02:00
gCubePrefix=org.gcube
gCubeGroupId=org.gcube.common
2020-04-28 17:56:21 +02:00
2020-04-29 13:22:37 +02:00
repositoryId=gcube-releases
repositoryUrl=http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-releases
2020-04-29 00:57:55 +02:00
2020-04-29 13:22:37 +02:00
username=
password=
function showhelp {
echo -e "\nUsage: createAndDeploy.sh -u <nexus-releases-username> -p <nexus-releases-password> [-h]\n"
echo -e " -h = shows this help.\n"
}
while getopts ":u:p:h" opt; do
case $opt in
u) username=$OPTARG;;
p) password=$OPTARG;;
h) showhelp
exit 0 ;;
\?) echo -e "\nERROR:invalid option: -$OPTARG";
showhelp;
echo -e "\naborting.\n"
exit 1 >&2 ;;
esac
done
settingsFile=jenkins-releases-settings.xml
rm ${settingsFile}
wget https://code-repo.d4science.org/gCubeSystem/Configs/raw/branch/master/Maven/1.1.0/${settingsFile}
sed -i 's/{{ gcube_maven_user }}/'"${username}"'/g' ${settingsFile}
sed -i 's/{{ gcube_maven_pwd }}/'"${password}"'/g' ${settingsFile}
2020-04-29 00:35:57 +02:00
for i in jackson-core jackson-annotations jackson-databind
2020-04-28 17:56:21 +02:00
do
jacksonArtifactId=$i
cp pom.repackage.template.xml pom.xml
2020-04-28 17:56:21 +02:00
sed -i 's/JACKSON_GROUP_ID/'"${jacksonGroupId}"'/g' pom.xml
sed -i 's/JACKSON_ARTIFACT_ID/'"${jacksonArtifactId}"'/g' pom.xml
sed -i 's/JACKSON_VERSION/'"${jacksonVersion}"'/g' pom.xml
sed -i 's/JACKSON_ORIGINAL_PACKAGE/'"${jacksonOriginalPackage}"'/g' pom.xml
2020-04-28 18:18:46 +02:00
sed -i 's/GCUBE_PREFIX/'"${gCubePrefix}"'/g' pom.xml
2020-04-28 17:56:21 +02:00
projectDir=${PWD}
mvn -U clean package
cd target
2020-04-28 18:18:46 +02:00
repackagedJacksonArtifact=repackaged-${jacksonArtifactId}-${jacksonVersion}
unzip ${repackagedJacksonArtifact}.jar -d ${repackagedJacksonArtifact}
if [ -d "${repackagedJacksonArtifact}/META-INF/services" ]; then
cd ${repackagedJacksonArtifact}/META-INF/services
2020-04-28 17:56:21 +02:00
for FILE in ${jacksonOriginalPackage}.*
do
2020-04-28 18:18:46 +02:00
sed -i 's/'"${jacksonOriginalPackage}"'/'"${gCubePrefix}.${jacksonOriginalPackage}"'/g' ${FILE}
mv ${FILE} ${gCubePrefix}.${FILE}
2020-04-28 17:56:21 +02:00
done
fi
2020-04-28 18:18:46 +02:00
gCubeArtifactJar=gcube-${jacksonArtifactId}-${jacksonVersion}.jar
gCubeArtifactId=gcube-${jacksonArtifactId}
cd ${projectDir}/target/${repackagedJacksonArtifact}
zip -r ../${gCubeArtifactJar} .
2020-04-29 13:22:37 +02:00
cd ${projectDir}
mkdir ${gCubeArtifactId}
mv ${projectDir}/target/${gCubeArtifactJar} ${gCubeArtifactId}
2020-04-29 00:35:57 +02:00
mvn clean
2020-04-28 17:56:21 +02:00
rm pom.xml
2020-04-28 18:18:46 +02:00
rm dependency-reduced-pom.xml
2020-04-29 13:22:37 +02:00
cd ${gCubeArtifactId}
cp ${projectDir}/pom.deploy.template.${jacksonArtifactId}.xml pom.xml
sed -i 's/JACKSON_ARTIFACT_ID/'"${jacksonArtifactId}"'/g' pom.xml
sed -i 's/JACKSON_VERSION/'"${jacksonVersion}"'/g' pom.xml
mvn -s ../jenkins-releases-settings.xml -U deploy:deploy-file -DpomFile=pom.xml -Dfile=${gCubeArtifactJar} -DrepositoryId=${repositoryId} -Durl=${repositoryUrl}
cd ${projectDir}
rm -rf ${gCubeArtifactId}
2020-04-28 17:56:21 +02:00
done
2020-04-29 13:22:37 +02:00
cd ${projectDir}
rm ${settingsFile}