diff --git a/ci/docker/clang-tools/Dockerfile b/ci/docker/clang-tools/Dockerfile new file mode 100644 index 0000000000..227c771142 --- /dev/null +++ b/ci/docker/clang-tools/Dockerfile @@ -0,0 +1,49 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM ubuntu:groovy +LABEL maintainer="Apache Geode " +LABEL description="Minimal image for building with clang toolset." + +RUN apt-get update \ + && apt-get install -y \ + bash \ + libssl-dev \ + patch \ + cmake \ + git \ + doxygen \ + openjdk-8-jdk-headless \ + jq \ + && rm -rf /var/lib/apt/lists/* + +ARG CLANG_VERSION=11 +RUN apt-get update \ + && apt-get install -y \ + clang-${CLANG_VERSION} \ + lld-${CLANG_VERSION} \ + clang-format-${CLANG_VERSION} \ + clang-tidy-${CLANG_VERSION} \ + && update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/lld lld /usr/bin/lld-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/run-clang-tidy run-clang-tidy /usr/bin/run-clang-tidy-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${CLANG_VERSION} 10 \ + && update-alternatives --install /usr/bin/cc cc /usr/bin/clang 10 \ + && update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 10 \ + && update-alternatives --install /usr/bin/ld ld /usr/bin/lld 10 \ + && rm -rf /var/lib/apt/lists/*