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