Package-level declarations

Types

Link copied to clipboard
open class BuildFileParseStage(aetherContext: AetherContext, logger: RunnerLogger) : ClasspathStage

Stage 3 of the LST classpath-resolution pipeline: parse build descriptors statically (no subprocess) and resolve declared dependencies via full POM traversal using Maven Resolver (Eclipse Aether).

Link copied to clipboard
interface ClasspathStage

One stage in the ordered LST classpath-resolution fall-through chain.

Link copied to clipboard
open class DependencyResolutionStage(aetherContext: AetherContext, logger: RunnerLogger, processTimeout: Duration = ToolConfigDefaults.SUBPROCESS_RUN_TIMEOUT) : ClasspathStage

Stage 2 of the LST classpath-resolution pipeline: invoke the project's build tool as a subprocess to obtain a fully-resolved dependency list, then download any missing JARs via Maven Resolver (Eclipse Aether).

Link copied to clipboard
open class LocalRepositoryStage(projectDir: Path, val logger: RunnerLogger)

Stage 4 of the LST classpath-resolution pipeline: assemble the best available classpath from local caches, without downloading anything.

Link copied to clipboard
open class LstBuilder(logger: RunnerLogger, cacheDir: Path, toolConfig: ToolConfig, aetherContext: AetherContext = AetherContext.build( localRepoDir = Paths.get(System.getProperty("user.home"), ".m2", "repository"), extraRepositories = toolConfig.resolvedArtifactRepositories(), connectTimeout = toolConfig.artifactResolverConnectTimeout, requestTimeout = toolConfig.artifactResolverRequestTimeout, downloadThreads = toolConfig.artifactDownloadThreads, includeMavenCentral = toolConfig.includeMavenCentral, logger = logger ), projectBuildStage: ProjectBuildStage = ProjectBuildStage( logger, toolConfig.subprocessRunTimeout ), depResolutionStage: DependencyResolutionStage = DependencyResolutionStage( aetherContext, logger, toolConfig.subprocessRunTimeout ), buildFileParseStage: BuildFileParseStage = BuildFileParseStage( aetherContext, logger ))

Orchestrates the 4-stage LST building pipeline and multi-language file parsing.

Link copied to clipboard
data class LstBuildResult(val sourceFiles: List<SourceFile>, val executionDiagnostics: ExecutionDiagnostics)

Result of a single LstBuilder.build invocation.

Link copied to clipboard
open class ProjectBuildStage(logger: RunnerLogger, processTimeout: Duration = ToolConfigDefaults.SUBPROCESS_RUN_TIMEOUT, gradleProjectDataCollector: (Path) -> Map<String, GradleProjectData>? = { null }) : ClasspathStage

Stage 1 of the LST classpath-resolution pipeline: extract the project's compile classpath by invoking its own build tool (Maven or Gradle).

Link copied to clipboard