From cc9d5679173ba4ba7a1456992e0d14e21635370b Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Fri, 29 May 2020 18:49:12 +0200 Subject: [PATCH] Pass some missing strict parameters to coursier (#244) --- .../scala/lmcoursier/definitions/Strict.scala | 7 ++++-- .../lmcoursier/definitions/ToCoursier.scala | 24 +++++++++++-------- .../strict-conflict-manager/build.sbt | 11 +++++++++ .../shared-2/strict-conflict-manager/test | 1 + 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/definitions/Strict.scala b/modules/lm-coursier/src/main/scala/lmcoursier/definitions/Strict.scala index f40eed74a..f5f5e6a1a 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/definitions/Strict.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/definitions/Strict.scala @@ -1,11 +1,14 @@ package lmcoursier.definitions -import dataclass.data +import dataclass._ @data class Strict( include: Set[(String, String)] = Set(("*", "*")), exclude: Set[(String, String)] = Set.empty, - ignoreIfForcedVersion: Boolean = true + ignoreIfForcedVersion: Boolean = true, + @since + includeByDefault: Boolean = false, + semVer: Boolean = false ) { def addInclude(include: (String, String)*): Strict = withInclude(this.include ++ include) diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/definitions/ToCoursier.scala b/modules/lm-coursier/src/main/scala/lmcoursier/definitions/ToCoursier.scala index dd7da1344..1d47c3d85 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/definitions/ToCoursier.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/definitions/ToCoursier.scala @@ -45,7 +45,8 @@ object ToCoursier { }, include = matcher.include map { x => coursier.util.ModuleMatcher(module(x)) - } + }, + includeByDefault = matcher.includeByDefault ) def reconciliation(r: Reconciliation): coursier.core.Reconciliation = @@ -169,15 +170,18 @@ object ToCoursier { } def strict(strict: Strict): coursier.params.rule.Strict = - coursier.params.rule.Strict( - include = strict.include.map { - case (o, n) => coursier.util.ModuleMatcher(coursier.Module(coursier.Organization(o), coursier.ModuleName(n))) - }, - exclude = strict.exclude.map { - case (o, n) => coursier.util.ModuleMatcher(coursier.Module(coursier.Organization(o), coursier.ModuleName(n))) - }, - // ignoreIfForcedVersion = strict.ignoreIfForcedVersion // should be around once the coursier version is bumped - ) + coursier.params.rule.Strict() + .withInclude(strict.include.map { + case (o, n) => + coursier.util.ModuleMatcher(coursier.Module(coursier.Organization(o), coursier.ModuleName(n))) + }) + .withExclude(strict.exclude.map { + case (o, n) => + coursier.util.ModuleMatcher(coursier.Module(coursier.Organization(o), coursier.ModuleName(n))) + }) + .withIncludeByDefault(strict.includeByDefault) + .withIgnoreIfForcedVersion(strict.ignoreIfForcedVersion) + .withSemVer(strict.semVer) def cachePolicy(r: CachePolicy): coursier.cache.CachePolicy = r match { diff --git a/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/build.sbt b/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/build.sbt index 051999109..a7a020a53 100644 --- a/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/build.sbt +++ b/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/build.sbt @@ -17,3 +17,14 @@ lazy val b = project // strict cm should be fine if we force the conflicting module version dependencyOverrides += "com.chuusai" %% "shapeless" % "2.3.3" ) + +lazy val c = project + .settings( + // no shared settings here + scalaVersion := "2.12.11", + libraryDependencies ++= Seq( + "com.github.alexarchambault" %% "argonaut-shapeless_6.2" % "1.2.0", + "com.chuusai" %% "shapeless" % "2.3.2" + ), + versionReconciliation += "com.github.alexarchambault" %% "argonaut-shapeless_6.2" % "strict" + ) diff --git a/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/test b/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/test index 0de45305f..f8c9f0b8d 100644 --- a/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/test +++ b/modules/sbt-coursier/src/sbt-test/shared-2/strict-conflict-manager/test @@ -1,2 +1,3 @@ -> a/update > b/update +> c/update