Remove `old/` directory from `build/docker` since its not maintained/used
diff --git a/build/docker/old/Vagrantfile b/build/docker/old/Vagrantfile
deleted file mode 100644
index 5eac6e6..0000000
--- a/build/docker/old/Vagrantfile
+++ /dev/null
@@ -1,59 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-#
-# Licensed 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.
-
-# Base system bootstrap script
-$bootstrap_script = <<__BOOTSTRAP__
-echo "Provisioning defaults"
-
-sudo apt-get update -y
-sudo apt-get upgrade -y
-
-# Install default packages
-sudo apt-get install -y build-essential curl git
-
-# Install latest Docker version
-sudo curl -sSL https://get.docker.io/gpg | sudo apt-key add -
-sudo echo "deb http://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list
-sudo apt-get update -y
-sudo apt-get install -y linux-image-extra-`uname -r` aufs-tools
-sudo apt-get install -y lxc-docker
-
-echo "Finished provisioning defaults"
-__BOOTSTRAP__
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "trusty64"
-  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
-  config.ssh.forward_agent = true
-
-  config.vm.provider :virtualbox do |vbox|
-    vbox.customize ["modifyvm", :id, "--memory", "1024"]
-    vbox.customize ["modifyvm", :id, "--cpus", "2"]
-  end
-
-  # Setup the default bootstrap script for our ubuntu base box image
-  config.vm.provision "shell", inline: $bootstrap_script
-
-  # Setup the custom docker image from our Ubuntu Dockerfile
-  config.vm.provision "docker" do |d|
-    d.build_image "/vagrant/ubuntu", args: "-t thrift"
-  end
-
-  # Setup the custom docker image from our Centos Dockerfile
-  #config.vm.provision "docker" do |d|
-  #  d.build_image "/vagrant/centos", args: "-t thrift-centos"
-  #end
-
-end
diff --git a/build/docker/old/centos-7.3/Dockerfile b/build/docker/old/centos-7.3/Dockerfile
deleted file mode 100644
index ba4c549..0000000
--- a/build/docker/old/centos-7.3/Dockerfile
+++ /dev/null
@@ -1,196 +0,0 @@
-# Licensed 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.
-
-# Apache Thrift Docker build environment for CentOS
-#
-# Known missing client libraries:
-#  - dotnet (will update to 2.0.0 separately)
-#  - haxe (not in centos)
-
-FROM centos:7.3.1611
-MAINTAINER Apache Thrift <dev@thrift.apache.org>
-
-RUN yum install -y epel-release
-
-# General dependencies
-RUN yum install -y \
-      autoconf \
-      bison \
-      bison-devel \
-      clang \
-      clang-analyzer \
-      cmake3 \
-      curl \
-      flex \
-      gcc \
-      gcc-c++ \
-      gdb \
-      git \
-      libtool \
-      m4 \
-      make \
-      tar \
-      unzip \
-      valgrind \
-      wget && \
-      ln -s /usr/bin/cmake3 /usr/bin/cmake && \
-      ln -s /usr/bin/cpack3 /usr/bin/cpack && \
-      ln -s /usr/bin/ctest3 /usr/bin/ctest
-
-# C++ dependencies
-RUN yum install -y \
-      boost-devel-static \
-      zlib-devel \
-      openssl-devel \
-      libevent-devel && \
-    cd /usr/lib64 && \
-    ln -s libboost_thread-mt.a libboost_thread.a
-
-# C# Dependencies
-RUN yum install -y \
-      mono-core \
-      mono-devel \
-      mono-web-devel \
-      mono-extras
-
-# D Dependencies
-RUN yum install -y http://downloads.dlang.org/releases/2.x/2.076.0/dmd-2.076.0-0.fedora.x86_64.rpm xdg-utils
-RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-    curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf libevent-master openssl-master
-
-# Dart
-RUN cd /usr/local && \
-    wget -q https://storage.googleapis.com/dart-archive/channels/stable/release/1.24.2/sdk/dartsdk-linux-x64-release.zip && \
-    unzip -q dartsdk-linux-x64-release.zip && \
-    rm dartsdk-linux-x64-release.zip
-ENV PATH /usr/local/dart-sdk/bin:$PATH
-
-# Erlang Dependencies
-RUN curl -sSL http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo -o /etc/yum.repos.d/erlang_solutions.repo && \
-    yum install -y \
-      erlang-kernel \
-      erlang-erts \
-      erlang-stdlib \
-      erlang-eunit \
-      erlang-rebar \
-      erlang-tools
-
-# GLibC Dependencies
-RUN yum install -y glib2-devel
-
-# Go Dependencies
-RUN curl -sSL https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz | tar -C /usr/local/ -xz
-ENV PATH /usr/local/go/bin:$PATH
-
-# Haxe Dependencies
-# Not in debian/stretch
-
-# Java Dependencies
-RUN yum install -y \
-      ant \
-      junit \
-      ant-junit \
-      java-1.8.0-openjdk-devel
-
-# Lua Dependencies
-# Lua in epel is too old (5.1.4, need 5.2) so we get the latest
-RUN yum install -y readline-devel && \
-    wget -q http://www.lua.org/ftp/lua-5.3.4.tar.gz && \
-    tar xzf lua-5.3.4.tar.gz && \
-    cd lua-5.3.4 && \
-    sed -i 's/CFLAGS= /CFLAGS= -fPIC /g' src/Makefile && \
-    make linux && \
-    make install && \
-    cd .. && \
-    rm -rf lua-5*
-
-# MinGW Dependencies
-RUN yum install -y \
-      mingw32-binutils \
-      mingw32-crt \
-      mingw32-nsis
-
-# Node.js Dependencies
-# Work around epel issue where they removed http-parser that nodejs depends on!
-RUN yum -y install https://opensource.enda.eu/packages/http-parser-2.7.1-3.el7.x86_64.rpm
-RUN yum install -y \
-      nodejs \
-      npm
-
-# Ocaml Dependencies
-RUN yum install -y \
-      ocaml \
-      ocaml-ocamldoc && \
-    wget -q https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin && \
-    opam init --yes && \
-    opam install --yes oasis && \
-    echo '. /root/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true' >> ~/.bashrc
-
-# Perl Dependencies
-RUN yum install -y \
-      perl \
-      perl-version \
-      perl-Bit-Vector \
-      perl-Class-Accessor \
-      perl-ExtUtils-MakeMaker \
-      perl-Test-Simple \
-      perl-IO-Socket-SSL \
-      perl-Net-SSLeay \
-      perl-Crypt-SSLeay
-
-# PHP Dependencies
-RUN yum install -y \
-      php \
-      php-devel \
-      php-pear \
-      re2c \
-      php-phpunit-PHPUnit \
-      bzip2
-
-# Python Dependencies
-RUN yum install -y \
-      python \
-      python-devel \
-      python-pip \
-      python-setuptools \
-      python34 \
-      python34-devel \
-      python34-pip \
-      python34-setuptools
-RUN pip2 install --upgrade pip
-RUN pip2 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
-RUN pip3 install --upgrade pip
-RUN pip3 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
-
-# Ruby Dependencies
-RUN yum install -y \
-      ruby \
-      ruby-devel \
-      rubygems && \
-    gem install bundler rake
-
-# Rust
-RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.17.0
-ENV PATH /root/.cargo/bin:$PATH
-
-# Clean up
-RUN rm -rf /tmp/* && \
-    yum clean all
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/debian-jessie/Dockerfile b/build/docker/old/debian-jessie/Dockerfile
deleted file mode 100644
index 15e02e9..0000000
--- a/build/docker/old/debian-jessie/Dockerfile
+++ /dev/null
@@ -1,197 +0,0 @@
-# Licensed 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.
-
-# Apache Thrift Docker build environment for Debian
-#
-# Known missing client libraries:
-#  - dotnetcore
-#  - rust
-
-FROM buildpack-deps:jessie-scm
-MAINTAINER Apache Thrift <dev@thrift.apache.org>
-
-ENV DEBIAN_FRONTEND noninteractive
-
-# Add apt sources
-# jessie-backports for cmake and some ruby bits
-RUN echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
-
-# 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 && \
-    sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
-
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# General dependencies` \
-      bison \
-      build-essential \
-      clang \
-      debhelper \
-      flex \
-      pkg-config && \
-    apt-get -t jessie-backports install -y --no-install-recommends cmake
-
-RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
-      libboost-dev \
-      libboost-filesystem-dev \
-      libboost-program-options-dev \
-      libboost-system-dev \
-      libboost-test-dev \
-      libboost-thread-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
-      ant \
-      ant-optional \
-      openjdk-7-jdk \
-      maven
-
-RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-pip \
-      python-setuptools \
-      python-twisted \
-      python-zope.interface \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-setuptools \
-      python3-pip
-
-RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
-      ruby \
-      ruby-bundler \
-      ruby-dev \
-`# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl
-
-RUN apt-get -t jessie-backports install -y ruby-bundler
-RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
-      php5 \
-      php5-dev \
-      php5-cli \
-      php-pear \
-      re2c \
-      phpunit \
-`# GlibC dependencies` \
-      libglib2.0-dev
-
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# Erlang dependencies` \
-      erlang-base \
-      erlang-eunit \
-      erlang-dev \
-      erlang-tools \
-      rebar
-
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
-      neko \
-      neko-dev \
-      libneko0
-
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
-      nodejs \
-      nodejs-dev \
-      nodejs-legacy \
-      npm
-
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# D dependencies` \
-      xdg-utils \
-`# Dart dependencies` \
-      dart \
-`# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev \
-`# MinGW dependencies` \
-      mingw32 \
-      mingw32-binutils \
-`#      mingw32-runtime` \
-      nsis \
-`# Clean up` \
-    && rm -rf /var/cache/apt/* && \
-    rm -rf /var/lib/apt/lists/* && \
-    rm -rf /tmp/* && \
-    rm -rf /var/tmp/*
-
-# Ruby
-RUN gem install bundler --no-ri --no-rdoc
-
-# Python optional dependencies
-RUN pip2 install -U ipaddress backports.ssl_match_hostname tornado
-RUN pip3 install -U backports.ssl_match_hostname tornado
-
-# Go
-RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
-ENV PATH /usr/local/go/bin:$PATH
-
-# Haxe
-RUN mkdir -p /usr/lib/haxe && \
-    wget -O - https://github.com/HaxeFoundation/haxe/releases/download/3.2.1/haxe-3.2.1-linux64.tar.gz | \
-    tar -C /usr/lib/haxe --strip-components=1 -xz && \
-    ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
-    ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
-    mkdir -p /usr/lib/haxe/lib  && \
-    chmod -R 777 /usr/lib/haxe/lib && \
-    haxelib setup /usr/lib/haxe/lib && \
-    haxelib install hxcpp
-
-# D
-RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd64.deb -o /tmp/dmd_2.070.0-0_amd64.deb && \
-    dpkg -i /tmp/dmd_2.070.0-0_amd64.deb && \
-    rm /tmp/dmd_2.070.0-0_amd64.deb && \
-    curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-    curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf libevent-master openssl-master && \
-    echo 'gcc -Wl,--no-as-needed $*' > /usr/local/bin/gcc-dmd && \
-    chmod 755 /usr/local/bin/gcc-dmd && \
-    echo 'CC=/usr/local/bin/gcc-dmd' >> /etc/dmd.conf
-
-# Dart
-ENV PATH /usr/lib/dart/bin:$PATH
-
-# OCaml
-RUN echo 'deb http://ppa.launchpad.net/avsm/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/avsm-official-ocaml.list && \
-    gpg --keyserver keyserver.ubuntu.com --recv 61707B09 && \
-    gpg --export --armor 61707B09 | apt-key add - && \
-    apt-get update && \
-    apt-get install -y ocaml opam && \
-    opam init && \
-    opam install oasis
-
-# Force utf8 locale to successfully build Haskell tf-random
-ENV LC_ALL C.UTF-8
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/debian-stretch/Dockerfile b/build/docker/old/debian-stretch/Dockerfile
deleted file mode 100644
index f584bba..0000000
--- a/build/docker/old/debian-stretch/Dockerfile
+++ /dev/null
@@ -1,225 +0,0 @@
-# Licensed 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.
-
-# Apache Thrift Docker build environment for Debian Stretch
-#
-# Known issues:
-# - d: deimos for libevent and openssl disabled - build errors
-# - dotnetcore, because netcore is for 1.0.0-preview and 2.0.0 is out
-# - rust: cargo not in debian repo - perhaps not needed?
-
-FROM buildpack-deps:stretch-scm
-MAINTAINER Apache Thrift <dev@thrift.apache.org>
-
-ENV DEBIAN_FRONTEND noninteractive
-
-### Add apt repos
-
-RUN apt-get update && apt-get install -y --no-install-recommends apt apt-transport-https curl wget apt-utils
-
-# D
-RUN wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
-    apt-get update && apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
-
-# 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 && \
-    sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
-
-# dotnet (core) 2.0.0 - project isn't ready for this yet:
-# RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-#     echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list
-
-# node.js (this step runs apt-get update internally)
-RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
-
-
-### install general dependencies
-RUN apt-get install -y --no-install-recommends \
-`# General dependencies` \
-      bash-completion \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      ninja-build \
-      pkg-config \
-      valgrind \
-      vim
-
-
-### languages
-
-RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
-      libboost-dev \
-      libboost-filesystem-dev \
-      libboost-program-options-dev \
-      libboost-system-dev \
-      libboost-test-dev \
-      libboost-thread-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-RUN apt-get install -y --no-install-recommends \
-`# D dependencies` \
-      dmd-bin \
-      libevent-dev \
-      libssl-dev \
-      xdg-utils
-# libevent deimos disabled - build errors
-# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-#     curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-#     mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-#     mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-#     rm -rf libevent-master
-# openssl deimos doesn't work with openssl-1.1.0 - disabling it for now:
-# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-#     mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-#     mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-#     rm -rf openssl-master
-
-RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
-      dart
-ENV PATH /usr/lib/dart/bin:$PATH
-
-# project isn't ready for this quite yet:
-# RUN apt-get install -y --no-install-recommends \
-# `# dotnet core dependencies` \
-#       dotnet-sdk-8.0 \
-#       dotnet-runtime-8.0 \
-#       aspnetcore-runtime-8.0 \
-#       dotnet-apphost-pack-8.0
-
-RUN apt-get install -y --no-install-recommends \
-`# Erlang dependencies` \
-      erlang-base \
-      erlang-eunit \
-      erlang-dev \
-      erlang-tools \
-      rebar
-
-RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
-      libglib2.0-dev
-
-RUN apt-get install -y --no-install-recommends \
-`# golang (go) dependencies` \
-      golang-go
-
-RUN apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
-      haxe \
-      neko \
-      neko-dev
-RUN haxelib setup --always /usr/share/haxe/lib && \
-    haxelib install --always hxcpp
-
-RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
-      ant \
-      ant-optional \
-      openjdk-8-jdk \
-      maven
-
-RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev
-# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
-# same for debian stretch
-# lua5.3 does not install alternatives so stick with 5.2 here
-
-RUN apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
-      nodejs
-
-RUN apt-get install -y --no-install-recommends \
-`# OCaml dependencies` \
-      ocaml \
-      opam && \
-    opam init --yes && \
-    opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl
-
-RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
-      php7.0 \
-      php7.0-cli \
-      php7.0-dev \
-      php-pear \
-      re2c \
-      phpunit
-
-RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-backports.ssl-match-hostname \
-      python-ipaddress \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-tornado \
-      python-twisted \
-      python-wheel \
-      python-zope.interface \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-setuptools \
-      python3-six \
-      python3-tornado \
-      python3-twisted \
-      python3-wheel \
-      python3-zope.interface && \
-    pip install --upgrade backports.ssl_match_hostname
-
-RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
-      ruby \
-      ruby-dev \
-      ruby-bundler
-RUN gem install bundler --no-ri --no-rdoc
-
-RUN apt-get install -y --no-install-recommends \
-`# Rust dependencies` \
-      rustc
-
-# Update anything else left hanging
-RUN apt-get dist-upgrade -y
-
-# Clean up
-RUN rm -rf /var/cache/apt/* && \
-    rm -rf /var/lib/apt/lists/* && \
-    rm -rf /tmp/* && \
-    rm -rf /var/tmp/*
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/ubuntu-artful/Dockerfile b/build/docker/old/ubuntu-artful/Dockerfile
deleted file mode 100644
index f94b700..0000000
--- a/build/docker/old/ubuntu-artful/Dockerfile
+++ /dev/null
@@ -1,260 +0,0 @@
-# Licensed 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.
-
-#
-# Apache Thrift Docker build environment for Ubuntu Artful
-# Using all stock Ubuntu Artful packaging except for:
-# - cpp: stock boost 1.62 in artful has a nasty bug so we use stock boost 1.63
-# - d: dmd does not come with Ubuntu
-# - dart: does not come with Ubuntu. Pinned to last 1.x release
-# - dotnet: does not come with Ubuntu
-# - haxe: version 3.4.2 that comes with Ubuntu cores in our CI build
-# - go: artful comes with 1.9, we want the latest (supported)
-# - nodejs: want v8, artful comes with v6
-#
-
-FROM buildpack-deps:artful-scm
-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 \
-      apt \
-      apt-transport-https \
-      apt-utils \
-      curl \
-      dirmngr \
-      software-properties-common \
-      wget
-
-# 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
-ENV DART_VERSION 1.24.3-1
-
-# dotnet (netcore)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > \
-      /etc/apt/sources.list.d/dotnetdev.list
-
-# haxe (https://haxe.org/download/linux/)
-RUN add-apt-repository ppa:haxe/releases -y
-
-# node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-    echo "deb https://deb.nodesource.com/node_8.x artful main" | tee /etc/apt/sources.list.d/nodesource.list
-
-### install general dependencies
-RUN apt-get update && apt-get install -y --no-install-recommends \
-`# General dependencies` \
-      bash-completion \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      llvm \
-      ninja-build \
-      pkg-config \
-      valgrind \
-      vim
-ENV PATH /usr/lib/llvm-3.8/bin:$PATH
-
-# boost-1.62 has a terrible bug in boost::test, see https://svn.boost.org/trac10/ticket/12507
-RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
-      libboost1.63-all-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-ENV SBCL_VERSION 1.4.5
-RUN \
-`# Common Lisp (sbcl) dependencies` \
-    curl --version && \
-    curl -O -J -L https://kent.dl.sourceforge.net/project/sbcl/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-    tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-    cd sbcl-${SBCL_VERSION}-x86-64-linux && \
-    ./install.sh && \
-    sbcl --version && \
-    rm -rf sbcl*
-
-ENV D_VERSION     2.080.0
-ENV DMD_DEB       dmd_2.080.0-0_amd64.deb
-RUN \
-`# D dependencies` \
-    wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-    dpkg --install ${DMD_DEB} && \
-    rm -f ${DMD_DEB} && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-    mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf libevent-master && \
-    curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-    mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf openssl-master
-
-RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
-      dart=$DART_VERSION
-ENV PATH /usr/lib/dart/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-`# dotnet core dependencies` \
-      dotnet-sdk-8.0 \
-      dotnet-runtime-8.0 \
-      aspnetcore-runtime-8.0 \
-      dotnet-apphost-pack-8.0
-
-RUN apt-get install -y --no-install-recommends \
-`# Erlang dependencies` \
-      erlang-base \
-      erlang-eunit \
-      erlang-dev \
-      erlang-tools \
-      rebar
-
-RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
-      libglib2.0-dev
-
-# golang
-ENV GOLANG_VERSION 1.10
-ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 b5a64335f1490277b585832d1f6c7f8c6c11206cba5cd3f771dcb87b98ad1a33
-RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
-      echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-            tar -C /usr/local -xzf golang.tar.gz && \
-                  ln -s /usr/local/go/bin/go /usr/local/bin && \
-                        rm golang.tar.gz
-
-RUN apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
-      haxe \
-      neko \
-      neko-dev && \
-    haxelib setup --always /usr/share/haxe/lib && \
-    haxelib install --always hxcpp 2>&1 > /dev/null
-
-RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
-      ant \
-      ant-optional \
-      openjdk-8-jdk \
-      maven
-
-RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev
-# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
-# lua5.3 does not install alternatives!
-# need to update our luasocket code, lua doesn't have luaL_openlib any more
-
-RUN apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
-      nodejs
-
-# Test dependencies for running puppeteer
-RUN apt-get install -y --no-install-recommends \
-`# JS dependencies` \
-      libxss1
-
-RUN apt-get install -y --no-install-recommends \
-`# OCaml dependencies` \
-      ocaml \
-      opam && \
-    opam init --yes && \
-    opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl
-
-RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
-      php \
-      php-cli \
-      php-dev \
-      php-pear \
-      re2c \
-      composer
-
-RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-ipaddress \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-tornado \
-      python-twisted \
-      python-wheel \
-      python-zope.interface && \
-   pip install --upgrade backports.ssl_match_hostname
-
-RUN apt-get install -y --no-install-recommends \
-`# Python3 dependencies` \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-pip \
-      python3-setuptools \
-      python3-six \
-      python3-tornado \
-      python3-twisted \
-      python3-wheel \
-      python3-zope.interface
-
-RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
-      ruby \
-      ruby-dev \
-      ruby-bundler
-
-RUN apt-get install -y --no-install-recommends \
-`# Rust dependencies` \
-      cargo \
-      rustc
-
-RUN apt-get install -y --no-install-recommends \
-`# Static Code Analysis dependencies` \
-      cppcheck \
-      sloccount && \
-    pip install flake8
-
-# Clean up
-RUN rm -rf /var/cache/apt/* && \
-    rm -rf /var/lib/apt/lists/* && \
-    rm -rf /tmp/* && \
-    rm -rf /var/tmp/*
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/ubuntu-bionic/Dockerfile b/build/docker/old/ubuntu-bionic/Dockerfile
deleted file mode 100644
index 6d337d7..0000000
--- a/build/docker/old/ubuntu-bionic/Dockerfile
+++ /dev/null
@@ -1,318 +0,0 @@
-# Licensed 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.
-
-#
-# Apache Thrift Docker build environment for Ubuntu Bionic
-# with some updated packages.
-#
-
-FROM buildpack-deps:bionic-scm
-LABEL MAINTAINER='Apache Thrift <dev@thrift.apache.org>'
-ENV DEBIAN_FRONTEND noninteractive
-
-### Add apt repos
-
-RUN apt-get update -yq && \
-      apt-get dist-upgrade -y && \
-      apt-get install -y --no-install-recommends --fix-missing \
-      apt \
-      apt-transport-https \
-      apt-utils \
-      curl \
-      dirmngr \
-      software-properties-common \
-      wget
-
-# 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
-
-# dotnet (netcore)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-      wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
-      chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
-      chown root:root /etc/apt/sources.list.d/microsoft-prod.list
-
-# node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-      echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
-
-### install general dependencies
-RUN apt-get update && apt-get install -y --no-install-recommends \
-      `# General dependencies` \
-      bash-completion \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      libasound2 \
-      libatk-bridge2.0-0 \
-      libgtk-3-0 \
-      llvm \
-      ninja-build \
-      pkg-config \
-      unzip \
-      valgrind \
-      vim
-ENV PATH /usr/lib/llvm-6.0/bin:$PATH
-
-# lib/as3 (ActionScript)
-RUN mkdir -p /usr/local/adobe/flex/4.6 && \
-      cd /usr/local/adobe/flex/4.6 && \
-      wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
-      unzip flex_sdk_4.6.zip
-ENV FLEX_HOME /usr/local/adobe/flex/4.6
-
-# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
-# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
-RUN apt-get install -y --no-install-recommends \
-      `# C++ dependencies` \
-      libboost-all-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-ENV SBCL_VERSION 1.5.3
-RUN \
-      `# Common Lisp (sbcl) dependencies` \
-      curl --version && \
-      curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
-      tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-      cd sbcl-${SBCL_VERSION}-x86-64-linux && \
-      ./install.sh && \
-      sbcl --version && \
-      cd .. && \
-      rm -rf sbcl*
-
-ENV D_VERSION     2.087.0
-ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
-RUN \
-      `# D dependencies` \
-      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-      dpkg --install ${DMD_DEB} && \
-      rm -f ${DMD_DEB} && \
-      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-libevent-2.0 && \
-      git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
-      mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-openssl-1.1.0h
-
-ENV DART_VERSION 2.7.2-1
-RUN apt-get install -y --no-install-recommends \
-      `# Dart dependencies` \
-      dart=$DART_VERSION
-ENV PATH /usr/lib/dart/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-      `# dotnet core dependencies` \
-      dotnet-sdk-7.0 \
-      dotnet-runtime-7.0 \
-      aspnetcore-runtime-7.0 \
-      dotnet-apphost-pack-7.0
-
-# Erlang dependencies
-ARG ERLANG_OTP_VERSION=23.3.4.11
-ARG ERLANG_REBAR_VERSION=3.18.0
-RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
-      curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
-      kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
-      curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-      rebar3 --version
-ENV PATH /usr/local/lib/otp/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-      `# GlibC dependencies` \
-      libglib2.0-dev
-
-# golang
-ENV GOLANG_VERSION 1.19.5
-ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 36519702ae2fd573c9869461990ae550c8c0d955cd28d2827a6b159fda81ff95
-RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
-      echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-      tar -C /usr/local -xzf golang.tar.gz && \
-      ln -s /usr/local/go/bin/go /usr/local/bin && \
-      rm golang.tar.gz
-
-RUN apt-get install -y --no-install-recommends \
-      `# Haxe dependencies` \
-      haxe \
-      neko \
-      neko-dev && \
-      haxelib setup --always /usr/share/haxe/lib && \
-      haxelib install --always hxcpp 2>&1 > /dev/null
-
-ENV GRADLE_VERSION="8.4"
-RUN apt-get install -y --no-install-recommends \
-      `# Java dependencies` \
-      ant \
-      ant-optional \
-      maven \
-      openjdk-17-jdk-headless && \
-      `# Gradle` \
-      wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
-      unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
-      ln -s /usr/local/gradle/bin/gradle /usr/local/bin
-
-RUN apt-get install -y --no-install-recommends \
-      `# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev
-# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
-# lua5.3 does not install alternatives!
-# need to update our luasocket code, lua doesn't have luaL_openlib any more
-
-RUN apt-get install -y --no-install-recommends \
-      `# Node.js dependencies` \
-      nodejs
-
-# Test dependencies for running puppeteer
-RUN apt-get install -y --no-install-recommends \
-      `# JS dependencies` \
-      libxss1 \
-      libxtst6
-
-RUN apt-get install -y --no-install-recommends \
-      `# OCaml dependencies` \
-      ocaml \
-      opam && \
-      opam init --yes && \
-      opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-      `# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl \
-      libtest-exception-perl
-
-RUN apt-get install -y --no-install-recommends \
-      `# Php dependencies` \
-      php \
-      php-cli \
-      php-dev \
-      php-json \
-      php-pear \
-      php-mbstring \
-      php-xml \
-      re2c \
-      composer
-
-RUN pecl install xdebug-3.1.1 && \
-      echo "zend_extension=xdebug.so" > /etc/php/7.2/cli/conf.d/20-xdebug.ini
-
-RUN apt-get install -y --no-install-recommends \
-      `# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-ipaddress \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-tornado \
-      python-twisted \
-      python-wheel \
-      python-zope.interface && \
-      pip install --upgrade backports.ssl_match_hostname
-
-RUN apt-get install -y --no-install-recommends \
-      `# Python3 dependencies` \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-pip \
-      python3-setuptools \
-      python3-six \
-      python3-tornado \
-      python3-twisted \
-      python3-wheel \
-      python3-zope.interface
-
-RUN apt-get install -y --no-install-recommends \
-      `# Ruby dependencies` \
-      ruby \
-      ruby-dev \
-      ruby-bundler
-
-# Rust dependencies
-RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.65.0 -y
-ENV PATH /root/.cargo/bin:$PATH
-
-# Swift on Linux for cross tests
-RUN apt-get install -yq \
-      libedit-dev \
-      libz3-dev \
-      libpython-dev \
-      libxml2-dev && \
-      cd / && \
-      wget --quiet https://download.swift.org/swift-5.7-release/ubuntu1804/swift-5.7-RELEASE/swift-5.7-RELEASE-ubuntu18.04.tar.gz && \
-      tar xf swift-5.7-RELEASE-ubuntu18.04.tar.gz && \
-      mv swift-5.7-RELEASE-ubuntu18.04 /usr/share/swift && \
-      rm swift-5.7-RELEASE-ubuntu18.04.tar.gz
-
-ENV PATH /usr/share/swift/usr/bin:$PATH
-RUN swift --version
-
-# Locale(s) for cpp unit tests
-RUN apt-get install -y --no-install-recommends \
-      `# Locale dependencies` \
-      locales && \
-      locale-gen en_US.UTF-8 && \
-      locale-gen de_DE.UTF-8 && \
-      update-locale
-
-RUN apt-get install -y --no-install-recommends \
-      `# Static Code Analysis dependencies` \
-      cppcheck \
-      sloccount && \
-      pip install flake8
-
-# NOTE: this does not reduce the image size but adds an additional layer.
-# # Clean up
-# RUN rm -rf /var/cache/apt/* && \
-#     rm -rf /var/lib/apt/lists/* && \
-#     rm -rf /tmp/* && \
-#     rm -rf /var/tmp/*
-
-ARG user=build
-ARG group=build
-ARG uid=1000
-ARG gid=1000
-
-RUN apt-get install -y --no-install-recommends sudo && \
-    echo "Running with: UID: ${uid}, User: ${user}, GID: ${gid}, Group: ${group}" && \
-    if [ -z `cat /etc/group | grep "${group}:"` ]; then addgroup --gid ${gid} ${group}; fi && \
-    adduser --uid ${uid} --gid ${gid} --shell /bin/bash ${user} --disabled-password -q --gecos "" && \
-    echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src && \
-    chown -R ${uid}:${uid} $THRIFT_ROOT/
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
-
-USER ${user}
diff --git a/build/docker/old/ubuntu-disco/Dockerfile b/build/docker/old/ubuntu-disco/Dockerfile
deleted file mode 100644
index 39642cf..0000000
--- a/build/docker/old/ubuntu-disco/Dockerfile
+++ /dev/null
@@ -1,296 +0,0 @@
-# Licensed 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.
-
-#
-# Apache Thrift Docker build environment for Ubuntu Disco
-# with some updated packages.
-#
-
-FROM buildpack-deps:disco-scm
-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 \
-      apt \
-      apt-transport-https \
-      apt-utils \
-      curl \
-      dirmngr \
-      software-properties-common \
-      wget
-
-# 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
-
-# dotnet (netcore)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-      wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
-      chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
-      chown root:root /etc/apt/sources.list.d/microsoft-prod.list
-
-# erlang
-RUN wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add - && \
-      echo "deb https://packages.erlang-solutions.com/ubuntu disco contrib" | tee /etc/apt/sources.list.d/erlang.list
-
-# node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-      echo "deb https://deb.nodesource.com/node_10.x disco main" | tee /etc/apt/sources.list.d/nodesource.list
-
-### install general dependencies
-RUN apt-get update && apt-get install -y --no-install-recommends \
-      `# General dependencies` \
-      bash-completion \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      libasound2 \
-      libatk-bridge2.0-0 \
-      libgtk-3-0 \
-      llvm \
-      ninja-build \
-      pkg-config \
-      unzip \
-      valgrind \
-      vim
-ENV PATH /usr/lib/llvm-6.0/bin:$PATH
-
-# lib/as3 (ActionScript)
-RUN mkdir -p /usr/local/adobe/flex/4.6 && \
-      cd /usr/local/adobe/flex/4.6 && \
-      wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
-      unzip flex_sdk_4.6.zip
-ENV FLEX_HOME /usr/local/adobe/flex/4.6
-
-RUN apt-get install -y --no-install-recommends \
-      `# C++ dependencies` \
-      libboost-all-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-ENV SBCL_VERSION 1.5.3
-RUN \
-      `# Common Lisp (sbcl) dependencies` \
-      curl --version && \
-      curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
-      tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-      cd sbcl-${SBCL_VERSION}-x86-64-linux && \
-      ./install.sh && \
-      sbcl --version && \
-      cd .. && \
-      rm -rf sbcl*
-
-ENV D_VERSION     2.087.0
-ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
-RUN \
-      `# D dependencies` \
-      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-      dpkg --install ${DMD_DEB} && \
-      rm -f ${DMD_DEB} && \
-      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-libevent-2.0 && \
-      git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
-      mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-openssl-1.1.0h
-
-ENV DART_VERSION 2.7.2-1
-RUN apt-get install -y --no-install-recommends \
-      `# Dart dependencies` \
-      dart=$DART_VERSION
-ENV PATH /usr/lib/dart/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-      `# dotnet core dependencies` \
-      dotnet-sdk-8.0 \
-      dotnet-runtime-8.0 \
-      aspnetcore-runtime-8.0 \
-      dotnet-apphost-pack-8.0
-
-RUN apt-get install -y --no-install-recommends \
-      `# Erlang dependencies` \
-      erlang && \
-      wget https://s3.amazonaws.com/rebar3/rebar3 -O /usr/bin/rebar3 && \
-      chmod 755 /usr/bin/rebar3 && \
-      rebar3 --version
-
-RUN apt-get install -y --no-install-recommends \
-      `# GlibC dependencies` \
-      libglib2.0-dev
-
-# golang
-ENV GOLANG_VERSION 1.19
-ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6
-RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
-      echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-      tar -C /usr/local -xzf golang.tar.gz && \
-      ln -s /usr/local/go/bin/go /usr/local/bin && \
-      rm golang.tar.gz
-
-RUN apt-get install -y --no-install-recommends \
-      `# Haxe dependencies` \
-      haxe \
-      neko \
-      neko-dev && \
-      haxelib setup --always /usr/share/haxe/lib && \
-      haxelib install --always hxcpp 2>&1 > /dev/null
-
-ENV GRADLE_VERSION="8.4"
-RUN apt-get install -y --no-install-recommends \
-      `# Java dependencies` \
-      ant \
-      ant-optional \
-      maven \
-      openjdk-11-jdk-headless && \
-      `# Gradle` \
-      wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
-      unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
-      ln -s /usr/local/gradle/bin/gradle /usr/local/bin
-
-RUN apt-get install -y --no-install-recommends \
-      `# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev
-# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
-# lua5.3 does not install alternatives!
-# need to update our luasocket code, lua doesn't have luaL_openlib any more
-
-RUN apt-get install -y --no-install-recommends \
-      `# Node.js dependencies` \
-      nodejs
-
-# Test dependencies for running puppeteer
-RUN apt-get install -y --no-install-recommends \
-      `# JS dependencies` \
-      libxss1 \
-      libxtst6
-
-# does not work on disco?
-# RUN apt-get install -y --no-install-recommends \
-# `# OCaml dependencies` \
-#       ocaml \
-#       opam && \
-#     opam init --yes && \
-#     opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-      `# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl \
-      libtest-exception-perl
-
-RUN apt-get install -y --no-install-recommends \
-      `# Php dependencies` \
-      php \
-      php-cli \
-      php-dev \
-      php-json \
-      php-pear \
-      re2c \
-      composer
-
-RUN apt-get install -y --no-install-recommends \
-      `# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-ipaddress \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-tornado \
-      python-twisted \
-      python-wheel \
-      python-zope.interface && \
-      pip install --upgrade backports.ssl_match_hostname
-
-RUN apt-get install -y --no-install-recommends \
-      `# Python3 dependencies` \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-pip \
-      python3-setuptools \
-      python3-six \
-      python3-tornado \
-      python3-twisted \
-      python3-wheel \
-      python3-zope.interface
-
-RUN apt-get install -y --no-install-recommends \
-      `# Ruby dependencies` \
-      ruby \
-      ruby-dev \
-      ruby-bundler
-
-# Rust dependencies
-RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.65.0 -y
-ENV PATH /root/.cargo/bin:$PATH
-
-# Swift on Linux for cross tests
-# does not work on disco
-# RUN cd / && \
-#     wget --quiet https://swift.org/builds/swift-4.2.1-release/ubuntu1804/swift-4.2.1-RELEASE/swift-4.2.1-RELEASE-ubuntu18.04.tar.gz && \
-#     tar xf swift-4.2.1-RELEASE-ubuntu18.04.tar.gz --strip-components=1 && \
-#     rm swift-4.2.1-RELEASE-ubuntu18.04.tar.gz && \
-#     swift --version
-
-# Locale(s) for cpp unit tests
-RUN apt-get install -y --no-install-recommends \
-      `# Locale dependencies` \
-      locales && \
-      locale-gen en_US.UTF-8 && \
-      locale-gen de_DE.UTF-8 && \
-      update-locale
-
-# cppcheck-1.82 has a nasty cpp parser bug, so we're using something newer
-# don't need this on disco, nobody uses it
-# RUN apt-get install -y --no-install-recommends \
-# `# Static Code Analysis dependencies` \
-#       cppcheck \
-#       sloccount && \
-#     pip install flake8 && \
-#     wget -q "https://launchpad.net/ubuntu/+source/cppcheck/1.83-2/+build/14874703/+files/cppcheck_1.83-2_amd64.deb" && \
-#     dpkg -i cppcheck_1.83-2_amd64.deb && \
-#     rm cppcheck_1.83-2_amd64.deb
-
-# Clean up
-RUN rm -rf /var/cache/apt/* && \
-      rm -rf /var/lib/apt/lists/* && \
-      rm -rf /tmp/* && \
-      rm -rf /var/tmp/*
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/ubuntu-trusty/Dockerfile b/build/docker/old/ubuntu-trusty/Dockerfile
deleted file mode 100644
index 89f683e..0000000
--- a/build/docker/old/ubuntu-trusty/Dockerfile
+++ /dev/null
@@ -1,235 +0,0 @@
-# Licensed 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.
-
-#
-# Apache Thrift Docker build environment for Ubuntu Trusty
-# Using all stock Ubuntu Trusty packaging except for:
-# - d: does not come with Ubuntu so we're installing 2.070.0
-# - dart: does not come with Ubuntu so we're installing 1.20.1
-# - dotnetcore, disabled because netcore is for 1.0.0-preview and 2.0.0 is out
-# - haxe, disabled because the distro comes with 3.0.0 and it cores while installing
-# - node.js, disabled because it is at 0.10.0 in the distro which is too old (need 4+)
-# - ocaml, disabled because it fails to install properly
-#
-
-FROM buildpack-deps:trusty-scm
-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 \
-      apt \
-      apt-transport-https \
-      apt-utils \
-      curl \
-      dirmngr \
-      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 \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      llvm \
-      ninja-build \
-      pkg-config \
-      valgrind \
-      vim
-ENV PATH /usr/lib/llvm-3.8/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
-      libboost-all-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-RUN apt-get install -y --no-install-recommends \
-`# D dependencies` \
-      dmd-bin=2.070.2-0 \
-      libphobos2-dev=2.070.2-0 \
-      dub \
-      dfmt \
-      dscanner \
-      xdg-utils
-RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-    mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf libevent-master
-RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-    mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf openssl-master
-
-RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
-      dart=1.20.1-1
-ENV PATH /usr/lib/dart/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-`# Erlang dependencies` \
-      erlang-base \
-      erlang-eunit \
-      erlang-dev \
-      erlang-tools \
-      rebar
-
-RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
-      libglib2.0-dev
-
-# golang
-ENV GOLANG_VERSION 1.7.6
-ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 ad5808bf42b014c22dd7646458f631385003049ded0bb6af2efc7f1f79fa29ea
-RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
-      echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-      tar -C /usr/local -xzf golang.tar.gz && \
-      ln -s /usr/local/go/bin/go /usr/local/bin && \
-      rm golang.tar.gz
-
-# disabled because it cores while installing
-# RUN apt-get install -y --no-install-recommends \
-# `# Haxe dependencies` \
-#       haxe \
-#       neko \
-#       neko-dev && \
-#     haxelib setup /usr/share/haxe/lib && \
-#     haxelib install hxcpp 3.2.102
-
-RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
-      ant \
-      ant-optional \
-      openjdk-7-jdk \
-      maven
-
-RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
-      lua5.1 \
-      lua5.1-dev
-
-# disabled because it is too old
-# RUN apt-get install -y --no-install-recommends \
-# `# Node.js dependencies` \
-#       nodejs \
-#       npm
-
-# disabled because it fails to install properly
-# RUN apt-get install -y --no-install-recommends \
-# `# OCaml dependencies` \
-#       ocaml \
-#       opam && \
-#     opam init --yes && \
-#     opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl
-
-RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
-      php5 \
-      php5-cli \
-      php5-dev \
-      php-pear \
-      re2c && \
-      wget https://getcomposer.org/installer -O - -q | php -- --quiet --install-dir=/usr/local/bin/ --filename=composer
-
-RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-twisted \
-      python-wheel \
-      python-zope.interface \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-pip \
-      python3-setuptools \
-      python3-six \
-      python3-wheel \
-      python3-zope.interface && \
-    pip install -U ipaddress backports.ssl_match_hostname tornado && \
-    pip3 install -U backports.ssl_match_hostname tornado
-# installing tornado by pip/pip3 instead of debian package
-# if we install the debian package, the build fails in py2
-
-RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
-      ruby \
-      ruby-dev \
-      ruby-bundler
-RUN gem install bundler --no-ri --no-rdoc
-
-RUN apt-get install -y --no-install-recommends \
-`# Rust dependencies` \
-      cargo \
-      rustc
-
-RUN apt-get install -y --no-install-recommends \
-`# Static Code Analysis dependencies` \
-      cppcheck \
-      sloccount && \
-    pip install flake8
-
-# Install BouncyCastle provider to fix Java builds issues with JDK 7
-# Builds accessing repote repositories fail as seen here: https://github.com/travis-ci/travis-ci/issues/8503
-RUN apt-get install -y --no-install-recommends \
-`# BouncyCastle JCE Provider dependencies` \
-      libbcprov-java && \
-    ln -s /usr/share/java/bcprov.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/bcprov.jar && \
-    awk -F . -v OFS=. 'BEGIN{n=2}/^security\.provider/ {split($3, posAndEquals, "=");$3=n++"="posAndEquals[2];print;next} 1' /etc/java-7-openjdk/security/java.security > /tmp/java.security && \
-  echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" >> /tmp/java.security && \
-  mv /tmp/java.security /etc/java-7-openjdk/security/java.security
-
-# Clean up
-RUN rm -rf /var/cache/apt/* && \
-    rm -rf /var/lib/apt/lists/* && \
-    rm -rf /tmp/* && \
-    rm -rf /var/tmp/*
-
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src
diff --git a/build/docker/old/ubuntu-xenial/Dockerfile b/build/docker/old/ubuntu-xenial/Dockerfile
deleted file mode 100644
index d9d87cc..0000000
--- a/build/docker/old/ubuntu-xenial/Dockerfile
+++ /dev/null
@@ -1,273 +0,0 @@
-# Licensed 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.
-
-#
-# Apache Thrift Docker build environment for Ubuntu Xenial
-# Using all stock Ubuntu Xenial packaging except for:
-# - d: does not come with Ubuntu so we're installing 2.087.0 for coverage
-# - dart: does not come with Ubuntu so we're installing 2.0.0-1 for coverage
-# - dotnet: does not come with Ubuntu
-# - go: Xenial comes with 1.6, but we need 1.10 or later
-# - nodejs: Xenial comes with 4.2.6 which exits LTS April 2018, so we're installing 10.x
-# - ocaml: causes stack overflow error, just started March 2018 not sure why
-#
-
-FROM buildpack-deps:xenial-scm
-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 \
-      apt \
-      apt-transport-https \
-      apt-utils \
-      curl \
-      software-properties-common \
-      wget && \
-
-      # Dart
-      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 && \
-
-      # dotnet (core)
-      curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-      echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
-      /etc/apt/sources.list.d/dotnetdev.list && \
-
-      # node.js
-      curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-      echo "deb https://deb.nodesource.com/node_10.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list && \
-
-      # ruby 2.4
-      apt-add-repository ppa:brightbox/ruby-ng
-
-### install general dependencies
-RUN apt-get update && apt-get install -y --no-install-recommends \
-      `# General dependencies` \
-      bash-completion \
-      bison \
-      build-essential \
-      clang \
-      cmake \
-      debhelper \
-      flex \
-      gdb \
-      llvm \
-      ninja-build \
-      pkg-config \
-      valgrind \
-      vim
-ENV PATH /usr/lib/llvm-3.8/bin:$PATH
-
-### languages
-
-# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
-# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
-RUN apt-get install -y --no-install-recommends \
-      `# C++ dependencies` \
-      libboost-dev \
-      libboost-filesystem-dev \
-      libboost-program-options-dev \
-      libboost-system-dev \
-      libboost-test-dev \
-      libboost-thread-dev \
-      libevent-dev \
-      libssl-dev \
-      qt5-default \
-      qtbase5-dev \
-      qtbase5-dev-tools
-
-ENV D_VERSION     2.087.0
-ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
-RUN \
-      `# D dependencies` \
-      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-      dpkg --install ${DMD_DEB} && \
-      rm -f ${DMD_DEB} && \
-      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-libevent-2.0 && \
-      git clone -b 'v1.1.6+1.0.1g' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.0.1g && \
-      mv deimos-openssl-1.0.1g/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-      mv deimos-openssl-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
-      rm -rf deimos-openssl-1.0.1g
-
-ENV DART_VERSION 2.7.2-1
-RUN apt-get install -y --no-install-recommends \
-      `# Dart dependencies` \
-      dart=$DART_VERSION
-ENV PATH /usr/lib/dart/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-      `# dotnet core dependencies` \
-      dotnet-sdk-8.0 \
-      dotnet-runtime-8.0 \
-      aspnetcore-runtime-8.0 \
-      dotnet-apphost-pack-8.0
-
-# Erlang dependencies
-ARG ERLANG_OTP_VERSION=20.3.8.9
-ARG ERLANG_REBAR_VERSION=3.13.2
-RUN apt-get update && apt-get install -y --no-install-recommends automake libncurses5-dev && \
-      curl https://raw.githubusercontent.com/kerl/kerl/master/kerl -o /usr/local/bin/kerl && chmod +x /usr/local/bin/kerl && \
-      kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
-      curl https://s3.amazonaws.com/rebar3/rebar3 -o /usr/local/bin/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-      curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-      rebar3 --version
-ENV PATH /usr/local/lib/otp/bin:$PATH
-
-RUN apt-get install -y --no-install-recommends \
-      `# GlibC dependencies` \
-      libglib2.0-dev
-
-# golang
-ENV GOLANG_VERSION 1.18.5
-ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 9e5de37f9c49942c601b191ac5fba404b868bfc21d446d6960acc12283d6e5f2
-RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
-      echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-      tar -C /usr/local -xzf golang.tar.gz && \
-      ln -s /usr/local/go/bin/go /usr/local/bin && \
-      rm golang.tar.gz
-
-RUN apt-get install -y --no-install-recommends \
-      `# Haxe dependencies` \
-      haxe \
-      neko \
-      neko-dev \
-      libneko0 && \
-      haxelib setup --always /usr/share/haxe/lib && \
-      haxelib install --always hxcpp 3.4.64 2>&1 > /dev/null
-# note: hxcpp 3.4.185 (latest) no longer ships static libraries, and caused a build failure
-
-ENV GRADLE_VERSION="8.4"
-RUN apt-get install -y --no-install-recommends \
-      `# Java dependencies` \
-      ant \
-      ant-optional \
-      openjdk-8-jdk \
-      maven \
-      unzip && \
-      `# Gradle` \
-      wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
-      unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
-      ln -s /usr/local/gradle/bin/gradle /usr/local/bin
-
-# disabled: same as ubuntu-bionic jobs
-# RUN apt-get install -y --no-install-recommends \
-# `# Lua dependencies` \
-#       lua5.2 \
-#       lua5.2-dev
-# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
-# lua5.3 does not install alternatives so stick with 5.2 here
-
-RUN apt-get install -y --no-install-recommends \
-      `# Node.js dependencies` \
-      nodejs
-
-# Test dependencies for running puppeteer
-RUN apt-get install -y --no-install-recommends \
-      `# JS dependencies` \
-      libxss1 \
-      libxtst6 \
-      libatk-bridge2.0-0 \
-      libgtk-3-0
-
-# THRIFT-4517: causes stack overflows; version too old; skip ocaml in xenial
-# RUN apt-get install -y --no-install-recommends \
-# `# OCaml dependencies` \
-#       ocaml \
-#       opam && \
-#     opam init --yes && \
-#     opam install --yes oasis
-
-RUN apt-get install -y --no-install-recommends \
-      `# Perl dependencies` \
-      libbit-vector-perl \
-      libclass-accessor-class-perl \
-      libcrypt-ssleay-perl \
-      libio-socket-ssl-perl \
-      libnet-ssleay-perl \
-      libtest-exception-perl
-
-RUN apt-get install -y --no-install-recommends \
-      `# Php dependencies` \
-      php7.0 \
-      php7.0-cli \
-      php7.0-dev \
-      php-json \
-      php-pear \
-      re2c \
-      composer
-
-RUN apt-get install -y --no-install-recommends \
-      `# Python dependencies` \
-      python-all \
-      python-all-dbg \
-      python-all-dev \
-      python-backports.ssl-match-hostname \
-      python-ipaddress \
-      python-pip \
-      python-setuptools \
-      python-six \
-      python-tornado \
-      python-twisted \
-      python-wheel \
-      python-zope.interface \
-      python3-all \
-      python3-all-dbg \
-      python3-all-dev \
-      python3-setuptools \
-      python3-six \
-      python3-tornado \
-      python3-twisted \
-      python3-wheel \
-      python3-zope.interface && \
-      pip install --upgrade backports.ssl_match_hostname
-
-RUN apt-get install -y --no-install-recommends \
-      `# Ruby dependencies` \
-      ruby2.4 \
-      ruby2.4-dev \
-      ruby-bundler
-
-# Rust dependencies
-RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.65.0 -y
-
-# Locale(s) for cpp unit tests
-RUN apt-get install -y --no-install-recommends \
-      `# Locale dependencies` \
-      locales && \
-      locale-gen en_US.UTF-8 && \
-      locale-gen de_DE.UTF-8 && \
-      update-locale
-
-# NOTE: this does not reduce the image size but adds an additional layer.
-# # Clean up
-# RUN rm -rf /var/cache/apt/* && \
-#     rm -rf /var/lib/apt/lists/* && \
-#     rm -rf /tmp/* && \
-#     rm -rf /var/tmp/*
-
-ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
-ENV THRIFT_ROOT /thrift
-RUN mkdir -p $THRIFT_ROOT/src
-COPY Dockerfile $THRIFT_ROOT/
-WORKDIR $THRIFT_ROOT/src