Updates merge_target_files soong_zip to use -r instead of -l.

This is needed due to output artifacts in the zip that confuse globbing,
such as [.

(Also changes this call to RunAndCheckOutput, which prints the stderror
by default instead of RunAndWait which does not. Removes RunAndWait
which is now unused)

Bug: 179799226
Test: Run merge_target_files to merge two partial builds
Change-Id: Ibf8a5b0c013c9cd8b1e61195d97583f247d97c6f
This commit is contained in:
Daniel Norman 2021-02-09 11:01:42 -08:00
parent bff5273dd0
commit eaf5c1dca2
2 changed files with 2 additions and 25 deletions

View File

@ -276,29 +276,6 @@ def Run(args, verbose=None, **kwargs):
return subprocess.Popen(args, **kwargs)
def RunAndWait(args, verbose=None, **kwargs):
"""Runs the given command waiting for it to complete.
Args:
args: The command represented as a list of strings.
verbose: Whether the commands should be shown. Default to the global
verbosity if unspecified.
kwargs: Any additional args to be passed to subprocess.Popen(), such as env,
stdin, etc. stdout and stderr will default to subprocess.PIPE and
subprocess.STDOUT respectively unless caller specifies any of them.
Raises:
ExternalError: On non-zero exit from the command.
"""
proc = Run(args, verbose=verbose, **kwargs)
proc.wait()
if proc.returncode != 0:
raise ExternalError(
"Failed to run command '{}' (exit code {})".format(
args, proc.returncode))
def RunAndCheckOutput(args, verbose=None, **kwargs):
"""Runs the given command and returns the output.

View File

@ -887,12 +887,12 @@ def create_target_files_archive(output_file, source_dir, temp_dir):
output_zip,
'-C',
source_dir,
'-l',
'-r',
output_target_files_list,
]
logger.info('creating %s', output_file)
common.RunAndWait(command, verbose=True)
common.RunAndCheckOutput(command, verbose=True)
logger.info('finished creating %s', output_file)
return output_zip