diff --git a/core/Makefile b/core/Makefile index 7de340f4d..966748568 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1187,11 +1187,11 @@ FULL_SYSTEMIMAGE_DEPS := $(INTERNAL_SYSTEMIMAGE_FILES) $(INTERNAL_USERIMAGES_DEP # so that we can get the size stat even if the build fails due to too large # system image. INSTALLED_FILES_FILE := $(PRODUCT_OUT)/installed-files.txt -$(INSTALLED_FILES_FILE): $(FULL_SYSTEMIMAGE_DEPS) +$(INSTALLED_FILES_FILE): $(FULL_SYSTEMIMAGE_DEPS) $(FILESLIST) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ - $(hide) build/tools/fileslist.py $(TARGET_OUT) > $(@:.txt=.json) + $(hide) $(FILESLIST) $(TARGET_OUT) > $(@:.txt=.json) $(hide) build/tools/fileslist_util.py -c $(@:.txt=.json) > $@ .PHONY: installed-file-list @@ -1634,11 +1634,11 @@ INTERNAL_SYSTEMOTHERIMAGE_FILES := \ $(ALL_PDK_FUSION_FILES)) INSTALLED_FILES_FILE_SYSTEMOTHER := $(PRODUCT_OUT)/installed-files-system-other.txt -$(INSTALLED_FILES_FILE_SYSTEMOTHER) : $(INTERNAL_SYSTEMOTHERIMAGE_FILES) +$(INSTALLED_FILES_FILE_SYSTEMOTHER) : $(INTERNAL_SYSTEMOTHERIMAGE_FILES) $(FILESLIST) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ - $(hide) build/tools/fileslist.py $(TARGET_OUT_SYSTEM_OTHER) > $(@:.txt=.json) + $(hide) $(FILESLIST) $(TARGET_OUT_SYSTEM_OTHER) > $(@:.txt=.json) $(hide) build/tools/fileslist_util.py -c $(@:.txt=.json) > $@ systemotherimage_intermediates := \ @@ -1681,11 +1681,11 @@ INTERNAL_VENDORIMAGE_FILES := \ $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_VENDORIMAGE_FILES) INSTALLED_FILES_FILE_VENDOR := $(PRODUCT_OUT)/installed-files-vendor.txt -$(INSTALLED_FILES_FILE_VENDOR) : $(INTERNAL_VENDORIMAGE_FILES) +$(INSTALLED_FILES_FILE_VENDOR) : $(INTERNAL_VENDORIMAGE_FILES) $(FILESLIST) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ - $(hide) build/tools/fileslist.py $(TARGET_OUT_VENDOR) > $(@:.txt=.json) + $(hide) $(FILESLIST) $(TARGET_OUT_VENDOR) > $(@:.txt=.json) $(hide) build/tools/fileslist_util.py -c $(@:.txt=.json) > $@ vendorimage_intermediates := \ diff --git a/core/config.mk b/core/config.mk index 319a069b0..9c93240ec 100644 --- a/core/config.mk +++ b/core/config.mk @@ -497,6 +497,7 @@ MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses SOONG_ZIP := $(SOONG_HOST_OUT_EXECUTABLES)/soong_zip ZIP2ZIP := $(SOONG_HOST_OUT_EXECUTABLES)/zip2zip +FILESLIST := $(SOONG_HOST_OUT_EXECUTABLES)/fileslist JAVAC_FILTER := $(SOONG_HOST_OUT_EXECUTABLES)/soong_javac_filter diff --git a/tools/fileslist.py b/tools/fileslist.py deleted file mode 100755 index b9e73503e..000000000 --- a/tools/fileslist.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2009 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the 'License'); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an 'AS IS' BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -import json, hashlib, operator, os, sys - -def get_file_size(path): - st = os.lstat(path) - return st.st_size; - -def get_file_digest(path): - if os.path.isfile(path) == False: - return "----------------------------------------------------------------" - digest = hashlib.sha256() - with open(path, 'rb') as f: - while True: - buf = f.read(1024*1024) - if not buf: - break - digest.update(buf) - return digest.hexdigest(); - -def main(argv): - output = [] - roots = argv[1:] - for root in roots: - base = len(root[:root.rfind(os.path.sep)]) - for dir, dirs, files in os.walk(root): - relative = dir[base:] - for f in files: - try: - path = os.path.sep.join((dir, f)) - row = { - "Size": get_file_size(path), - "Name": os.path.sep.join((relative, f)), - "SHA256": get_file_digest(path), - } - output.append(row) - except os.error: - pass - output.sort(key=operator.itemgetter("Size", "Name"), reverse=True) - print json.dumps(output, indent=2, separators=(',',': ')) - -if __name__ == '__main__': - main(sys.argv)