BuildDirectoryTracer

class BuildDirectoryTracer(var availBuilder: AvailBuilder, originalAfterTraceCompletes: () -> Unit)

Used for scanning all modules in all visible Avail directories and their subdirectories.

Author

Mark van Gulik

Parameters

availBuilder

The AvailBuilder for which we're tracing.

originalAfterTraceCompletes

The function to run when after module has been

Constructors

Link copied to clipboard
fun BuildDirectoryTracer(availBuilder: AvailBuilder, originalAfterTraceCompletes: () -> Unit)

Create a new tracer.

Functions

Link copied to clipboard
fun addTraceRequest(moduleRootResolver: ModuleRootResolver, moduleURI: URI)

Add a module name to traceRequests while holding the monitor.

Link copied to clipboard
fun indicateFileCompleted(moduleRootResolver: ModuleRootResolver, moduleURI: URI)

A module was just traced, so record that fact. Note that the trace was either successful or unsuccessful.

Link copied to clipboard
fun traceAllModuleHeaders(moduleAction: (ResolvedModuleName, Repository.ModuleVersion, () -> Unit) -> Unit)

Schedule a hierarchical tracing of all module files in all visible subdirectories. Do not resolve the imports. Ignore any modules that have syntax errors in their headers. Update the repositories with the latest module version information, or at least cause the version caches to treat the current versions as having been accessed most recently.

Properties

Link copied to clipboard
var availBuilder: AvailBuilder

The AvailBuilder for which we're tracing.