diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index fdd230cbe..571885178 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -273,11 +273,13 @@ class Helper( } } + val userEnabledProfiles = profile.toSet val startRes = Resolution( dependencies.toSet, forceVersions = forceVersions, - filter = Some(dep => keepOptional || !dep.optional) + filter = Some(dep => keepOptional || !dep.optional), + profileActivation = Some(core.Resolution.userProfileActivation(userEnabledProfiles)) ) val loggerFallbackMode = diff --git a/cli/src/main/scala-2.11/coursier/cli/Options.scala b/cli/src/main/scala-2.11/coursier/cli/Options.scala index 5439722a2..4fa545714 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Options.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Options.scala @@ -74,6 +74,10 @@ case class CommonOptions( @Help("Print dependencies as an inversed tree (dependees as children)") @Short("T") reverseTree: Boolean, + @Help("Enable profile") + @Value("profile") + @Short("F") + profile: List[String], @Recurse cacheOptions: CacheOptions ) { diff --git a/core/shared/src/main/scala/coursier/core/Resolution.scala b/core/shared/src/main/scala/coursier/core/Resolution.scala index c65d06acf..466e273ed 100644 --- a/core/shared/src/main/scala/coursier/core/Resolution.scala +++ b/core/shared/src/main/scala/coursier/core/Resolution.scala @@ -453,6 +453,14 @@ object Resolution { } } + def userProfileActivation(userProfiles: Set[String])( + id: String, + activation: Activation, + props: Map[String, String] + ): Boolean = + userProfiles(id) || + defaultProfileActivation(id, activation, props) + /** * Default dependency filter used during resolution. *