blob: c8f05e064e0ffdbf5fe8ca42e6008c122bfb75ab [file] [log] [blame]
#!/bin/sh
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
echo "Copying the download artifacts from the repository to the site."
if [ $# -ne 2 ]; then
echo "Usage: $0 <version> <svn_username>"
exit 1
fi
VERSION=$1
SVN_USERNAME=$2
MAVEN_REPOSITORY=https://repository.apache.org/content/repositories/releases
DIST_REPOSITORY=https://dist.apache.org/repos/dist/release/myfaces
# download file and hashes/signatures
function download() {
DIR="$1"
FILE_ON_REPO="$2"
FILE="$3"
curl --fail "${MAVEN_REPOSITORY}/${DIR}/${VERSION}/${FILE_ON_REPO}" -o ${FILE}
curl --fail "${MAVEN_REPOSITORY}/${DIR}/${VERSION}/${FILE_ON_REPO}.asc" -o ${FILE}.asc
# MD5 checksum files are now discouraged for new releases
# curl --fail "${MAVEN_REPOSITORY}/${DIR}/${VERSION}/${FILE_ON_REPO}.md5" -o ${FILE}.md5
curl --fail "${MAVEN_REPOSITORY}/${DIR}/${VERSION}/${FILE_ON_REPO}.sha1" -o ${FILE}.sha1
}
# this performs check of the hashes (if this fails, something might went wrong absolutely)
function check() {
FILE="$1"
echo "Checking file ${FILE}: "
# MD5 checksum files are now discouraged for new releases
# md5 -q "${FILE}" > "${FILE}.md5.temp"
# if ! diff --ignore-all-space "${FILE}.md5" "${FILE}.md5.temp" ; then
# echo "Error: MD5 check failed!"
# exit -1
# fi
# echo " MD5 hash okay"
shasum -a 1 "${FILE}" | cut "-d " -f1 > "${FILE}.sha1.temp"
if ! diff --ignore-all-space "${FILE}.sha1" "${FILE}.sha1.temp" ; then
echo "Error: SHA1 check failed!"
exit -1
fi
echo " SHA1 hash okay"
if ! gpg --verify "${FILE}.asc" ; then
echo "Error: GPG check failed!"
exit -1
fi
echo " GPG signature okay"
# todo: change, if maven creates the sha512
shasum -a 512 "${FILE}" > "${FILE}.sha512"
echo " SHA-512 created"
}
# this uploads the files into the svn dist repo
function upload() {
PATTERN="$1"
FOLDER="$2"
for file in $(find . -type file -name "${PATTERN}" -exec basename \{\} \; ) ; do
# echo $file;
svn import --username $SVN_USERNAME -m "Uploading MyFaces Core release artifact ${VERSION} to dist server" $file ${DIST_REPOSITORY}/${FOLDER}/$file;
done
}
# commands
download "org/apache/myfaces/core/myfaces-core-assembly" "myfaces-core-assembly-${VERSION}-bin.tar.gz" "myfaces-core-assembly-${VERSION}-bin.tar.gz"
download "org/apache/myfaces/core/myfaces-core-assembly" "myfaces-core-assembly-${VERSION}-bin.zip" "myfaces-core-assembly-${VERSION}-bin.zip"
download "org/apache/myfaces/core/myfaces-core-assembly" "myfaces-core-assembly-${VERSION}-src.tar.gz" "myfaces-core-assembly-${VERSION}-src.tar.gz"
download "org/apache/myfaces/core/myfaces-core-assembly" "myfaces-core-assembly-${VERSION}-src.zip" "myfaces-core-assembly-${VERSION}-src.zip"
check "myfaces-core-assembly-${VERSION}-bin.tar.gz"
check "myfaces-core-assembly-${VERSION}-bin.zip"
check "myfaces-core-assembly-${VERSION}-src.tar.gz"
check "myfaces-core-assembly-${VERSION}-src.zip"
rm -f *.temp
upload "myfaces-core-assembly-${VERSION}-bin.*" "binaries"
upload "myfaces-core-assembly-${VERSION}-src.*" "source"