mirror of https://github.com/sbt/sbt.git
39 lines
1.1 KiB
Scala
39 lines
1.1 KiB
Scala
|
|
package coursier
|
||
|
|
|
||
|
|
import java.io.File
|
||
|
|
|
||
|
|
sealed abstract class FileError(val message: String) extends Product with Serializable
|
||
|
|
|
||
|
|
object FileError {
|
||
|
|
|
||
|
|
final case class DownloadError(reason: String) extends FileError(s"Download error: $reason")
|
||
|
|
|
||
|
|
final case class NotFound(
|
||
|
|
file: String,
|
||
|
|
permanent: Option[Boolean] = None
|
||
|
|
) extends FileError(s"Not found: $file")
|
||
|
|
|
||
|
|
final case class ChecksumNotFound(
|
||
|
|
sumType: String,
|
||
|
|
file: String
|
||
|
|
) extends FileError(s"$sumType checksum not found: $file")
|
||
|
|
|
||
|
|
final case class ChecksumFormatError(
|
||
|
|
sumType: String,
|
||
|
|
file: String
|
||
|
|
) extends FileError(s"Unrecognized $sumType checksum format in $file")
|
||
|
|
|
||
|
|
final case class WrongChecksum(
|
||
|
|
sumType: String,
|
||
|
|
got: String,
|
||
|
|
expected: String,
|
||
|
|
file: String,
|
||
|
|
sumFile: String
|
||
|
|
) extends FileError(s"$sumType checksum validation failed: $file")
|
||
|
|
|
||
|
|
sealed abstract class Recoverable(message: String) extends FileError(message)
|
||
|
|
final case class Locked(file: File) extends Recoverable(s"Locked: $file")
|
||
|
|
final case class ConcurrentDownload(url: String) extends Recoverable(s"Concurrent download: $url")
|
||
|
|
|
||
|
|
}
|