THRIFT-5574: add ubuntu focal build (#2528)

* add ubuntu focal build

* remove py2 in focal

* indentation

* apply latest updates

* update swift version

* use java 17 in focal

* adopt focal
diff --git a/.travis.yml b/.travis.yml
index e511c47..9b00fc6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -26,7 +26,7 @@
 
 sudo: required
 # https://docs.travis-ci.com/user/reference/linux
-dist: xenial
+dist: focal
 language: cpp
 
 services:
@@ -47,7 +47,7 @@
     - SCRIPT="cmake.sh"
     - BUILD_ARG=""
     - BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
-    - DISTRO=ubuntu-bionic
+    - DISTRO=ubuntu-focal
     - BUILD_LIBS="CPP C_GLIB JAVA PYTHON TESTING TUTORIALS"  # only meaningful for CMake builds
     - TRAVIS_BUILD_STAGE=test
     # DOCKER_REPO (this works for all builds as a source for docker images - you can override for fork builds in your Travis settings)
@@ -69,6 +69,11 @@
         - JOB="Docker Build ubuntu-bionic 18.04 LTS"
         - DISTRO=ubuntu-bionic
         - TRAVIS_BUILD_STAGE=docker
+    - script: true
+      env:
+        - JOB="Docker Build ubuntu-focal 20.04 LTS"
+        - DISTRO=ubuntu-focal
+        - TRAVIS_BUILD_STAGE=docker
 
     # ========================= stage: thrift =======================
     # ------------------------- phase: cross ------------------------
@@ -123,6 +128,12 @@
         - DISTRO=ubuntu-xenial
         - SCRIPT="autotools.sh"
 
+    - script: build/docker/run.sh
+      env:
+        - JOB="Autotools (Ubuntu Focal)"
+        - DISTRO=ubuntu-focal
+        - SCRIPT="autotools.sh"
+
     # ------------------------- phase: cmake ------------------------
     - script: build/docker/run.sh
       env: