You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2019/09/05 21:20:35 UTC

svn commit: r35585 - in /dev/incubator/datasketches/scripts: bashDeployToDist.sh createZip.sh getGitProperties.sh moveDevToRelease.sh

Author: leerho
Date: Thu Sep  5 21:20:35 2019
New Revision: 35585

Log:
adding script files

Added:
    dev/incubator/datasketches/scripts/bashDeployToDist.sh   (with props)
    dev/incubator/datasketches/scripts/createZip.sh   (with props)
    dev/incubator/datasketches/scripts/getGitProperties.sh   (with props)
    dev/incubator/datasketches/scripts/moveDevToRelease.sh   (with props)

Added: dev/incubator/datasketches/scripts/bashDeployToDist.sh
==============================================================================
--- dev/incubator/datasketches/scripts/bashDeployToDist.sh (added)
+++ dev/incubator/datasketches/scripts/bashDeployToDist.sh Thu Sep  5 21:20:35 2019
@@ -0,0 +1,313 @@
+#!/bin/bash -e
+
+# 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.
+
+
+
+# This is a generic bash script in that it does not assume a POM file and does not use Maven.
+# It does use git, SVN
+
+#  This assumes you are in the scripts directory
+#  Input Parameters:
+#  \$1 = absolute path of project.basedir  This is so this script can be run from any directory.
+#  \$2 = project.artifactId             Example: datasketches-memory
+#  \$3 = GitHub Tag for this deployment
+#       Example tag for SNAPSHOT         : 1.0.0-incubating-SNAPSHOT
+#       Example tag for Release Candidate: 1.0.0-incubating-RC1
+#       Example tag for Release          : 1.0.0-incubating
+#    For example:  $ <this script>.sh <project base dir> datasketches-memory 1.0.0-incubating-RC1
+
+if [ -z "$1" ]; then echo "Missing project.basedir";    exit 1; fi
+if [ -z "$2" ]; then echo "Missing project.artifactId"; exit 1; fi
+if [ -z "$3" ]; then echo "Missing GitHub Tag";         exit 1; fi 
+
+echo
+echo "===================Check List======================"
+echo "1. Make sure you are in the scripts directory"
+echo
+echo "2. Verify that you can successfully read and write to the dist directories using SVN."
+echo
+echo "3. Verify that your GPG keys have been created and stored in:"
+echo " - https://dist.apache.org/repos/dist/dev/incubator/datasketches/KEYS  AND"
+echo " - https://dist.apache.org/repos/dist/release/incubator/datasketches/KEYS"
+echo
+echo "4. Run all Unit Tests, Strict Profiles, CheckStyle, SpotBugs, Clover, etc."
+echo
+echo "5. For RCs and Releases locally create a release branch with a name of one of the following forms:"
+echo "     1.0.X"
+echo "     1.0.X-incubating"
+echo
+echo "6. Locally create a tag of one of the following forms:"
+echo "     1.0.0"
+echo "     1.0.0-SNAPSHOTnn"
+echo "     1.0.0-RCNN"
+echo "     1.0.0-incubating"
+echo "     1.0.0-incubating-SNAPSHOTnn"
+echo "     1.0.0-incubating-RCnn"
+echo
+echo "   'SNAPSHOT', if relevant, is always capitalized."
+echo "   Note: SNAPSHOT deployments are never relevant for the 'dist/release' branch."
+echo
+echo "   Commit the branch and tag back to the remote origin"
+echo
+echo "7. Verify that your local GitHub repository is current and the git status is clean."
+echo
+echo "Next: Determine the deployment type"
+echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+# Setup absolute directory references
+ScriptsDir=$(pwd)
+ProjectBaseDir=$1 #this must be an absolute path
+## Extract project.artifactId and Tag from input parameters:
+ProjectArtifactId=$2
+Tag=$3
+
+####Move to project directory####
+cd ${ProjectBaseDir}
+
+TMP=$(git status --porcelain)
+if [[ -n $TMP ]];
+then
+  echo "git status --porcelain:  $TMP"
+  echo "WARNING!!! Your GitHub repo is not clean!"
+  echo
+  # exit 1  #Don't exit, we might change this later
+fi
+
+TIME=$(date -u +%Y%m%d.%H%M%S)
+
+echo
+echo "DateTime: $TIME"
+echo
+echo "## Load GPG Agent:"
+eval $(gpg-agent --daemon) > /dev/null
+
+# Determine the type of release / deployment we are dealing with
+#  and adjust the target directories and file version to be used in the file name accordingly.
+
+Release=false
+Snapshot=false
+ReleaseCandidate=false
+FileVersion=
+LeafDir=
+
+### SNAPSHOT ?
+if [[ $Tag =~ .*-SNAPSHOT[0-9]* ]]; 
+then
+  echo
+  echo "This Tag is for a SNAPSHOT."
+  echo "Next: Setup the paths"
+  echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+  Snapshot=true
+  FileVersion=${Tag%-SNAPSHOT}-$TIME # Remove SNAPSHOT, add date-time
+  LeafDir=$Tag
+else
+  ### RELEASE CANDIDATE ?
+  if [[ $Tag =~ .*-[rR][cC][0-9][0-9]* ]];
+  then
+    echo
+    echo "This Tag is for a Release Candidate."
+    echo "Next: Setup the paths"
+    echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+    ReleaseCandidate=true
+    RCSubStr=$(expr "$Tag" : '.*\(-[rR][cC][0-9]*\)') # extract "-RCnn"
+    FileVersion=${Tag%$RCSubStr}                      # the "-RCnn" removed
+    LeafDir="$Tag"                                    # with the "-RCnn"
+  else #if not a SNAPSHOT or RC, it must be a release
+    echo "Please confirm that this the Final Release of $ProjectArtifactId : $Tag"
+    echo "Next: Setup the paths"
+    echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+    Release=true
+    FileVersion="$Tag" #looks like 1.0.0 or 1.0.0-incubating, no "-RCnn"
+    LeafDir=$Tag
+  fi
+fi
+
+# extract the SubDir name, e.g., "memory" from the artifactId
+SubDir=$(expr "$ProjectArtifactId" : 'datasketches-\([a-z]*\)')
+
+# Are we still incubating?
+if [[ $Tag =~ .*-incubating.* ]]
+then
+  Incubator="incubator/" #part of file path
+else
+  Incubator=""
+fi
+
+# Set up the paths
+
+FilesPath=${SubDir}/${LeafDir}
+LocalPath="target/assy-tmp/dist"
+RemotePath="https://dist.apache.org/repos/dist"
+if ( $Release )
+then
+  LocalSvnBasePath="$LocalPath"/release/"$Incubator"datasketches
+  RemoteSvnBasePath="$RemotePath"/release/"$Incubator"datasketches
+else
+  LocalSvnBasePath="$LocalPath"/dev/"$Incubator"datasketches
+  RemoteSvnBasePath="$RemotePath"/dev/"$Incubator"datasketches
+fi
+
+LocalFilesPath="$LocalSvnBasePath"/"$FilesPath"
+
+
+# Create target/assy-tmp dir if it doesn't exist
+rm -rf target/assy-tmp
+mkdir -p target/assy-tmp/dist
+
+ZipPrefix=apache-${ProjectArtifactId}-${FileVersion}-src
+ZipName=$ZipPrefix.zip
+
+echo
+echo "===========SUMMARY OF INPUT PARAMETERS============="
+echo "ProjectBaseDir       : $ProjectBaseDir"
+echo "ProjectArtifactId    : $ProjectArtifactId"
+echo "Tag                  : $Tag"
+echo "Incubator Path       : $Incubator"
+echo "File Version String  : $FileVersion"
+echo "ZIP Directory        : $ZipPrefix"
+echo "ZIP File Name        : $ZipName"
+echo "Target Leaf Dir      : $LeafDir"
+echo "SubDir               : $SubDir"
+echo "FilesPath            : $FilesPath"
+echo "LocalSvnBasePath     : $LocalSvnBasePath"
+echo "RemoteSvnBasePath    : $RemoteSvnBasePath"
+echo "LocalFilesPath       : $LocalFilesPath"
+
+echo
+echo "Please confirm if the above is correct."
+echo "Next: SVN Checkout"
+echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+# make the local svn base path
+mkdir -p $LocalSvnBasePath
+
+####Move to Local SVN Base (dev or release) Path directory####
+cd $LocalSvnBasePath
+svn co $RemoteSvnBasePath .
+####Move to Project directory####
+cd $ProjectBaseDir
+
+if [ -d "$LocalFilesPath" ] && [ ! $Snapshot ]; 
+then
+  echo
+  echo "ERROR!!! $LocalFilesPath already exists."
+  echo
+  exit 1
+fi
+
+echo
+echo "Is the SVN Checkout without conflicts?"
+echo "Next: Perform Zip Operation"
+echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+#make the leaf directories
+mkdir -p $LocalFilesPath
+
+# ZIP
+
+git archive --output=target/$ZipName --prefix=$ZipPrefix/ $Tag
+mkdir -p target/$ZipPrefix
+echo "$($ScriptsDir/getGitProperties.sh $ProjectBaseDir $ProjectArtifactId $Tag)" > target/$ZipPrefix/git.properties
+
+cd target
+zip $ZipName $ZipPrefix/git.properties
+cd $ProjectBaseDir
+mv target/$ZipName $LocalFilesPath
+
+echo
+echo "Open the Zip file: $ZipName"
+echo "Is the Zip file content correct?"
+echo "Next: Create GPG and SHA512 signatures"
+echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+####Move to Local SVN Files Path (dev or release) directory####
+cd $LocalFilesPath #for signing
+
+# GPG
+ASC=${ZipName}.asc
+gpg --verbose --armor --detach-sign --personal-digest-preferences SHA512 "$ZipName"
+
+if [ ! -f ${ASC} ]; then 
+  echo
+  echo " !!! ERROR: ${ASC} file does not exist"
+  exit 1;
+fi
+echo " * ASC File = ${ASC}"
+
+echo
+echo "## GPG Verify"
+gpg --verbose --verify "$ASC" "$ZipName"
+
+# SHA512
+SHA512=${ZipName}.sha512
+shasum --algorithm 512 "$ZipName" > "$SHA512"
+
+if [ ! -f "$SHA512" ]; then 
+  echo
+  echo " !!! ERROR: .sha512 file does not exist"
+  exit 1;
+fi
+echo " * SHA512 file = $SHA512"
+
+echo
+echo "## SHA512 Check:"
+shasum --algorithm 512 --check $SHA512
+
+####Move to project directory####
+cd $ProjectBaseDir
+
+echo 
+echo "=================DEPLOY TO DIST===================="
+echo "Next: SVN add and checkin"
+echo "Proceed? [y|N]"; read confirm; if [[ $confirm != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+echo
+####Move to Local SVN Base (dev or release) Path directory####
+cd $LocalSvnBasePath
+svn add --force .
+svn ci -m "Deploy $FileVersion to DIST"
+
+TMP=$(svn status)
+if [[ -n $TMP ]];
+then
+  echo "svn status:  $TMP"
+  echo "ERROR!!! Your svn status is not clean!"
+  echo
+  exit 1
+fi
+
+####Move to project directory####
+cd $ProjectBaseDir
+
+echo
+echo "Is the remote dist directory structure and content OK?"
+echo "Next: Declare Success"
+echo "Proceed? [y|N]"; 
+read confirm; 
+if [[ $confirm != "y" ]]; 
+then 
+  echo "Please rerun this script when ready."; 
+  echo "You may need to manually delete files from the dist repo"
+  exit 1; 
+fi
+
+echo
+echo "# DEPLOYMENT SUCCESS"
+echo
+

Propchange: dev/incubator/datasketches/scripts/bashDeployToDist.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: dev/incubator/datasketches/scripts/createZip.sh
==============================================================================
--- dev/incubator/datasketches/scripts/createZip.sh (added)
+++ dev/incubator/datasketches/scripts/createZip.sh Thu Sep  5 21:20:35 2019
@@ -0,0 +1,40 @@
+#!/bin/bash -e
+
+# 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.
+
+ZipName=$1
+LocalPath=$2     # target/assy-tmp/dist/dev/incubator/datasketches/memory/<leafDir>
+
+#  what should be included is a shorter list that all possible excludes!
+cp .travis.yml $LocalPath
+cp .gitignore $LocalPath
+cp DISCLAIMER $LocalPath
+cp LICENSE $LocalPath
+cp NOTICE $LocalPath
+cp pom.xml $LocalPath
+cp README.md $LocalPath
+cp -R scripts $LocalPath
+cp -R src $LocalPath
+cp -R tools $LocalPath
+
+cd $LocalPath
+
+zip -rqmT "$ZipName" "."
+
+#UNZIP
+#status=unzip <file.zip> -d <outdir> 
\ No newline at end of file

Propchange: dev/incubator/datasketches/scripts/createZip.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: dev/incubator/datasketches/scripts/getGitProperties.sh
==============================================================================
--- dev/incubator/datasketches/scripts/getGitProperties.sh (added)
+++ dev/incubator/datasketches/scripts/getGitProperties.sh Thu Sep  5 21:20:35 2019
@@ -0,0 +1,57 @@
+#!/bin/bash -e
+
+MyBase=$(pwd)
+ProjectBaseDir=$1 #this must be an absolute path
+ArtId=$2
+Tag=$3
+
+####Move to project directory####
+cd ${ProjectBaseDir}
+
+CR=$'\n'
+
+prop='{'$CR
+
+
+#Add Implementation Vendor
+prop=$prop'  "Implementation-Vendor" : '
+tmp='"The Apache Software Foundataion", '$CR
+prop=$prop$tmp
+
+#Add GroupId : ArtifactId
+prop=$prop'  "GroupId-ArtifactId" : '
+tmp='"org.apache.datasketches:'$ArtId'", '$CR
+prop=$prop$tmp
+
+# Add Branch
+prop=$prop'  "git.branch" : '
+tmp='"'$(git rev-parse --abbrev-ref HEAD)'",'$CR
+prop=$prop$tmp
+
+#Add commit-id
+prop=$prop'  "git.commit.id.full" : '
+ID=$(git rev-parse HEAD)
+tmp='"'$ID'",'$CR
+prop=$prop$tmp
+
+#Add timestamp
+prop=$prop'  "git.commit.time" : '
+tmp='"'$(git show --no-patch --no-notes --pretty='%cI' $ID)'",'$CR
+prop=$prop$tmp
+
+#Add user email
+prop=$prop'  "git-commit-user-email" : '
+tmp='"'$(git show --no-patch --no-notes --pretty='%ce' $ID)'", '$CR
+prop=$prop$tmp
+
+#Add Tag
+prop=$prop'  "git.commit.tag" : '
+tmp='"'$Tag'", '$CR
+prop=$prop$tmp
+
+prop=$prop'}'
+echo "$prop"
+
+
+
+

Propchange: dev/incubator/datasketches/scripts/getGitProperties.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: dev/incubator/datasketches/scripts/moveDevToRelease.sh
==============================================================================
--- dev/incubator/datasketches/scripts/moveDevToRelease.sh (added)
+++ dev/incubator/datasketches/scripts/moveDevToRelease.sh Thu Sep  5 21:20:35 2019
@@ -0,0 +1,185 @@
+#!/bin/bash -e
+
+# 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.
+
+# Move dist/dev to dist/release
+# This is a generic script in that it does not assume a POM file and does not use Maven.
+# It does use SVN
+
+#  Input Parameters:
+#  \$1 = project.basedir                This is so this script can be run from any directory.
+#  \$2 = project.artifactId             Example: datasketches-memory
+#  \$3 = GitHub RC Tag for this deployment
+#  \$4 = don't use this for normal opertion, otherwise any valid text (e.g. "test") means "test mode"
+#
+#  For example:  $ <this script>.sh <project base dir> datasketches-memory 1.0.0-incubating-RC1
+
+if [ -z "$1"]; then echo "Missing project.basedir";    exit 1; fi
+if [ -z "$2" ]; then echo "Missing project.artifactId"; exit 1; fi
+if [ -z "$3" ]; then echo "Missing GitHub RC Tag";      exit 1; fi
+if [ ! -z "$4" ]; then echo "Test Mode"; TEST=true; else TEST=false; fi 
+
+echo
+echo "===================Check List======================"
+echo "1. Verify that you can successfully read and write to the dist directories using SVN."
+echo
+echo "2. The given GitHub RC Tag must be one of the following forms:"
+echo "     1.0.0-RCnn"
+echo "     1.0.0-incubating-RCnn"
+echo
+echo "Next: parse input parameters."
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+# Setup absolute directory references
+MyBase=$(pwd)
+
+# Move to project directory
+cd $1
+LocalBaseProject=$(pwd) #create as absolute address
+
+
+## Extract project.artifactId and RCTag from input parameters:
+ProjectArtifactId=$2
+RCTag=$3
+
+# extract the Module name, e.g., "memory" from the artifactId
+Module=$(expr ${ProjectArtifactId} : 'datasketches-\([a-z]*\)')
+
+# Are we still incubating?
+if [[ ${RCTag} =~ .*-incubating.* ]]
+then
+  Incubator="incubator/" #part of file path
+else
+  Incubator=""
+fi
+
+## Does RCTag have -RCNN ?
+if [[ ${RCTag} =~ .*-[rR][cC][0-9][0-9]* ]];
+then
+  echo
+  echo "RCTag is ${RCTag}"
+  RCVersion=${RCTag}                                # with the "-RCnn"
+  RCStr=$(expr ${RCVersion} : '.*\(-[rR][cC][0-9]*\)')  # extract "-RCnn"
+  ReleaseVersion=${RCTag%${RCStr}}                    # RCTag with the "-RCnn" removed
+else #not an RC 
+  echo
+  echo "ERROR !!! RCTag must end with RCnn"
+  echo "Please rerun this script when ready."
+  exit 1
+fi
+
+# Define the paths
+LocalBaseDist=${LocalBaseProject}/target/assy-tmp/dist
+RemoteBase="https://dist.apache.org/repos/dist"
+DevModuleRCVersion=${Module}/${RCVersion}
+ReleaseModuleRVersion=${Module}/${ReleaseVersion}
+
+LocalBaseDevDS=${LocalBaseDist}/dev/${Incubator}datasketches
+LocalBaseReleaseDS=${LocalBaseDist}/release/${Incubator}datasketches
+RemoteBaseDevDS=${RemoteBase}/dev/${Incubator}datasketches
+RemoteBaseReleaseDS=${RemoteBase}/release/${Incubator}datasketches
+
+LocalBaseDevDSModuleRCVersion=${LocalBaseDevDS}/${DevModuleRCVersion}
+LocalBaseReleaseDSModuleRVersion=${LocalBaseReleaseDS}/${ReleaseModuleRVersion}
+RemoteBaseDevDSModuleRCVersion=${RemoteBaseDevDS}/${DevModuleRCVersion}
+RemoteBaseReleaseDSModuleRVersion=${RemoteBaseReleaseDS}/${ReleaseModuleRVersion}
+
+ZipName=apache-${ProjectArtifactId}-${ReleaseVersion}-src.zip
+
+echo
+echo "===========SUMMARY OF INPUT PARAMETERS============="
+echo "ProjectArtifactId                 : ${ProjectArtifactId}"
+echo "RCTag                             : ${RCTag}"
+echo "LocalBaseDevDS                    : ${LocalBaseDevDS}"
+echo "LocalBaseReleaseDS                : ${LocalBaseReleaseDS}"
+echo "LocalBaseDevDSModuleRCVersion     : ${LocalBaseDevDSModuleRCVersion}" 
+echo "LocalBaseReleaseDSModuleRVersion  : ${LocalBaseReleaseDSModuleRVersion}"
+echo "RemoteBaseDevDSModuleRCVersion    : ${RemoteBaseDevDSModuleRCVersion}"
+echo "RemoteBaseReleaseDSModuleRVersion : ${RemoteBaseReleaseDSModuleRVersion}"
+echo "ZipName                           : ${ZipName}"
+
+echo
+echo "Please confirm if the above is correct."
+echo "Next: Checkout the remote dev at DS level."
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+# Create local target/assy-tmp dir if it doesn't exist
+mkdir -p ${LocalBaseProject}/target
+rm -rf target/assy-tmp # remove any old assy-tmp if it exists
+
+
+# STEP 1 Checkout Remote Dev at DS level
+mkdir -p ${LocalBaseDevDS}
+# cd ${LocalBaseDevDS}
+svn co ${RemoteBaseDevDS} ${LocalBaseDevDS}  
+
+# STEP 2 confirm version and file
+echo
+echo "Is the SVN Checkout of dev source without errors or conflicts?"
+echo "Next: checkout remote release at DS level"
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+# STEP 3 Checkout Remote Release at DS level
+mkdir -p ${LocalBaseReleaseDS}
+#cd ${LocalBaseReleaseDS}
+svn co ${RemoteBaseReleaseDS} ${LocalBaseReleaseDS}
+
+# STEP 4 Error if version already exists
+echo
+echo "Is the SVN Checkout of remote DS without errors or conflicts? "
+echo "Next: create leaf directories and copy"
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+mkdir -p ${LocalBaseReleaseDSModuleRVersion}
+
+#STEP 5 Bash Copy
+cp -pPR ${LocalBaseDevDSModuleRCVersion}/* ${LocalBaseReleaseDSModuleRVersion}
+
+echo
+echo "Did the files copy without errors or conflicts? "
+echo "Next: SVN Add :"
+echo ${LocalBaseReleaseDS}
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+cd ${LocalBaseReleaseDS}
+svn add --force .  #try svn add PATH --force
+
+echo
+echo "Did the files Add without errors or conflicts? "
+echo "Next: SVN Checkin release"
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+svn ci -m "Check-in release files" #try svn ci PATH -m "blah"
+
+echo
+echo "Did the files checkin to SVN without errors or conflicts? "
+#echo "Next: Delete the RC from dev source"
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+#svn rm ${LocalBaseDevDSModuleRCVersion}/*
+#svn ci -m "remove RC" ${LocalBaseDevDSModuleRCVersion}
+
+echo
+echo "check that the files checked in to the proper release directory."
+echo "Next: Done."
+
+echo "Proceed? [y|N]"; read confirm; if [[ ${confirm} != "y" ]]; then echo "Please rerun this script when ready."; exit 1; fi
+
+echo
+echo "# RELEASE SUCCESS"
+echo
\ No newline at end of file

Propchange: dev/incubator/datasketches/scripts/moveDevToRelease.sh
------------------------------------------------------------------------------
    svn:executable = *



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org