|
@@ -15,9 +15,11 @@ from requests import Response
|
|
|
|
|
|
class Logger:
|
|
|
NEWLINE_CHAR = '\n'
|
|
|
+ with_crlf = False
|
|
|
@classmethod
|
|
|
def print_message(cls,message,prefix=''):
|
|
|
- trimmed=re.sub(r'\n', r'%0A', message,flags=re.MULTILINE)
|
|
|
+ if not Logger.with_crlf:
|
|
|
+ trimmed=re.sub(r'\n', r'%0A', message,flags=re.MULTILINE)
|
|
|
print(f'{prefix}{trimmed}')
|
|
|
@classmethod
|
|
|
def debug(cls,message):
|
|
@@ -131,10 +133,16 @@ parser = argparse.ArgumentParser(
|
|
|
description='Handles some parts of the squeezelite-esp32 build process')
|
|
|
parser.add_argument('--cwd', type=str,
|
|
|
help='Working directory', default=os.getcwd())
|
|
|
+parser.add_argument('--with_crlf', action='store_true',help='To prevent replacing cr/lf with hex representation')
|
|
|
parser.add_argument('--loglevel', type=str, choices={
|
|
|
'CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'NOTSET'}, help='Logging level', default='INFO')
|
|
|
subparsers = parser.add_subparsers(dest='command', required=True)
|
|
|
|
|
|
+parser_commits = subparsers.add_parser("list_commits",add_help=False,
|
|
|
+ description="Commits list",
|
|
|
+ help="Lists the last commits"
|
|
|
+ )
|
|
|
+
|
|
|
parser_dir = subparsers.add_parser("list_files",
|
|
|
add_help=False,
|
|
|
description="List Files parser",
|
|
@@ -208,14 +216,13 @@ parser_build_flags.add_argument(
|
|
|
parser_build_flags.add_argument(
|
|
|
'--ui_build', action='store_true', help='Include building the web UI')
|
|
|
|
|
|
-
|
|
|
def format_commit(commit):
|
|
|
# 463a9d8b7 Merge branch 'bugfix/ci_deploy_tags_v4.0' into 'release/v4.0' (2020-01-11T14:08:55+08:00)
|
|
|
dt = datetime.fromtimestamp(float(commit.author.time), timezone(
|
|
|
timedelta(minutes=commit.author.offset)))
|
|
|
- timestr = dt.strftime('%c%z')
|
|
|
- cmesg:str = commit.message.replace('\n', ' ')
|
|
|
- cmesg = cmesg.replace('*','-')
|
|
|
+ #timestr = dt.strftime('%c%z')
|
|
|
+ timestr = dt.strftime('%F %R %Z')
|
|
|
+ cmesg:str = commit.message.replace('\n', ' ').replace('\r','').replace('*','-')
|
|
|
return f'{commit.short_id} {cmesg} ({timestr}) <{commit.author.name}>'.replace(' ', ' ', )
|
|
|
|
|
|
|
|
@@ -886,7 +893,7 @@ def push_if_change(repo: Repository, token: str, source_path: str, manif_json):
|
|
|
remote: Remote = repo.remotes['origin']
|
|
|
auth_methods = ['x-access-token','x-oauth-basic']
|
|
|
for method in auth_methods:
|
|
|
- if push_with_method(auth_methods, token, remote, [reference]):
|
|
|
+ if push_with_method(method, token, remote, [reference]):
|
|
|
print(f'::notice Web installer updated for {format_artifact_from_manifest(manif_json)}')
|
|
|
return
|
|
|
raise Exception('Unable to push web installer.')
|
|
@@ -946,6 +953,10 @@ def handle_list_files(args):
|
|
|
print(f'Content of {args.cwd}:')
|
|
|
print(Logger.NEWLINE_CHAR.join(get_file_list(args.cwd)))
|
|
|
|
|
|
+def handle_commits(args):
|
|
|
+ set_workdir(args)
|
|
|
+ print(Releases.get_commit_list_descriptions())
|
|
|
+
|
|
|
|
|
|
parser_environment.set_defaults(func=handle_environment, cmd='environment')
|
|
|
parser_manifest.set_defaults(func=handle_manifest, cmd='manifest')
|
|
@@ -953,11 +964,13 @@ parser_pushinstaller.set_defaults(func=handle_pushinstaller, cmd='installer')
|
|
|
parser_show.set_defaults(func=handle_show, cmd='show')
|
|
|
parser_build_flags.set_defaults(func=handle_build_flags, cmd='build_flags')
|
|
|
parser_dir.set_defaults(func=handle_list_files, cmd='list_files')
|
|
|
+parser_commits.set_defaults(func=handle_commits,cmd='list_commits')
|
|
|
|
|
|
|
|
|
def main():
|
|
|
exit_result_code = 0
|
|
|
args = parser.parse_args()
|
|
|
+ Logger.with_crlf = args.with_crlf
|
|
|
print(f'::group::{args.command}')
|
|
|
print(f'build_tools version : {tool_version}')
|
|
|
print(f'Processing command {args.command}')
|