mirror of
https://github.com/awslabs/aws-crt-php.git
synced 2026-08-18 01:57:13 +00:00
PECL release follow up (#90)
This commit is contained in:
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user