Loading core/Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -1257,11 +1257,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 Loading Loading @@ -1704,11 +1704,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 := \ Loading Loading @@ -1751,11 +1751,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 := \ Loading core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading tools/fileslist.pydeleted 100755 → 0 +0 −58 Original line number Diff line number Diff line #!/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) Loading
core/Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -1257,11 +1257,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 Loading Loading @@ -1704,11 +1704,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 := \ Loading Loading @@ -1751,11 +1751,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 := \ Loading
core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
tools/fileslist.pydeleted 100755 → 0 +0 −58 Original line number Diff line number Diff line #!/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)