Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 917570fe authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Dedup content entries for host and target outputs" into main

parents 5c1d5d42 87de0e7c
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -317,6 +317,7 @@ class GeneralTestsOptimizer(OptimizedBuildTarget):
    return extra_files

  def _get_manifest_files(self, outputs: list[str]) -> tuple[list[str], set[str]]:
    logging.info('looking for manifest files in outputs')
    module_outputs_set = set()
    for file in outputs:
      for module in self.modules_to_build:
@@ -389,18 +390,27 @@ class GeneralTestsOptimizer(OptimizedBuildTarget):
    tmp_dir = pathlib.Path(os.environ.get('TMPDIR'))
    print(f'modules: {self.modules_to_build}')

    logging.info('Getting host outputs')
    host_outputs = [str(src_top) + '/' + file for file in self._general_tests_host_outputs if any('/'+module+'/' in file for module in self.modules_to_build)]
    host_manifest_files, host_module_with_manifest_files = self._get_manifest_files(host_outputs)
    extra_host_files = self._get_base_module_names(host_manifest_files, host_module_with_manifest_files)
    host_outputs.extend(extra_host_files)

    logging.info('Getting target outputs')
    target_outputs = [str(src_top) + '/' + file for file in self._general_tests_target_outputs if any('/'+module+'/' in file for module in self.modules_to_build)]
    target_manifest_files, target_module_with_manifest_files = self._get_manifest_files(target_outputs)
    extra_target_files = self._get_base_module_names(target_manifest_files, target_module_with_manifest_files)
    target_outputs.extend(extra_target_files)
    # Dedup entries in output and remove non-existent files.
    logging.info('Handling host and target outputs')
    host_outputs = set(host_outputs)
    host_outputs = [p for p in host_outputs if pathlib.Path(p.strip()).exists()]
    target_outputs = set(target_outputs)
    target_outputs = [p for p in target_outputs if pathlib.Path(p.strip()).exists()]

    host_config_files = [file for file in host_outputs if file.endswith('.config\n')]
    target_config_files = [file for file in target_outputs if file.endswith('.config\n')]
    logging.info('final with outputs:')
    logging.info(host_outputs)
    logging.info(target_outputs)
    with open(f"{tmp_dir / 'host.list'}", 'w') as host_list_file:
@@ -473,6 +483,7 @@ class GeneralTestsOptimizer(OptimizedBuildTarget):
    zip_command.append('-sha256')

    zip_commands.append(zip_command)
    logging.info(zip_commands)
    return zip_commands

  def _get_zip_test_configs_zips_commands(