Package-level declarations

Types

Link copied to clipboard
data class AnalysisResult(val message: String, val explanation: String, val retrySignal: RetrySignal, val confidence: Int, val throwableMaker: (message: String) -> Throwable)

A returned analysis result in a ShellSentryExtension.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Issue @JvmOverloads constructor(val message: String, @Json(name = "log_message") val logMessage: String, @Json(name = "grouping_hash") val groupingHash: String, @Json(name = "retry_signal") val retrySignal: RetrySignal, val description: String? = null, @Json(name = "matching_text") val matchingText: List<String> = emptyList(), @Json(name = "matching_patterns") val matchingPatterns: List<Regex> = emptyList())

An issue that can be reported to Bugsnag.

Link copied to clipboard
abstract class NoStacktraceThrowable(message: String) : Throwable

Base class for an issue that can be reported to Bugsnag. This is a Throwable for BugSnag purposes but doesn't fill in a stacktrace.

Link copied to clipboard
@JsonClass(generateAdapter = true, generator = "sealed:type")
sealed interface RetrySignal
Link copied to clipboard
data class ShellSentry(command: String, workingDir: Path, cacheDir: Path = createTempDirectory("shellsentry"), bugsnagKey: String? = null, config: ShellSentryConfig = ShellSentryConfig(), verbose: Boolean = false, debug: Boolean = false, noExit: Boolean = false, logger: (String) -> Unit = ::println, extensions: List<ShellSentryExtension> = emptyList())

Executes a command with Bugsnag tracing and retries as needed.

Link copied to clipboard
class ShellSentryCli : CliktCommand

Executes a command with Bugsnag tracing and retries as needed. This CLI is a shim over ShellSentry.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ShellSentryConfig(val version: Int = CURRENT_VERSION, @Json(name = "gradle_enterprise_server") val gradleEnterpriseServer: String? = null, @Json(name = "known_issues") val knownIssues: List<Issue> = KnownIssues::class.declaredMemberProperties.map { it.get(KnownIssues) as Issue }, @Json(name = "min_confidence") val minConfidence: Int = 75)

Represents a configuration for ShellSentryCli.

Link copied to clipboard
fun interface ShellSentryExtension

ShellSentryExtension is an extension API to bring your own, complex checkers to ShellSentry.