Class IncrementalCacheManager
java.lang.Object
io.github.ascopes.protobufmavenplugin.sources.incremental.IncrementalCacheManager
Manager that detects situations where incremental compilation may be faster on large codebases.
- Since:
- 2.7.0
- Author:
- Ashley Scopes
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentExecutor
private static final org.slf4j.Logger
private final IncrementalCacheSerializer
private static final String
private final TemporarySpace
-
Constructor Summary
ConstructorsConstructorDescriptionIncrementalCacheManager
(ConcurrentExecutor concurrentExecutor, TemporarySpace temporarySpace, IncrementalCacheSerializer serializedIncrementalCacheSerializer) -
Method Summary
Modifier and TypeMethodDescriptionprivate IncrementalCache
buildIncrementalCache
(ProjectInputListing listing) private FutureTask
<Map.Entry<Path, String>> private FutureTask
<Map<Path, String>> private Path
private Path
private Path
isSourceFileDifferent
(IncrementalCache previousBuildCache, IncrementalCache nextBuildCache) private Optional
<IncrementalCache> readIncrementalCache
(Path path) void
private void
writeIncrementalCache
(Path path, IncrementalCache cache)
-
Field Details
-
SPEC_VERSION
- See Also:
-
log
private static final org.slf4j.Logger log -
concurrentExecutor
-
temporarySpace
-
serializedIncrementalCacheSerializer
-
-
Constructor Details
-
IncrementalCacheManager
@Inject IncrementalCacheManager(ConcurrentExecutor concurrentExecutor, TemporarySpace temporarySpace, IncrementalCacheSerializer serializedIncrementalCacheSerializer)
-
-
Method Details
-
updateIncrementalCache
- Throws:
IOException
-
determineSourcesToCompile
- Throws:
IOException
-
isSourceFileDifferent
private Predicate<Path> isSourceFileDifferent(IncrementalCache previousBuildCache, IncrementalCache nextBuildCache) -
readIncrementalCache
- Throws:
IOException
-
writeIncrementalCache
- Throws:
IOException
-
buildIncrementalCache
-
createSerializedFileDigestsAsync
private FutureTask<Map<Path,String>> createSerializedFileDigestsAsync(Collection<SourceListing> listings) -
createSerializedFileDigestAsync
-
getIncrementalCacheRoot
-
getPreviousIncrementalCachePath
-
getNextIncrementalCachePath
-