sbt

CacheIvy

object CacheIvy extends AnyRef

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. Hide All
  2. Show all
  1. CacheIvy
  2. AnyRef
  3. Any
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 extends AnyRef

  7. object L2 extends AnyRef

  8. object L3 extends AnyRef

  9. object L4 extends AnyRef

  10. object L5 extends AnyRef

  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 lazy val chainedIC: InputCache[ChainedResolver]

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

  17. def clone(): AnyRef

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

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

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

  21. implicit def connectionIC: InputCache[SshConnection]

  22. implicit def crossVersionFormat: Format[CrossVersion]

  23. implicit def crossVersionIC: InputCache[CrossVersion]

  24. implicit def emptyIC: InputCache[EmptyConfiguration]

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

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

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

  28. implicit def exclusionIC: InputCache[ExclusionRule]

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

  30. implicit def extIvyIC: InputCache[ExternalIvyConfiguration]

  31. implicit def fileConfIC: InputCache[FileConfiguration]

  32. def finalize(): Unit

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

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

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

  36. implicit def inlineIvyIC: InputCache[InlineIvyConfiguration]

  37. final def isInstanceOf[T0]: Boolean

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

  39. implicit def ivyFileIC: InputCache[IvyFileConfiguration]

  40. implicit def ivyPathsIC: InputCache[IvyPaths]

  41. implicit def ivyScalaIC: InputCache[IvyScala]

  42. implicit def javaNet1IC: InputCache[JavaNet1Repository]

  43. implicit def moduleConfIC: InputCache[ModuleConfiguration]

  44. implicit def moduleIC: InputCache[ModuleID]

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

  46. implicit def moduleReportFormat(implicit ff: Format[File]): Format[ModuleReport]

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

  48. implicit def moduleSettingsIC: InputCache[ModuleSettings]

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

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

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

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

    Definition Classes
    AnyRef
  53. def password(s: Option[String]): Array[Byte]

  54. implicit def patternsIC: InputCache[Patterns]

  55. implicit def pomIC: InputCache[PomConfiguration]

  56. implicit lazy val resolverIC: InputCache[Resolver]

  57. implicit def retrieveIC: InputCache[RetrieveConfiguration]

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

    Definition Classes
    AnyRef
  59. def toString(): String

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

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

  62. implicit lazy val updateReportFormat: Format[UpdateReport]

  63. implicit def updateStatsFormat: Format[UpdateStats]

  64. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any