-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
125 lines (97 loc) · 3.96 KB
/
Dockerfile
File metadata and controls
125 lines (97 loc) · 3.96 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Pull base image.
FROM ubuntu:14.04
# Install base software packages
RUN apt-get update && \
apt-get install software-properties-common \
python-software-properties \
wget \
curl \
git \
lftp \
unzip -y && \
apt-get clean
# ——————————
# Install Java.
# ——————————
RUN \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:openjdk-r/ppa && \
apt-get update && \
#apt install openjdk-8-jre-headless && \
apt-get -y install openjdk-8-jdk && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer
# Define commonly used JAVA_HOME variable
# ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
# ——————————
# Installs i386 architecture required for running 32 bit Android tools
# ——————————
RUN dpkg --add-architecture i386 && \
apt-get update -y && \
apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 && \
rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \
apt-get clean
# ——————————
# Installs Android SDK
# ——————————
ENV VERSION_SDK_TOOLS "28.0.1"
ENV VERSION_BUILD_TOOLS "28.0.2"
ENV VERSION_TARGET_SDK "28"
# Prepare System
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -qq update && \
apt-get install -qqy --no-install-recommends curl html2text openjdk-8-jdk libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 unzip && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN rm -f /etc/ssl/certs/java/cacerts; \
/var/lib/dpkg/info/ca-certificates-java.postinst configure
# Download SDK
ADD https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip /tools.zip
#ADD http://dl.google.com/android/repository/tools_r${VERSION_SDK_TOOLS}-linux.zip /tools.zip
RUN unzip /tools.zip -d /sdk && \
rm -v /tools.zip
# Configure PATH
ENV ANDROID_HOME "/sdk"
ENV PATH "${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools"
# Accept License
RUN mkdir -p $ANDROID_HOME/licenses/ && \
echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > $ANDROID_HOME/licenses/android-sdk-license && \
echo "84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license
# Install SDK Package
RUN sdkmanager "platform-tools" --verbose && \
sdkmanager "platforms;android-${VERSION_TARGET_SDK}" --verbose && \
sdkmanager "build-tools;${VERSION_BUILD_TOOLS}" --verbose && \
sdkmanager "extras;android;m2repository" --verbose && \
sdkmanager "extras;google;m2repository" --verbose && \
sdkmanager "extras;google;google_play_services" --verbose && \
sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" --verbose && \
sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1" --verbose
# ——————————
# Installs Gradle
# ——————————
# Gradle
ENV GRADLE_VERSION 3.3
RUN cd /usr/lib \
&& curl -fl https://downloads.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -o gradle-bin.zip \
&& unzip "gradle-bin.zip" \
&& ln -s "/usr/lib/gradle-${GRADLE_VERSION}/bin/gradle" /usr/bin/gradle \
&& rm "gradle-bin.zip"
# Set Appropriate Environmental Variables
ENV GRADLE_HOME /usr/lib/gradle
ENV PATH $PATH:$GRADLE_HOME/bin
# ——————————
# Install Node and global packages
# ——————————
ENV NODE_VERSION 12.8.0
RUN cd && \
wget -q http://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz && \
tar -xzf node-v${NODE_VERSION}-linux-x64.tar.gz && \
mv node-v${NODE_VERSION}-linux-x64 /opt/node && \
rm node-v${NODE_VERSION}-linux-x64.tar.gz
ENV PATH ${PATH}:/opt/node/bin
# ——————————
# Install Basic React-Native packages
# ——————————
RUN npm install react-native-cli -g
RUN npm install yarn -g
ENV LANG en_US.UTF-8