/
Dockerfile
84 lines (71 loc) · 2.53 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
FROM cogniteev/oracle-java:java8
ARG BUILD_DATE
ARG VCS_REF
ARG VCS_URL
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url="$VCS_URL" \
org.label-schema.schema-version="1.0"
### START OF CONFIG ###
ENV FLUTTER_BRANCH alpha
ENV GRADLE_VER gradle-3.3
ENV ANDROID_API_LEVELS android-25
ENV ANDROID_BUILD_TOOLS_VERSION 25.0.3
ENV ANDROID_SDK_FILENAME sdk-tools-linux-3859397.zip
### END OF CONFIG ###
ENV HOME /home/fuchsia
ENV GRADLE_DIST ${GRADLE_VER}-bin.zip
ENV ANDROID_SDK_URL https://dl.google.com/android/repository/${ANDROID_SDK_FILENAME}
ENV ANDROID_HOME ${HOME}/android-sdk-linux
# General deps
RUN dpkg --add-architecture i386
RUN apt-get update && apt-get install -y \
build-essential \
git \
curl \
zip \
unzip \
lib32stdc++6 \
expect \
libc6:i386 \
libncurses5:i386 \
libstdc++6:i386 \
lib32z1
# Prepare user and workdir
RUN mkdir -p ${HOME}
RUN groupadd -r fuchsia && useradd -r -g fuchsia fuchsia
RUN chown fuchsia:fuchsia ${HOME}
WORKDIR ${HOME}
USER fuchsia
# Install Gradle
RUN wget -q https://services.gradle.org/distributions/${GRADLE_DIST} && \
unzip ${GRADLE_DIST} && \
rm ${GRADLE_DIST}
ENV PATH ${PATH}:${HOME}/${GRADLE_VER}/bin
# Installs Android SDK
RUN mkdir -p ${ANDROID_HOME} && \
cd ${ANDROID_HOME} && \
wget -q ${ANDROID_SDK_URL} && \
unzip -q ${ANDROID_SDK_FILENAME} && \
rm ${ANDROID_SDK_FILENAME}
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
COPY accept-and-install-sdk.exp .
RUN ./accept-and-install-sdk.exp ${ANDROID_API_LEVELS} ${ANDROID_BUILD_TOOLS_VERSION}
# Install Flutter
RUN git clone -b ${FLUTTER_BRANCH} https://github.com/flutter/flutter.git
ENV PATH="${HOME}/flutter/bin:${PATH}"
RUN flutter doctor
# Get fuchsia
RUN mkdir fuchsia && \
cd fuchsia && \
mkdir -p apps/modules && \
mkdir -p lib && \
mkdir -p third_party
RUN cd fuchsia/apps && \
git clone https://github.com/fuchsia-mirror/sysui.git
RUN cd fuchsia/apps/modules && \
git clone https://github.com/fuchsia-mirror/modules-common.git common
RUN cd fuchsia/lib && \
git clone https://fuchsia.googlesource.com/widgets
RUN cd fuchsia/third_party && \
git clone https://github.com/fuchsia-mirror/third_party-dart-pkg dart-pkg