PECL release follow up (#90)

This commit is contained in:
Dengke Tang
2023-03-15 16:52:00 -07:00
committed by GitHub
parent 46e0ca0c81
commit c4ea24d822
11 changed files with 90 additions and 34 deletions
+20 -1
View File
@@ -3,6 +3,11 @@ import os
import subprocess
import xml.dom.minidom
import sys
import re
# get the github tag without the leading 'v'
git_tag = subprocess.run(
["git", "describe", "--tags", "--abbrev=0"], capture_output=True).stdout.decode('utf-8').strip()[1:]
parser = argparse.ArgumentParser(description='PECL Package generator')
@@ -12,7 +17,7 @@ parser.add_argument(
parser.add_argument(
"--email", help="Email address of the package maintainer", default='[email protected]')
parser.add_argument(
"--version", help="Version number of the package", required=True)
"--version", help="Version number of the package", default=git_tag)
parser.add_argument(
"--notes", help="Release notes for the package", default='New release')
args = parser.parse_args()
@@ -27,6 +32,9 @@ NOTES = args.notes
TOOLS_DIR = os.path.dirname(os.path.abspath(__file__))
WORK_DIR = os.path.join(TOOLS_DIR, '..')
print(f'using version: {VERSION}')
print(f'using notes: {NOTES}')
def run(args):
print(f"$ {subprocess.list2cmdline(args)}")
@@ -39,6 +47,17 @@ os.chdir(WORK_DIR)
run(['git', 'submodule', 'update', '--init', '--recursive'])
# replace the version number in the ext/crt.c file
data = ""
with open("ext/crt.c", "r") as c_file:
for line in c_file:
line = re.sub("#define CRT_VERSION .*",
f"#define CRT_VERSION \"{VERSION}\"", line)
data += line
with open("ext/crt.c", "w") as c_file:
c_file.write(data)
try:
run(['python3', f'{TOOLS_DIR}/prepare_pecl_package_xml.py', '--name', NAME, '--user', USER,
'--email', EMAIL, '--version', VERSION, '--notes', NOTES])