Open Bug 1500573 Opened 2 years ago Updated 2 years ago

Skip building of Java bits for annotation processing when able

Categories

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

59 Branch
enhancement

Tracking

(Not tracked)

People

(Reporter: snorp, Unassigned)

References

(Blocks 1 open bug)

Details

Currently it looks like 'mach build' always does a Java build and processes the annotations, even if nothing changed.
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #0)
> Currently it looks like 'mach build' always does a Java build and processes
> the annotations, even if nothing changed.

This is true, more or less, although it's a no-op when nothing has changed.  Logs would convince me that we're doing too much.  I do believe we invoke the annotation processor, even when we don't need to, and trust that the processor doesn't write files when they're unchanged -- we could save that.

Saving all the run-up -- the Java jobs, etc -- would be possible (maybe?) but fragile.

One thing that you might be seeing is that |mach build| processes the annotations for the _official..._ target, and in the IDE you'll be modifying the _local..._ targets.  Those annotations can, in theory be different.  This means you'll see "extra" Java compilation just 'cuz we're duplicating work.  Avoiding that is Rather Complicated, and I don't have a good plan for that yet.
Product: Firefox for Android → Firefox Build System
Version: Firefox 59 → 59 Branch
You need to log in before you can comment on or make changes to this bug.