Object

sbt.internal.librarymanagement.mavenint

PomExtraDependencyAttributes

Related Doc: package mavenint

Permalink

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. val ExtraAttributesKey: String

    Permalink
  5. val SbtVersionKey: String

    Permalink
  6. val ScalaVersionKey: String

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. def filterCustomExtra(item: ExtendableItem, include: Boolean): Map[String, String]

    Permalink
  12. def finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def getDependencyExtra(m: Map[String, String]): Map[ModuleRevisionId, Map[String, String]]

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def qualifiedExtra(item: ExtendableItem): Map[String, String]

    Permalink
  21. def qualifiedIsExtra(k: String): Boolean

    Permalink
  22. def readDependencyExtra(s: String): Seq[ModuleRevisionId]

    Permalink

    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]]

    Permalink

    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

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

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. def transferDependencyExtraAttributes(from: Properties, to: Map[String, AnyRef]): Unit

    Permalink

    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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def writeDependencyExtra(s: Seq[DependencyDescriptor]): Seq[String]

    Permalink

    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