aboutsummaryrefslogtreecommitdiff
path: root/scripts/release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/release.sh')
-rwxr-xr-xscripts/release.sh22
1 files changed, 17 insertions, 5 deletions
diff --git a/scripts/release.sh b/scripts/release.sh
index 93f9fa3d35..692b46e921 100755
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -18,6 +18,8 @@ set -e
set -u
set -o pipefail
+USE_CURRENT_COMMIT=${1:-no}
+
__sed=$( [ "$(uname)" = Darwin ] && echo 'sed -E' || echo 'sed -r' )
cd "$(git rev-parse --show-toplevel)"
@@ -31,6 +33,8 @@ __VERSION_MINOR=$(grep 'set(NVIM_VERSION_MINOR' CMakeLists.txt\
__VERSION_PATCH=$(grep 'set(NVIM_VERSION_PATCH' CMakeLists.txt\
|$__sed 's/.*NVIM_VERSION_PATCH ([[:digit:]]).*/\1/')
__VERSION="${__VERSION_MAJOR}.${__VERSION_MINOR}.${__VERSION_PATCH}"
+__API_LEVEL=$(grep 'set(NVIM_API_LEVEL ' CMakeLists.txt\
+ |$__sed 's/.*NVIM_API_LEVEL ([[:digit:]]).*/\1/')
{ [ -z "$__VERSION_MAJOR" ] || [ -z "$__VERSION_MINOR" ] || [ -z "$__VERSION_PATCH" ]; } \
&& { echo "ERROR: version parse failed: '${__VERSION}'"; exit 1; }
__RELEASE_MSG="NVIM v${__VERSION}
@@ -47,12 +51,20 @@ __BUMP_MSG="version bump"
echo "Most recent tag: ${__LAST_TAG}"
echo "Release version: ${__VERSION}"
$__sed -i.bk 's/(NVIM_VERSION_PRERELEASE) "-dev"/\1 ""/' CMakeLists.txt
-$__sed -i.bk 's/(NVIM_API_PRERELEASE) true/\1 false/' CMakeLists.txt
-echo "Building changelog since ${__LAST_TAG}..."
-__CHANGELOG="$(./scripts/git-log-pretty-since.sh "$__LAST_TAG" 'vim-patch:\S')"
+if grep '(NVIM_API_PRERELEASE true)' CMakeLists.txt > /dev/null; then
+ $__sed -i.bk 's/(NVIM_API_PRERELEASE) true/\1 false/' CMakeLists.txt
+ build/bin/nvim --api-info > test/functional/fixtures/api_level_$__API_LEVEL.mpack
+ git add test/functional/fixtures/api_level_$__API_LEVEL.mpack
+fi
+
+if ! test "$USE_CURRENT_COMMIT" = 'use-current-commit' ; then
+ echo "Building changelog since ${__LAST_TAG}..."
+ __CHANGELOG="$(./scripts/git-log-pretty-since.sh "$__LAST_TAG" 'vim-patch:\S')"
+
+ git add CMakeLists.txt
+ git commit --edit -m "${__RELEASE_MSG} ${__CHANGELOG}"
+fi
-git add CMakeLists.txt
-git commit --edit -m "${__RELEASE_MSG} ${__CHANGELOG}"
git tag --sign -a v"${__VERSION}" -m "NVIM v${__VERSION}"
$__sed -i.bk 's/(NVIM_VERSION_PRERELEASE) ""/\1 "-dev"/' CMakeLists.txt