Last time I shared an in-depth look at JVM Options. This week, I have a quick tidbit about resolving build issues in Bitrise.
It happens to everyone. Inevitably, your CI system will fail to build your app, and you'll have no idea why.
This week, my project experienced an error that looked like this:
Ensure required Android SDK components Retrying… Failed to ensure android components, error: output: Picked up _JAVA_OPTIONS: -Xms512m -Xmx2g FAILURE: Build failed with an exception. * What went wrong: Could not load compiled classes for settings file '/bitrise/src/settings.gradle' from cache. Expected class file /root/.gradle/caches/jars-8/c09e2a1b661a58f8283b8fe94748d8fd/settings.jar/settings_2fggozq45hw451w290ssabnr7.class does not exist. > settings_2fggozq45hw451w290ssabnr7
I don't know about you, but at this point in 2020 this looks like mostly gibberish to me. Thankfully, one of my coworkers was able to decipher this a little better than I was, and had the idea to clear Bitrise's cache.
Thankfully, his idea did the trick! So, if you're using Bitrise, how do you clear the caches? You can find the instructions here: https://devcenter.bitrise.io/builds/caching/about-caching-index/#downloading-and-deleting-caches
I'm not sure why the cache became seemingly corrupted, and I'll probably never know. I'm ok with that though, because as Phil Karlton, one of the developers of Netscape famously once said:
There are only two hard things in Computer Science: cache invalidation and naming things.
Sometimes you have to be ok with a little uncertainty. ;-)
What are your favorite CS quotes/maxims/sayings? Share in the comments below! And, please follow me on Medium if you're interested in being notified of future tidbits.
This tidbit was discovered on December 10, 2020.