I think you are basically correct. For the use case you are considering, however, there are complications. You would not need to compile only the changed file, but all dependent files. For instance, if the change was to delete a method from a class, and another source file used that method it would need to be recompiled (which might generate a compile error). Handling compilation dependencies is something that Gradle wants to improve, but it's a significant effort so it might be a while yet.
Hope this helps, -- John Murph Automated Logic Research Team
