All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.lunatech.cmt.Domain.scala Maven / Gradle / Ivy

The newest version!
package com.lunatech.cmt

import sbt.io.syntax.{File, file}

object Domain {

  final case class StudentifiedRepo(value: File)
  object StudentifiedRepo:
    val default: StudentifiedRepo = StudentifiedRepo(file(".").getAbsoluteFile.getParentFile)

  sealed trait InstallationSource
  object InstallationSource:
    final case class LocalDirectory(value: File) extends InstallationSource
    final case class ZipFile(value: File) extends InstallationSource
    final case class GithubProject(organisation: String, project: String, tag: Option[String])
        extends InstallationSource {
      val displayName: String =
        if tag.isEmpty then s"$organisation/$project" else s"$organisation/$project/${tag.getOrElse("")}"
    }
  end InstallationSource
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy