THRIFT-4452: optimize Dockerfile so it runs apt-get update only once
This closes #1464
diff --git a/build/docker/ubuntu-trusty/Dockerfile b/build/docker/ubuntu-trusty/Dockerfile
index 394e84f..0acd577 100644
--- a/build/docker/ubuntu-trusty/Dockerfile
+++ b/build/docker/ubuntu-trusty/Dockerfile
@@ -25,6 +25,8 @@
MAINTAINER Apache Thrift <dev@thrift.apache.org>
ENV DEBIAN_FRONTEND noninteractive
+### Add apt repos
+
RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y --no-install-recommends \
@@ -36,6 +38,16 @@
software-properties-common \
wget
+# D
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
+ wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
+ wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
+
+# Dart
+RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+ curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+ /etc/apt/sources.list.d/dart_stable.list
+
RUN apt-get update && apt-get install -y --no-install-recommends \
`# General dependencies` \
bash-completion \
@@ -66,11 +78,7 @@
`# csharp (mono) dependencies` \
mono-devel
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
- wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
- wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - && \
- apt-get update && \
- apt-get install -y --no-install-recommends \
+RUN apt-get install -y --no-install-recommends \
`# D dependencies` \
dmd-bin=2.070.2-0 \
libphobos2-dev=2.070.2-0 \
@@ -88,10 +96,7 @@
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf openssl-master
-RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
- curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
- apt-get update && \
- apt-get install -y --no-install-recommends \
+RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
dart=1.20.1-1
ENV PATH /usr/lib/dart/bin:$PATH