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.
- Alphabetic
- By Inheritance
- PomExtraDependencyAttributes
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val ExtraAttributesKey: String
- val SbtVersionKey: String
- val ScalaVersionKey: String
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def filterCustomExtra(item: ExtendableItem, include: Boolean): Map[String, String]
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def qualifiedExtra(item: ExtendableItem): Map[String, String]
- def qualifiedIsExtra(k: String): Boolean
-
def
readDependencyExtra(s: String): Seq[ModuleRevisionId]
parses the sequence of dependencies with extra attribute information, with one dependency per line
-
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.
- def simplify(id: ModuleRevisionId): ModuleRevisionId
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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.