Flutter Engine
The Flutter Engine
third_party
skia
infra
bots
buildstats
make_treemap.py
Go to the documentation of this file.
1
# Copyright 2019 The Chromium Authors. All rights reserved.
2
# Use of this source code is governed by a BSD-style license that can be
3
# found in the LICENSE file.
4
5
6
"""Creates a .tar.gz file containing an HTML treemap displaying the codesize.
7
8
Requires docker to be installed.
9
10
Example usage:
11
python make_treemap.py $SKIA_ROOT/out/Release/skottie_tool /tmp/size
12
13
"""
14
15
16
import os
17
import subprocess
18
import sys
19
import tempfile
20
21
DOCKER_IMAGE = 'gcr.io/skia-public/binary-size:v1'
22
DOCKER_SCRIPT = '/opt/binary_size/src/run_binary_size_analysis.py'
23
24
def main():
25
input_file = sys.argv[1]
26
out_dir = sys.argv[2]
27
28
input_base = os.path.basename(input_file)
29
input_dir = os.path.dirname(input_file)
30
temp_out = tempfile.mkdtemp('treemap'
)
31
32
subprocess.check_call([
'docker'
,
'run'
,
'--volume'
,
'%s:/IN'
% input_dir,
33
'--volume'
,
'%s:/OUT'
% temp_out,
34
DOCKER_IMAGE, DOCKER_SCRIPT,
35
'--library'
,
'/IN/%s'
% input_base,
36
'--destdir'
,
'/OUT'
])
37
38
subprocess.check_call([
'tar'
,
'--directory=%s'
% temp_out,
'-zcf'
,
39
'%s/%s_tree.tar.gz'
% (out_dir, input_base),
40
'.'
])
41
42
# Delete our temporary directory
43
subprocess.check_call([
'docker'
,
'run'
,
44
'--volume'
,
'%s:/OUT'
% temp_out,
45
DOCKER_IMAGE,
'/bin/sh'
,
'-c'
,
'rm -rf /OUT/*'
])
46
47
if
__name__ ==
'__main__'
:
48
main
()
main
Definition:
main.py:1
Generated on Sun Jun 23 2024 21:56:04 for Flutter Engine by
1.9.4