summaryrefslogtreecommitdiff
path: root/scalalib
diff options
context:
space:
mode:
Diffstat (limited to 'scalalib')
-rw-r--r--scalalib/src/mill/scalalib/Dep.scala10
-rw-r--r--scalalib/src/mill/scalalib/publish/Ivy.scala6
-rw-r--r--scalalib/src/mill/scalalib/publish/Pom.scala2
-rw-r--r--scalalib/test/src/mill/scalalib/ResolveDepsTests.scala8
4 files changed, 18 insertions, 8 deletions
diff --git a/scalalib/src/mill/scalalib/Dep.scala b/scalalib/src/mill/scalalib/Dep.scala
index 84aa6576..9719bd2d 100644
--- a/scalalib/src/mill/scalalib/Dep.scala
+++ b/scalalib/src/mill/scalalib/Dep.scala
@@ -24,6 +24,8 @@ sealed trait Dep {
}
object Dep{
+ val DefaultConfiguration = "default(compile)"
+
implicit def parse(signature: String) = {
val parts = signature.split(';')
val module = parts.head
@@ -45,7 +47,7 @@ object Dep{
}).configure(attributes = attributes)
}
def apply(org: String, name: String, version: String, cross: Boolean): Dep = {
- this(coursier.Dependency(coursier.Module(org, name), version), cross)
+ this(coursier.Dependency(coursier.Module(org, name), version, DefaultConfiguration), cross)
}
case class Java(dep: coursier.Dependency, cross: Boolean, force: Boolean) extends Dep {
def configure(attributes: coursier.Attributes): Dep = copy(dep = dep.copy(attributes = attributes))
@@ -53,7 +55,7 @@ object Dep{
object Java{
implicit def rw: RW[Java] = macroRW
def apply(org: String, name: String, version: String, cross: Boolean, force: Boolean): Dep = {
- Java(coursier.Dependency(coursier.Module(org, name), version), cross, force)
+ Java(coursier.Dependency(coursier.Module(org, name), version, DefaultConfiguration), cross, force)
}
}
implicit def default(dep: coursier.Dependency): Dep = new Java(dep, false, false)
@@ -64,7 +66,7 @@ object Dep{
object Scala{
implicit def rw: RW[Scala] = macroRW
def apply(org: String, name: String, version: String, cross: Boolean, force: Boolean): Dep = {
- Scala(coursier.Dependency(coursier.Module(org, name), version), cross, force)
+ Scala(coursier.Dependency(coursier.Module(org, name), version, DefaultConfiguration), cross, force)
}
}
case class Point(dep: coursier.Dependency, cross: Boolean, force: Boolean) extends Dep {
@@ -73,7 +75,7 @@ object Dep{
object Point{
implicit def rw: RW[Point] = macroRW
def apply(org: String, name: String, version: String, cross: Boolean, force: Boolean): Dep = {
- Point(coursier.Dependency(coursier.Module(org, name), version), cross, force)
+ Point(coursier.Dependency(coursier.Module(org, name), version, DefaultConfiguration), cross, force)
}
}
implicit def rw = RW.merge[Dep](
diff --git a/scalalib/src/mill/scalalib/publish/Ivy.scala b/scalalib/src/mill/scalalib/publish/Ivy.scala
index 3b271fa8..22e26ff6 100644
--- a/scalalib/src/mill/scalalib/publish/Ivy.scala
+++ b/scalalib/src/mill/scalalib/publish/Ivy.scala
@@ -42,10 +42,10 @@ object Ivy {
private def renderDependency(dep: Dependency) = {
if (dep.exclusions.isEmpty)
- <dependency org={dep.artifact.group} name={dep.artifact.id} rev={dep.artifact.version} conf={s"${dep.scope}->default(${dep.configuration.getOrElse("compile")})"} />
+ <dependency org={dep.artifact.group} name={dep.artifact.id} rev={dep.artifact.version} conf={s"${scopeToConf(dep.scope)}->${dep.configuration.getOrElse("default(compile)")}"} />
else
- <dependency org={dep.artifact.group} name={dep.artifact.id} rev={dep.artifact.version} conf={s"${dep.scope}->default(${dep.configuration.getOrElse("compile")})"}>
- {dep.exclusions.map(ex => <exclude org={ex._1} name={ex._2} matcher="exact"/>).toSeq}
+ <dependency org={dep.artifact.group} name={dep.artifact.id} rev={dep.artifact.version} conf={s"${scopeToConf(dep.scope)}->${dep.configuration.getOrElse("default(compile)")}"}>
+ {dep.exclusions.map(ex => <exclude org={ex._1} name={ex._2} matcher="exact"/>)}
</dependency>
}
diff --git a/scalalib/src/mill/scalalib/publish/Pom.scala b/scalalib/src/mill/scalalib/publish/Pom.scala
index 3c8ba4dc..84cf0632 100644
--- a/scalalib/src/mill/scalalib/publish/Pom.scala
+++ b/scalalib/src/mill/scalalib/publish/Pom.scala
@@ -108,7 +108,7 @@ object Pom {
<groupId>{ex._1}</groupId>
<artifactId>{ex._2}</artifactId>
</exclude>
- )}.toSeq
+ )}
</exclusions>
{scope}
</dependency>
diff --git a/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala b/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala
index b1fcec3e..861fa312 100644
--- a/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala
+++ b/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala
@@ -26,6 +26,14 @@ object ResolveDepsTests extends TestSuite {
assert(paths.items.next.path.toString.contains("natives-macos"))
}
+ 'resolveTransitiveRuntimeDeps - {
+ val deps = Agg(ivy"org.mockito:mockito-core:2.7.22")
+ val Success(paths) = evalDeps(deps)
+ assert(paths.nonEmpty)
+ assert(paths.exists(_.path.toString.contains("objenesis")))
+ assert(paths.exists(_.path.toString.contains("byte-buddy")))
+ }
+
'excludeTransitiveDeps - {
val deps = Agg(ivy"com.lihaoyi::pprint:0.5.3".exclude("com.lihaoyi" -> "fansi_2.12"))
val Success(paths) = evalDeps(deps)