1cb93a386Sopenharmony_ci# Dockerfile that bundles chromium's binary_size tools
2cb93a386Sopenharmony_ci# to build treemaps of code size for executables.
3cb93a386Sopenharmony_ciFROM alpine:latest as dart-sdk-checkout
4cb93a386Sopenharmony_ci
5cb93a386Sopenharmony_ciRUN apk update && apk upgrade && \
6cb93a386Sopenharmony_ci    apk add git
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ciWORKDIR /tmp/
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ciRUN git clone --depth 1 https://github.com/dart-lang/sdk.git
11cb93a386Sopenharmony_ci
12cb93a386Sopenharmony_ci#############################################################################
13cb93a386Sopenharmony_ci# Multi-stage build part 2, in which we only have the python runtime and
14cb93a386Sopenharmony_ci# and the scripts we need to analyze the binary.
15cb93a386Sopenharmony_ci#############################################################################
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ciFROM alpine:latest as analyzer
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ciRUN apk update && apk upgrade && \
20cb93a386Sopenharmony_ci    apk add python binutils
21cb93a386Sopenharmony_ci
22cb93a386Sopenharmony_ciWORKDIR /opt
23cb93a386Sopenharmony_ci
24cb93a386Sopenharmony_ciCOPY --from=dart-sdk-checkout /tmp/sdk/runtime/third_party/ /opt/
25