Improving Build Performance of LINE for iOS with Bazel

Over the years, the LINE for iOS source tree has grown to a size of hundreds of modules. As of late 2019, the project consists of more than 1.4 million lines of code, and it still doesn’t show any sign of stopping to increase. This in turn, tripped up the build times for all the developers who work on the project. In addition, as the project grew we started to see more unreproducible problems. For instance, the builds work locally but not on CI and vice versa. We took a step back and thought about how we can improve the performance and the reproducibility of our builds.