Open Bug 1108881 Opened 11 years ago Updated 3 years ago

Compile Fennec third party libraries as separate JARs

Categories

(Firefox Build System :: Android Studio and Gradle Integration, defect)

All
Android
defect

Tracking

(Not tracked)

People

(Reporter: nalexander, Unassigned)

Details

For convenience, we've dumped all our third party sources (except the Sync-only httpclient dependency) into a single thirdparty.jar. Turns out that's a significant compile-time bottle neck. This ticket tracks splitting that monolithic jar into individual jars and getting the compile pipeline more consistently full. There's a dep between some early jar (mozglue? util?) that can be shaved from thirdparty.jar to just Apache commons, I think. In order to do this properly, the Gradle configuration needs to be updated as well. In order to make the Gradle/IntelliJ integration work, we need to expand the directory hierarchy (like in Bug 1107811). (These tickets are similar but neither blocks the other.) The standard Android layout dictates that we move m/a/thirdparty/ch into m/a/thirdparty/httpandroidclientlib/src/main/java/ch. We'll add the requisite new Gradle projects at the same time, so that we get the Gradle side compile time improvements. (And free dex time improvements!)
I'd like to name the Gradle projects rather verbosely, at least at first, like thirdparty_ch_boye_httpandroiclientlib so that they sort together in IntelliJ. Unfortunately, I don't think we can group them automatically (yet?).
Product: Firefox for Android → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.