Packages

o

sbt.internal.librarymanagement.mavenint

PomExtraDependencyAttributes

object PomExtraDependencyAttributes

This class contains all the logic for dealing with the extra attributes in pom files relating to extra attributes on dependency declarations.

Specifically, if we have a dependency on an sbt plugin, there are two properties that need to propogate: - sbtVersion - scalaVersion

These need to exist on the *dependency declaration*. Maven/Aether has no way to inject these into the <dependency> section of pom files, so we use Ivy's Extra attribute hackery to inject a lookup table of extra attributes by dependency id into POM files and later we read these back.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PomExtraDependencyAttributes
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val ExtraAttributesKey: String
  5. val SbtVersionKey: String
  6. val ScalaVersionKey: String
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def filterCustomExtra(item: ExtendableItem, include: Boolean): Map[String, String]
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  14. def getDependencyExtra(m: Map[String, String]): Map[ModuleRevisionId, Map[String, String]]

    Reads the extra dependency information out of Ivy's notion of POM properties and returns the map of ID -> Extra Properties.

  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  20. def qualifiedExtra(item: ExtendableItem): Map[String, String]
  21. def qualifiedIsExtra(k: String): Boolean
  22. def readDependencyExtra(s: String): Seq[ModuleRevisionId]

    parses the sequence of dependencies with extra attribute information, with one dependency per line

  23. def readFromAether(props: Map[String, AnyRef]): Map[ModuleRevisionId, Map[String, String]]

    Reads the extra dependency attributes out of a maven property.

    Reads the extra dependency attributes out of a maven property.

    props

    The properties from an Aether resolution.

    returns

    A map of module id to extra dependency attributes associated with dependencies on that module.

  24. def simplify(id: ModuleRevisionId): ModuleRevisionId
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. def transferDependencyExtraAttributes(from: Properties, to: Map[String, AnyRef]): Unit

    Mutates the to collection with the extra depdendency attributes from the incoming pom properties list.

    Mutates the to collection with the extra depdendency attributes from the incoming pom properties list.

    from

    The properties directly off a maven POM file

    to

    The aaether properties where we can write whatever we want. TODO - maybe we can just parse this directly here. Note the readFromAether method uses whatever we set here.

  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def writeDependencyExtra(s: Seq[DependencyDescriptor]): Seq[String]

    Creates the "extra" property values for DependencyDescriptors that can be written into a maven pom so we don't loose the information.

Inherited from AnyRef

Inherited from Any

Ungrouped