Skip to content

Commit 9b0c129

Browse files
committed
chore: update scripts/release.sh
1 parent 722bc5f commit 9b0c129

1 file changed

Lines changed: 29 additions & 12 deletions

File tree

scripts/release.sh

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,49 @@ set -eu
55
declare -r package="lua-evdev"
66

77
declare version="${1:-}"
8+
declare rockspec_version="${version}"
9+
810
if [[ -z "${version}" ]]; then
911
echo "missing version" >&2
1012
exit 1
1113
fi
14+
1215
if [[ "${version}" != *"-"* ]]; then
13-
version="${version}-1"
16+
rockspec_version="${version}-1"
17+
else
18+
version="${version%%-*}"
1419
fi
1520

21+
if [[ ! "${version}" =~ ^[0-9]+.[0-9]+.[0-9]+$ ]]; then
22+
echo "invalid version: ${version}" >&2
23+
exit 1
24+
fi
1625

17-
declare -r dev_rockspec="rockspecs/${package}-dev-1.rockspec"
18-
declare -r rockspec="rockspecs/${package}-${version}.rockspec"
26+
if [[ ! "${rockspec_version}" =~ ^${version}-[1-9]{1,}$ ]]; then
27+
echo "invalid rockspec version: ${rockspec_version}" >&2
28+
exit 1
29+
fi
1930

20-
if test -f ${rockspec}; then
21-
echo "already exists: ${rockspec}" >&2
31+
if test -n "$(git tag -l "${rockspec_version}")"; then
32+
echo "rockspec version already exists: ${rockspec_version}" >&2
2233
exit 1
2334
fi
2435

25-
cp ${dev_rockspec} ${rockspec}
26-
script="/^version/s|\"[^\"]\\+\"|\"${version}\"|"
27-
sed -e "${script}" -i ${rockspec}
28-
script="/^ \\+tag = nil,/s|nil|version|"
29-
sed -e "${script}" -i ${rockspec}
36+
declare -r repo_rockspec="${package}.rockspec"
37+
declare -r rockspec="${package}-${rockspec_version}.rockspec"
38+
39+
./scripts/make-rockspec.sh "${rockspec_version}"
3040

3141
luarocks make --no-install "${rockspec}"
3242

33-
git add ${rockspec}
43+
cp "${rockspec}" "${repo_rockspec}"
44+
45+
git add ${repo_rockspec}
3446

35-
git commit -m "chore: release ${version}"
47+
git commit -m "chore: release ${rockspec_version}"
48+
49+
if test -n "$(git tag -l "${version}")"; then
50+
git tag --delete "${version}"
51+
fi
3652
git tag "${version}" -m "${version}"
53+
git tag "${rockspec_version}" -m "${rockspec_version}"

0 commit comments

Comments
 (0)