summaryrefslogtreecommitdiffstats
path: root/jjb/scripts/maven_push_functions.sh
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/scripts/maven_push_functions.sh')
-rw-r--r--jjb/scripts/maven_push_functions.sh90
1 files changed, 90 insertions, 0 deletions
diff --git a/jjb/scripts/maven_push_functions.sh b/jjb/scripts/maven_push_functions.sh
new file mode 100644
index 000000000..2d6ae791f
--- /dev/null
+++ b/jjb/scripts/maven_push_functions.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+set -xe -o pipefail
+echo "*******************************************************************"
+echo "* STARTING PUSH OF PACKAGES TO REPOS"
+echo "* NOTHING THAT HAPPENS BELOW THIS POINT IS RELATED TO BUILD FAILURE"
+echo "*******************************************************************"
+
+# Determine the path to maven
+if [ -z "${MAVEN_SELECTOR}" ]; then
+ echo "ERROR: No Maven install detected!"
+ exit 1
+fi
+
+MVN="${HOME}/tools/hudson.tasks.Maven_MavenInstallation/${MAVEN_SELECTOR}/bin/mvn"
+GROUP_ID="io.fd.${PROJECT}"
+BASEURL="${NEXUSPROXY}/content/repositories/fd.io."
+BASEREPOID='fdio-'
+
+function push_file ()
+{
+ push_file=$1
+ repoId=$2
+ url=$3
+ version=$4
+ artifactId=$5
+ file_type=$6
+ classifier=$7
+
+ if [ "$classifier" ]; then
+ d_classifier="-Dclassifier=$7"
+ fi
+
+ # Disable checks for doublequote to prevent glob / splitting
+ # shellcheck disable=SC2086
+ $MVN org.apache.maven.plugins:maven-deploy-plugin:deploy-file \
+ -Dfile=$push_file -DrepositoryId=$repoId \
+ -Durl=$url -DgroupId=$GROUP_ID \
+ -Dversion=$version -DartifactId=$artifactId \
+ -Dtype=$file_type $d_classifier\
+ -gs $GLOBAL_SETTINGS_FILE -s $SETTINGS_FILE
+
+ # make sure the script bombs if we fail an upload
+ if [ "$?" != '0' ]; then
+ echo "ERROR: There was an error with the upload"
+ exit 1
+ fi
+}
+
+function push_jar ()
+{
+ jarfile=$1
+ repoId="${BASEREPOID}snapshot"
+ url="${BASEURL}snapshot"
+
+ basefile=$(basename -s .jar "$jarfile")
+ artifactId=$(echo "$basefile" | cut -f 1 -d '-')
+ version=$(echo "$basefile" | cut -f 2 -d '-')
+
+ push_file "$jarfile" "$repoId" "$url" "${version}-SNAPSHOT" "$artifactId" jar
+}
+
+function push_deb ()
+{
+ debfile=$1
+ repoId="fd.io.${REPO_NAME}"
+ url="${BASEURL}${REPO_NAME}"
+
+ basefile=$(basename -s .deb "$debfile")
+ artifactId=$(echo "$basefile" | cut -f 1 -d '_')
+ version=$(echo "$basefile" | cut -f 2- -d '_')
+
+ push_file "$debfile" "$repoId" "$url" "$version" "$artifactId" deb
+}
+
+function push_rpm ()
+{
+ rpmfile=$1
+ repoId="fd.io.${REPO_NAME}"
+ url="${BASEURL}${REPO_NAME}"
+
+ if grep -qE '\.s(rc\.)?rpm' <<<"$rpmfile"
+ then
+ rpmrelease=$(rpm -qp --queryformat="%{release}.src" "$rpmfile")
+ else
+ rpmrelease=$(rpm -qp --queryformat="%{release}.%{arch}" "$rpmfile")
+ fi
+ artifactId=$(rpm -qp --queryformat="%{name}" "$rpmfile")
+ version=$(rpm -qp --queryformat="%{version}" "$rpmfile")
+ push_file "$rpmfile" "$repoId" "$url" "${version}-${rpmrelease}" "$artifactId" rpm
+}