Achieving Reproducible and Cacheable builds with Gradle and Docker on Behind the Block