This is a Pickling workaround so we can generate Scala docs

This commit is contained in:
Eugene Yokota 2016-02-23 04:02:33 -05:00
parent 1fe99df985
commit 4775368d07
5 changed files with 16 additions and 0 deletions

View File

@ -80,6 +80,8 @@ object Artifact {
private val stringStringMapPickler = implicitly[Pickler[Map[String, String]]]
private val stringStringMapUnpickler = implicitly[Unpickler[Map[String, String]]]
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[Artifact] = new Pickler[Artifact] {
val tag = implicitly[FastTypeTag[Artifact]]
val stringTag = implicitly[FastTypeTag[String]]

View File

@ -9,6 +9,8 @@ final case class ScalaVersion(full: String, binary: String)
sealed trait CrossVersion
object CrossVersion {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
/** The first `major.minor` Scala version that the Scala binary version should be used for cross-versioning instead of the full version. */
val TransitionScalaVersion = CrossVersionUtil.TransitionScalaVersion

View File

@ -79,10 +79,14 @@ private[sbt] object JsonUtil {
private[sbt] case class UpdateReportLite(configurations: Seq[ConfigurationReportLite])
private[sbt] object UpdateReportLite {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[UpdateReportLite] with Unpickler[UpdateReportLite] = PicklerUnpickler.generate[UpdateReportLite]
}
private[sbt] case class ConfigurationReportLite(configuration: String, details: Seq[OrganizationArtifactReport])
private[sbt] object ConfigurationReportLite {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[ConfigurationReportLite] with Unpickler[ConfigurationReportLite] = PicklerUnpickler.generate[ConfigurationReportLite]
}

View File

@ -120,6 +120,8 @@ final case class ModuleID(organization: String, name: String, revision: String,
def jar() = artifacts(Artifact(name))
}
object ModuleID {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[ModuleID] with Unpickler[ModuleID] = PicklerUnpickler.generate[ModuleID]
/** Prefixes all keys with `e:` if they are not already so prefixed. */

View File

@ -44,6 +44,7 @@ final class ConfigurationReport(
new ConfigurationReport(configuration, modules map { _.retrieve((mid, art, file) => f(configuration, mid, art, file)) }, details, evicted)
}
object ConfigurationReport {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[ConfigurationReport] with Unpickler[ConfigurationReport] = PicklerUnpickler.generate[ConfigurationReport]
}
@ -68,6 +69,7 @@ final class OrganizationArtifactReport private[sbt] (
}
}
object OrganizationArtifactReport {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit val pickler: Pickler[OrganizationArtifactReport] with Unpickler[OrganizationArtifactReport] = PicklerUnpickler.generate[OrganizationArtifactReport]
def apply(organization: String, name: String, modules: Seq[ModuleReport]): OrganizationArtifactReport =
@ -162,6 +164,8 @@ final class ModuleReport(
}
object ModuleReport {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
def apply(module: ModuleID, artifacts: Seq[(Artifact, File)], missingArtifacts: Seq[Artifact]): ModuleReport =
new ModuleReport(module, artifacts, missingArtifacts, None, None, None, None,
false, None, None, None, None, Map(), None, None, Nil, Nil, Nil)
@ -233,6 +237,8 @@ final class UpdateReport(val cachedDescriptor: File, val configurations: Seq[Con
}
object UpdateReport {
implicit def fasttypetag[A]: FastTypeTag[A] = ???
implicit def richUpdateReport(report: UpdateReport): RichUpdateReport = new RichUpdateReport(report)
/** Provides extra methods for filtering the contents of an `UpdateReport` and for obtaining references to a selected subset of the underlying files. */