Since openjdk8 is dead to us (see #19113), we cannot leave openjdk8 in
the list of runtimes in client_matrix.py. The list of runtimes is now
the defaults to use, which includes master, and you can specify
alternative runtimes per-release.
Fixes#19113
This reduces the container size from 1.4 GB to 640 MB. 129 MB is
jessie, 489 MB jdk, and 22 MB grpc-java. When we swap from jessie to
stretch, we could swap to openjdk:8-jdk-slim-stretch which would make
the entire image 265 MB.
Python was never needed; it was added by mistake in 0589e533.
Pre-downloading gradle artifacts isn't helpful these days, because we
build on a clean machine. Git isn't needed as cp is sufficient. libapr1
has not been required by tcnative for a long time, and we even use
tcnative-boringssl-static since at least 1.0, which also doesn't need
it. The final cleanup is to remove source and downloaded artifacts when
done compiling.
Jessie has a line that looks like this, now-a-days, so the regex is no
longer matching:
deb http://security.debian.org/debian-security jessie/updates main
But because that line was changed, downloads are also working correctly
out-of-the-box. The sed was originally added in #18530.
All these changes need to go together to make sense
- changes to use new version of upb in bazel
- allowing includes in build target option
- script for generating c code (upb) for protos
- generated code for example protos
- adding changes for non-bazel builds
- change sanity tests to ignore the generated files.