diff options
author | Ed Warnicke <eaw@cisco.com> | 2016-06-15 11:45:51 -0500 |
---|---|---|
committer | Ed Warnicke <hagbard@gmail.com> | 2016-06-16 20:55:36 +0000 |
commit | 94a021b71266d451fcca9f7132e68c73b20140c4 (patch) | |
tree | 52086f5b7d3087ab6958a7b73c8423c74a0b5785 /jjb/scripts/maven_push_functions.sh | |
parent | 995d396e9310ded5827f5ee17c345b06234f68ca (diff) |
Setup honeycomb to build and push rpms on merge
This patch depends on the merging of https://gerrit.fd.io/r/#/c/1574/
which must merge before it.
Please also note, while there is a first step to getting the package
pushing scripts into a common sharable place, the vpp script
for pushing has *intentionally* not been changed to use
it yet because of the release later this week as a matter
of risk management.
Change-Id: Ifad185d35f582a62bb750ece3c022a24d2153b4e
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Diffstat (limited to 'jjb/scripts/maven_push_functions.sh')
-rw-r--r-- | jjb/scripts/maven_push_functions.sh | 90 |
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 +} |