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

izumi.fundamentals.platform.resources.IzArtifact.scala Maven / Gradle / Ivy

package izumi.fundamentals.platform.resources

import izumi.fundamentals.platform.time.IzTime
import izumi.fundamentals.platform.time.IzTime.*

import java.time.{Instant, LocalDateTime}

case class IzArtifact(id: IzArtifactId, version: ArtifactVersion, build: BuildStatus, git: GitStatus) {
  def shortInfo: String = {
    s"$version @ $git, $id, ${build.timestamp.isoFormat}"
  }

  def justVersion: String = {
    s"$version @ $git, ${build.timestamp.isoFormat}"
  }

  override def toString: String = {
    s"$shortInfo (jdk: ${build.jdk}, by: ${build.user})"
  }
}

object IzArtifact {
  val UNDEFINED = "UNDEFINED"

  def undefined: IzArtifact = IzArtifact(
    IzArtifactId(UNDEFINED, UNDEFINED),
    ArtifactVersion(UNDEFINED),
    BuildStatus(UNDEFINED, UNDEFINED, UNDEFINED, LocalDateTime.ofInstant(Instant.EPOCH, IzTime.TZ_UTC)),
    GitStatus(UNDEFINED, repoClean = false, UNDEFINED),
  )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy