+ manifest.files.inject(0) { |sum, filespec| sum + filespec.last }
+ end
+
+ def files_tree
+ tree = manifest.files.group_by do |file_spec|
+ File.split(file_spec.first)
+ end
+ return [] if tree.empty?
+ # Fill in entries for empty directories.
+ tree.keys.map { |basedir, _| File.split(basedir) }.each do |splitdir|
+ until tree.include?(splitdir)
+ tree[splitdir] = []
+ splitdir = File.split(splitdir.first)