Support comparing separate workspaces
Allow comparing "out" folders that do not share a common Android source root eg. workspace1/out/... to workspace2/out/... Test: python system_image_diff.py <system1> <system2> Bug: 116612996 Change-Id: I0256bbc9196b11df49fd61cd56d44f428907838b
This commit is contained in:
@@ -24,6 +24,17 @@ VENDOR_PATH_MAP = {
|
||||
'vendor/realtek' : 'Realtek'
|
||||
}
|
||||
|
||||
def _get_relative_out_path_from_root(out_path):
|
||||
"""Given a path to a target out directory, get the relative path from the
|
||||
Android root.
|
||||
|
||||
The module-info.json file paths are relative to the root source folder
|
||||
ie. one directory before out."""
|
||||
system_path = os.path.normpath(os.path.join(out_path, 'system'))
|
||||
system_path_dirs = system_path.split(os.sep)
|
||||
out_index = system_path_dirs.index("out")
|
||||
return os.path.join(*system_path_dirs[out_index:])
|
||||
|
||||
def system_files(path):
|
||||
"""Returns an array of the files under /system, recursively, and ignoring
|
||||
symbolic-links"""
|
||||
@@ -44,7 +55,7 @@ def system_files_to_package_map(path):
|
||||
"""Returns a dictionary mapping from each file in the /system partition to its
|
||||
package, according to modules-info.json."""
|
||||
system_files_to_package_map = {}
|
||||
system_prefix = os.path.join(path, 'system')
|
||||
system_prefix = _get_relative_out_path_from_root(path)
|
||||
# Skip trailing '/'
|
||||
system_prefix_len = len(system_prefix) + 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user