FROM alpine:latest LABEL maintainer "Jessie Frazelle " ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk RUN apk add --no-cache \ bash \ ca-certificates \ openjdk8 # https://github.com/bazelbuild/bazel/releases ENV BAZEL_VERSION 0.5.0 # https://gerrit.googlesource.com/gitiles/ ENV GITILES_VERSION v0.2-1 # install bazel RUN set -x \ && apk add --no-cache --virtual=.build-deps \ build-base \ curl \ git \ linux-headers \ python \ zip \ && : install Bazel to build gitiles \ && curl -sSL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip" -o /tmp/bazel.zip \ && mkdir "/tmp/bazel-${BAZEL_VERSION}" \ && unzip -qd "/tmp/bazel-${BAZEL_VERSION}" /tmp/bazel.zip \ && rm -rf /tmp/bazel.zip \ && ( \ cd "/tmp/bazel-${BAZEL_VERSION}" \ && : add -fpermissive compiler option to avoid compilation failure \ && sed -i -e '/"-std=c++0x"/{h;s//"-fpermissive"/;x;G}' tools/cpp/cc_configure.bzl \ && : add '#include ' to avoid mode_t type error \ && sed -i -e '/#endif \/\/ COMPILER_MSVC/{h;s//#else/;G;s//#include /;G;}' third_party/ijar/common.h \ && bash compile.sh \ && cp -p output/bazel /usr/bin/ \ ) \ && git clone --depth 1 --branch "${GITILES_VERSION}" https://gerrit.googlesource.com/gitiles /usr/src/gitiles \ && ( \ cd /usr/src/gitiles \ && bazel build gitiles-dev:dev \ && cp -rL bazel-bin bin \ && rm -rf bazel-bin \ ) \ && : clean up unneeded packages and files \ && apk del .build-deps \ && rm -rf /usr/bin/bazel /tmp/* /root/.cache "/tmp/bazel-${BAZEL_VERSION}" COPY start.sh /usr/bin/start.sh ENTRYPOINT [ "/usr/bin/start.sh" ]