summaryrefslogtreecommitdiff
path: root/scalalib/src/mill/scalalib/Dep.scala
diff options
context:
space:
mode:
Diffstat (limited to 'scalalib/src/mill/scalalib/Dep.scala')
-rw-r--r--scalalib/src/mill/scalalib/Dep.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/scalalib/src/mill/scalalib/Dep.scala b/scalalib/src/mill/scalalib/Dep.scala
index 78f454f2..f20480b7 100644
--- a/scalalib/src/mill/scalalib/Dep.scala
+++ b/scalalib/src/mill/scalalib/Dep.scala
@@ -3,6 +3,20 @@ import mill.util.JsonFormatters._
import upickle.default.{macroRW, ReadWriter => RW}
sealed trait Dep {
def configure(attributes: coursier.Attributes): Dep
+ def exclude(exclusions: (String, String)*): Dep =
+ this match {
+ case dep : Dep.Java => dep.copy(dep = dep.dep.copy(exclusions = dep.dep.exclusions ++ exclusions))
+ case dep : Dep.Scala => dep.copy(dep = dep.dep.copy(exclusions = dep.dep.exclusions ++ exclusions))
+ case dep : Dep.Point => dep.copy(dep = dep.dep.copy(exclusions = dep.dep.exclusions ++ exclusions))
+ }
+ def excludeOrg(organizations: String*): Dep = exclude(organizations.map(_ -> "*"): _*)
+ def excludeName(names: String*): Dep = exclude(names.map("*" -> _): _*)
+ def withConfiguration(configuration: String): Dep =
+ this match {
+ case dep : Dep.Java => dep.copy(dep = dep.dep.copy(configuration = configuration))
+ case dep : Dep.Scala => dep.copy(dep = dep.dep.copy(configuration = configuration))
+ case dep : Dep.Point => dep.copy(dep = dep.dep.copy(configuration = configuration))
+ }
}
object Dep{