#!/bin/bash # 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. #### # Convenience script to generates the SVN command line for you to run in order to # remove old (archived) versions of the solr ref guide from the dist repo, and # (if necessary) clean up any old RC files. # # See: https://cwiki.apache.org/confluence/display/solr/Internal+-+How+To+Publish+This+Documentation if [ $# -ne 1 ] ; then echo "Usage: $0 " echo "" echo "Where X.Y is the version of the ref guide that has recently been" echo "published, and all previous versions have already been archived" echo "" echo "Example: " echo " $0 4.5" exit 1 fi VERSION="$1" DIST_PREFIX="apache-solr-ref-guide-$VERSION." DIST_DIR_URL="https://dist.apache.org/repos/dist/release/lucene/solr/ref-guide" RC_DIR_URL="https://dist.apache.org/repos/dist/dev/lucene/solr/ref-guide" RM_OLD_CMD="svn rm -m 'removing archived ref guide files prior to $VERSION' " RM_RC_CMD="svn rm -m 'cleaning up old RCs now that $VERSION has been released' " NEW_COUNT=0 OLD_COUNT=0 RC_COUNT=0 for FILE in `svn list $DIST_DIR_URL`; do if [[ $FILE == $DIST_PREFIX* ]] ; then NEW_COUNT=`expr $NEW_COUNT + 1` continue # one of our just published files fi OLD_COUNT=`expr $OLD_COUNT + 1` RM_OLD_CMD="$RM_OLD_CMD $DIST_DIR_URL/$FILE" done if [ $NEW_COUNT -eq 0 ] ; then echo "FAIL: Unable to find any current (ie: $DIST_PREFIX*) release files in $DIST_DIR_URL" exit -1; fi if [ $OLD_COUNT -eq 0 ] ; then echo "FAIL: Unable to find any releases to clean up in $DIST_DIR_URL" exit -1; fi for FILE in `svn list $RC_DIR_URL`; do RC_COUNT=`expr $RC_COUNT + 1` RM_RC_CMD="$RM_RC_CMD $RC_DIR_URL/$FILE" done echo "## Run the following commands when ready..." echo "# Delete old releases" echo $RM_OLD_CMD if [ $RC_COUNT -eq 0 ] ; then echo "# No old RC files to clean up" else echo "# Delete old RC files" echo $RM_RC_CMD fi