Package-level declarations

Types

Link copied to clipboard
interface Checkout

The files of a checkout. Paths are relative to the checkout root, with / separators.

Link copied to clipboard
data class CiAction(val uses: String, val with: List<Pair<String, String>>, val source: Source)
Link copied to clipboard
data class CiCase(val dir: String, val job: String, val image: String?, val basis: String?)

What --from-ci read from a case that drift ci wrote, and the image chosen from it.

Link copied to clipboard
data class CiFacts(val job: CiJobFacts?, val jobsFound: List<String>, val files: List<String>, val case: CiCase?, val notes: List<String>)
Link copied to clipboard
data class CiJobFacts(val provider: String, val file: String, val id: String, val line: Int, val runner: String?, val image: String?, val services: List<CiService>, val actions: List<CiAction>, val steps: List<CiStep>, val cell: List<Pair<String, String>>, val notes: List<String>)
Link copied to clipboard
data class CiService(val name: String, val image: String?, val line: Int)
Link copied to clipboard
data class CiStep(val index: Int, val name: String?, val command: String, val source: Source, val directory: String? = null, val condition: String? = null)
Link copied to clipboard
data class EcosystemFacts(val id: String, val manifests: List<Source>, val manager: String?, val managerSource: Source?, val lockfiles: List<Source>, val needsLockfile: Boolean, val pins: List<Pin>, val install: Install?, val named: List<Named>, val workspaces: List<Workspace>, val notes: List<String>)
Link copied to clipboard
object Handsoff

Says which tools a checkout uses, which commands CI ran, where they would run and what the plan leaves out. It reads files and nothing else: no process starts here (a Checkout may list a directory) and no network call is made.

Link copied to clipboard
data class HandsoffPlan(val checkout: String, val root: String, val ecosystems: List<EcosystemFacts>, val notRead: List<String>, val ci: CiFacts?, val stops: List<Stop>, val commands: List<PlannedCommand>, val image: String?, val imageBasis: String?, val byHand: List<String>, val readFiles: List<String>)

The result of planning one checkout; nothing in it has been run.

Link copied to clipboard
Link copied to clipboard
data class HandsoffRequest(val root: String = "", val job: String? = null, val workflow: String? = null, val fromCi: String? = null, val cell: List<Pair<String, String>> = emptyList(), val lockfile: String? = null, val acceptNoLockfile: Boolean = false, val testCommand: String? = null, val runtime: List<Pair<String, String>> = emptyList())
Link copied to clipboard
class HostCheckout(host: Host, root: String) : Checkout

Reads a checkout through Host.readText. Listing a directory is the one thing a Host has no call for, so it starts ls -1 <dir>, which reads a directory and executes nothing from it.

Link copied to clipboard
data class Install(val command: String, val why: String, val source: Source?)

How the install step is chosen: why names the file or flag that made it the choice.

Link copied to clipboard
data class Named(val kind: String, val name: String, val detail: String?, val command: String?, val source: Source, val test: Boolean = false)

A command the repository names: a package script, a Makefile target, a justfile recipe, a tox environment or a nox session. command is how to run it, or null when no page that was fetched documents that, in which case it is listed and never planned.

Link copied to clipboard
data class Pin(val tool: String, val value: String, val label: String, val source: Source)

A runtime or tool version a file pins; label says which setting held it.

Link copied to clipboard
data class PlannedCommand(val command: String, val source: String)
Link copied to clipboard
data class Source(val file: String, val line: Int? = null)

A file, and the line of it that a fact came from when the line is known.

Link copied to clipboard
data class Stop(val kind: StopKind, val what: String, val question: String)

What is ambiguous (what) and the one question the person has to answer (question).

Link copied to clipboard

The questions a stop can ask; each has the flag that answers it.

Link copied to clipboard
data class Workspace(val pattern: String, val source: Source)

Properties

Link copied to clipboard

The setting and place a pin came from, without repeating a file name.