Description
The saker.java.processor()
task currently loads the classpath for the annotation processors by opening the files in-place. This can cause JAR files to be locked, and may prevent issues when the user tries to delete/overwrite them.
The classpath input for the task should be cached off-site, meaning that it should be copied to a location private to the saker.java.compiler bundle. The saker.nest repository provides access to such directory, and the classpaths should be copied there.
Note that this cache location is shared by all concurrently running build executions, therefore proper file-system level locking should be ensured.
The deprecated part of the ProcessorCreationContextImpl
class should be removed when this issue is done.
The ClassLoader
creation for the classpath should be cached by the build environment, so they won't be recreated between subsequent builds.
Both the bug and enhancement labels are added to the issue as it qualifies as both. Currently the issue can be easily worked around.