| #!/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 |
| |
| # Move/Copy the (approved) release candidate artifacts and KEYS from the |
| # ASF subversion Edgent Release Candidate repository to the |
| # ASF subversion Edgent Release repository. |
| # Prompts before taking actions. |
| # |
| # Run from the root of the release management git clone. |
| |
| . `dirname $0`/common.sh |
| |
| setUsage "`basename $0` <rc-num>" |
| handleHelp "$@" |
| |
| requireArg "$@" |
| RC_NUM=$1; shift |
| checkRcNum ${RC_NUM} || usage "Not a release candidate number \"${RC_NUM}\"" |
| RC_DIRNAME="rc${RC_NUM}" |
| |
| noExtraArgs "$@" |
| |
| SVN_DEV_EDGENT=~/svn/dist.apache.org/repos/dist/dev/incubator/edgent |
| SVN_REL_EDGENT=~/svn/dist.apache.org/repos/dist/release/incubator/edgent |
| |
| checkUsingMgmtCloneWarn || confirm "Proceed using this clone?" || exit |
| |
| # Get the X.Y.Z version from gradle |
| VER=`getEdgentVer gradle` |
| VER_DIRNAME=${VER}-incubating |
| |
| RC_TAG=`getReleaseTag ${VER} ${RC_NUM}` |
| RELEASE_TAG=`getReleaseTag ${VER}` |
| |
| COMMIT_MSG="Release Apache Edgent ${RELEASE_TAG} from ${RC_TAG}" |
| |
| confirm "Proceed to publish release ${RELEASE_TAG} from candidate ${RC_TAG}?" || exit |
| |
| echo |
| confirm "Proceed to update the dev and release KEYS?" || exit |
| (set -x; svn update ${SVN_DEV_EDGENT}/KEYS) |
| SVN_PARENT_DIR=`dirname ${SVN_REL_EDGENT}` |
| (set -x; mkdir -p ${SVN_PARENT_DIR}) |
| (set -x; cd ${SVN_PARENT_DIR}; svn co ${EDGENT_ASF_SVN_RELEASE_URL} --depth empty) |
| (set -x; svn update ${SVN_REL_EDGENT}/KEYS) |
| (set -x; cp ${SVN_DEV_EDGENT}/KEYS ${SVN_REL_EDGENT}/KEYS) |
| # it's OK if nothing changed / nothing to commit... |
| (set -x; svn commit ${SVN_REL_EDGENT}/KEYS -m "${COMMIT_MSG}") |
| |
| echo |
| confirm "Proceed to move the ${RC_TAG} artifacts?" || exit |
| (set -x; svn move \ |
| ${EDGENT_ASF_SVN_RC_URL}/${VER_DIRNAME}/${RC_DIRNAME} \ |
| ${EDGENT_ASF_SVN_RELEASE_URL}/${VER_DIRNAME} \ |
| -m "${COMMIT_MSG}") |
| |
| echo |
| echo "The ASF dev and release repositories have been updated:" |
| echo " ${EDGENT_ASF_SVN_RC_URL}" |
| echo " ${EDGENT_ASF_SVN_RELEASE_URL}" |
| echo " ${EDGENT_ASF_DIST_URL}" |
| echo " ${EDGENT_ASF_DIST_DYN_URL}" |