Package-level declarations

Types

Link copied to clipboard
interface ConfigParsable

Parses a config unit Config of a stage to populate the stage.

Link copied to clipboard
class ConfigParser(val configYaml: String)

Parses a yaml configYaml in string to ConfigT, or report ConfigErrors if parsing failed.

Link copied to clipboard
data class ConfigT(val _settings: Settings.Config, val fields: List<Pair<String, ConfigUnit>>, val parserContext: ConfigParser.Context)
Link copied to clipboard
abstract class ConfigUnit
Link copied to clipboard
Link copied to clipboard
data class MountedPaths(val graderHostRoot: Path, val envHostRoot: Path)

Stores a pair of mounted paths between the localhost and the host

Link copied to clipboard
open class PartialContext(val assignmentConfigId: Long, stageWaitDuration: Duration? = null, earlyReturnOnThrow: Boolean? = null, val envContext: EnvContext)

An incomplete Runner.Context containing part of its data This will be converted to Runner.Context before running a pipeline, as early as processing individual submissions

Link copied to clipboard
class Settings
Link copied to clipboard
data class SrcToDest(val src: String, val dst: String)

Stores a pair of source filename and destination directory for files according to their uses The source filename is a relative path (directory) reachable from the mounted context.inPaths.graderHostRoot This includes submission, template, etc.

Link copied to clipboard
abstract class SystemResources

System resources which are supported by the Grader, and can be requested by the grading configuration.

Link copied to clipboard
data class ValgrindFile(val valgrindArgs: ValgrindFile.Arguments, val exeArgs: ValgrindFile.Arguments, val status: List<ValgrindFile.Status>, val errors: List<ValgrindFile.Error>)

Functions

Link copied to clipboard
private fun String.asHexToLong(): Long
Link copied to clipboard
Link copied to clipboard
private inline fun <T : Any> ObjectMapper.parseYamlAsTree(node: JsonNode): Either<ErrorUnit.ConfigErrorUnit.ConfigFormatError, T>
private fun <T : Any> ObjectMapper.parseYamlAsTree(node: JsonNode, clazz: KClass<T>): Either<ErrorUnit.ConfigErrorUnit.ConfigFormatError, T>
Link copied to clipboard
infix fun String.sToD(dst: String): SrcToDest