2018-07-08 18:49:18 +03:00
|
|
|
# To push this repo, log in as "schani" on DockerHub, and
|
|
|
|
# docker tag IMAGE-ID schani/quicktype
|
|
|
|
# docker push schani/quicktype
|
|
|
|
|
|
|
|
FROM ubuntu:xenial-20180525
|
2017-09-01 19:05:04 +03:00
|
|
|
|
|
|
|
ENV workdir /app
|
|
|
|
|
|
|
|
RUN mkdir ${workdir}
|
|
|
|
WORKDIR ${workdir}
|
|
|
|
|
2017-12-22 03:28:54 +03:00
|
|
|
RUN apt-get update --fix-missing
|
2017-09-01 19:05:04 +03:00
|
|
|
RUN apt-get install curl git apt-transport-https --assume-yes
|
|
|
|
|
|
|
|
# Install Swift
|
2018-01-24 07:33:18 +03:00
|
|
|
RUN curl -o swift.tar.gz https://swift.org/builds/swift-4.0.3-release/ubuntu1604/swift-4.0.3-RELEASE/swift-4.0.3-RELEASE-ubuntu16.04.tar.gz
|
2017-09-01 19:05:04 +03:00
|
|
|
RUN tar -zxf swift.tar.gz
|
|
|
|
RUN rm swift.tar.gz
|
2018-01-24 07:33:18 +03:00
|
|
|
ENV PATH="${workdir}/swift-4.0.3-RELEASE-ubuntu16.04/usr/bin:${PATH}"
|
2017-09-01 19:05:04 +03:00
|
|
|
|
|
|
|
# Add nodejs package source
|
|
|
|
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
|
|
|
|
|
|
|
|
# Add .NET core package sources
|
|
|
|
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
|
|
|
|
RUN mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
|
|
|
|
RUN sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
|
|
|
|
|
|
|
|
RUN apt-get update
|
|
|
|
RUN apt-get install nodejs maven default-jdk clang binutils golang-go --assume-yes
|
|
|
|
RUN apt-get install dotnet-sdk-2.0.0 --assume-yes
|
|
|
|
|
2017-10-29 19:19:11 +03:00
|
|
|
# Install Boost for C++
|
|
|
|
RUN apt-get install libboost-all-dev --assume-yes
|
|
|
|
|
2018-02-07 00:10:36 +03:00
|
|
|
# Install Rust
|
|
|
|
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
|
2018-02-17 22:18:13 +03:00
|
|
|
# Tool to limit elm-make cores
|
|
|
|
RUN git clone https://github.com/obmarg/libsysconfcpus.git
|
|
|
|
RUN cd libsysconfcpus && ./configure && make && make install
|
|
|
|
|
2018-03-12 02:57:20 +03:00
|
|
|
# Ruby
|
|
|
|
RUN apt-get install ruby --assume-yes
|
|
|
|
RUN gem install bundler
|
|
|
|
|
2018-05-09 20:14:31 +03:00
|
|
|
# Kotlin
|
|
|
|
RUN curl -s https://get.sdkman.io | bash
|
|
|
|
RUN /bin/bash -c "source /root/.sdkman/bin/sdkman-init.sh && sdk install kotlin"
|
|
|
|
ENV PATH="/root/.sdkman/candidates/kotlin/current/bin:${PATH}"
|
|
|
|
|
2018-06-28 19:49:25 +03:00
|
|
|
# Python
|
|
|
|
RUN apt-get install software-properties-common python-software-properties --assume-yes
|
|
|
|
RUN add-apt-repository ppa:jonathonf/python-3.6
|
|
|
|
RUN apt-get update
|
|
|
|
RUN apt-get install python3.6 --assume-yes
|
|
|
|
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6
|
2018-07-01 02:09:33 +03:00
|
|
|
RUN pip3.6 install mypy python-dateutil
|
2018-06-28 19:49:25 +03:00
|
|
|
|
2018-08-10 03:29:24 +03:00
|
|
|
# Dart
|
|
|
|
RUN apt-get install apt-transport-https
|
|
|
|
RUN sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
|
|
|
|
RUN sh -c '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
|
|
|
|
RUN apt-get install dart
|
|
|
|
|
2017-09-01 19:05:04 +03:00
|
|
|
ENV PATH="${workdir}/node_modules/.bin:${PATH}"
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
ENV CI=true
|
2018-05-26 06:00:05 +03:00
|
|
|
RUN npm install --unsafe-perm
|
|
|
|
RUN npm run tslint
|