sbt

CacheIvy

object CacheIvy

InputCaches for IvyConfiguration, ModuleSettings, and UpdateConfiguration The InputCaches for a basic data structure is built in two parts. Given the data structure: Data[A,B,C, ...] 1) Define a conversion from Data to the HList A :+: B :+: C :+: ... :+: HNil, excluding any members that should not be considered for caching 2) In theory, 1) would be enough and wrapHL would generate InputCache[Data] as long as all of InputCache[A], InputCache[B], ... exist. However, if any of these child InputCaches are constructed using wrapHL, you get a diverging implicit error. (I believe scalac is generating this error as specified, but that the implicits would be valid and not be infinite. This might take some effort to come up with a new rule that allows this) 3) So, we need to explicitly define the intermediate implicits. The general approach is:

object LN {
  ... Data => HList conversions ...
}
import LN._
implicit dataCache: InputCache[Data] = wrapHL

object L(N-1) ...

Each Data in LN only uses implicits from L(N-1). This way, higher levels (higher N) cannot see the HList conversions of subcomponents but can use the explicitly defined subcomponent implicits and there is no divergence. 4) Ideally, diverging implicits could be relaxed so that the ... = wrapIn lines could be removed.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CacheIvy
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object L1

  7. object L2

  8. object L3

  9. object L4

  10. object L5

  11. implicit def artifactFormat(implicit sf: Format[String], uf: Format[Option[URL]]): Format[Artifact]

  12. implicit def artifactIC: InputCache[Artifact]

  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. implicit def authIC: InputCache[SshAuthentication]

  15. implicit def callerFormat: Format[Caller]

  16. implicit lazy val chainedIC: InputCache[ChainedResolver]

  17. implicit def classpathFormat: Format[Map[String, Seq[File]]]

  18. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. implicit def confIC: InputCache[Configuration]

  20. implicit def confReportFormat(implicit m: Format[String], mr: Format[Seq[ModuleReport]], oar: Format[Seq[OrganizationArtifactReport]], mi: Format[Seq[ModuleID]]): Format[ConfigurationReport]

  21. implicit def configurationFormat(implicit sf: Format[String]): Format[Configuration]

  22. implicit def connectionIC: InputCache[SshConnection]

  23. implicit def crossVersionFormat: Format[CrossVersion]

  24. implicit def crossVersionIC: InputCache[CrossVersion]

  25. implicit def emptyIC: InputCache[EmptyConfiguration]

  26. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  28. lazy val excludeMap: Format[Map[ModuleID, Set[String]]]

  29. implicit def exclusionIC: InputCache[ExclusionRule]

  30. implicit def exclusionRuleFormat(implicit sf: Format[String]): Format[ExclusionRule]

  31. implicit def extIvyIC: InputCache[ExternalIvyConfiguration]

  32. implicit def fileConfIC: InputCache[FileConfiguration]

  33. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  35. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  36. implicit def inlineIC: InputCache[InlineConfiguration]

  37. implicit def inlineIvyIC: InputCache[InlineIvyConfiguration]

  38. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  39. implicit def ivyConfigurationIC: InputCache[IvyConfiguration]

  40. implicit def ivyFileIC: InputCache[IvyFileConfiguration]

  41. implicit def ivyPathsIC: InputCache[IvyPaths]

  42. implicit def ivyScalaIC: InputCache[IvyScala]

  43. implicit def javaNet1IC: InputCache[JavaNet1Repository]

  44. implicit def moduleConfIC: InputCache[ModuleConfiguration]

  45. implicit def moduleIC: InputCache[ModuleID]

  46. implicit def moduleIDFormat(implicit sf: Format[String], bf: Format[Boolean]): Format[ModuleID]

  47. lazy val moduleIDSeqIC: InputCache[Seq[ModuleID]]

  48. lazy val modulePositionMapFormat: Format[Map[ModuleID, SourcePosition]]

  49. implicit def moduleReportFormat(implicit cf: Format[Seq[Caller]], ff: Format[File]): Format[ModuleReport]

  50. implicit def moduleSetIC: InputCache[Set[ModuleID]]

  51. implicit def moduleSettingsIC: InputCache[ModuleSettings]

  52. def names(s: Iterable[Configuration]): Set[String]

  53. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  54. final def notify(): Unit

    Definition Classes
    AnyRef
  55. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  56. implicit def organizationArtifactReportFormat(implicit sf: Format[String], bf: Format[Boolean], df: Format[Seq[ModuleReport]]): Format[OrganizationArtifactReport]

  57. def password(s: Option[String]): Array[Byte]

  58. implicit def patternsIC: InputCache[Patterns]

  59. implicit def pomIC: InputCache[PomConfiguration]

  60. implicit lazy val resolverIC: InputCache[Resolver]

  61. implicit def retrieveIC: InputCache[RetrieveConfiguration]

  62. implicit def sourcePositionFormat: Format[SourcePosition]

  63. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  64. def toString(): String

    Definition Classes
    AnyRef → Any
  65. implicit def updateConfIC: InputCache[UpdateConfiguration]

  66. lazy val updateIC: InputCache[Types.:+:[IvyConfiguration, Types.:+:[ModuleSettings, Types.:+:[UpdateConfiguration, HNil]]]]

  67. implicit lazy val updateReportFormat: Format[UpdateReport]

  68. implicit def updateStatsFormat: Format[UpdateStats]

  69. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  70. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. implicit def wrapHL[W, H, T <: HList](implicit f: (W) ⇒ Types.:+:[H, T], cache: InputCache[Types.:+:[H, T]]): InputCache[W]

Inherited from AnyRef

Inherited from Any

Ungrouped