8000 Refactor saker.java.processor implementation to employ classpath caching in the bundle storage · Issue #1 · sakerbuild/saker.java.compiler · GitHub
[go: up one dir, main page]

Skip to content
Refactor saker.java.processor implementation to employ classpath caching in the bundle storage #1
Closed
@Sipkab

Description

@Sipkab

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0