When using sbt-ci-release with sbt 2.x, the following lintUnused warnings appear:
[warn] there are 3 keys that are not used by any other settings/tasks:
[warn]
[warn] * ThisBuild / gitUncommittedChanges
[warn] +- ThisBuild / gitUncommittedChanges := gitReader.value.withGit(_.hasUncommittedChanges):135
[warn] * ThisBuild / scmInfo
[warn] +- scmInfo := parseScmInfo(gitReader.value.withGit(_.remoteOrigin)):136
[warn] +- scmInfo ~= {
[warn] case Some(info) => Some(info)
[warn] case None =>
[warn] import scala.sys.process._
[warn] val identifier = """([^\/]+?)"""
[warn] val GitHubHttps =
[warn] s"https://github.com/$identifier/$identifier(?:\\.git)?".r
[warn] val GitHubGit = s"git://github.com:$identifier/$identifier(?:\\.git)?".r
[warn] val GitHubSsh = s"git@github.com:$identifier/$identifier(?:\\.git)?".r
[warn] try {
[warn] val remote = List("git", "ls-remote", "--get-url", "origin").!!.trim()
[warn] remote match {
[warn] case GitHubHttps(user, repo) => Some(gitHubScmInfo(user, repo))
[warn] case GitHubGit(user, repo) => Some(gitHubScmInfo(user, repo))
[warn] case GitHubSsh(user, repo) => Some(gitHubScmInfo(user, repo))
[warn] case _ => None
[warn] }
[warn] } catch {
[warn] case NonFatal(_) => None
[warn] }
[warn] }:120
[warn] * root / gitDescribedVersion
[warn] +- gitDescribedVersion := {
[warn] val projectPatterns = gitDescribePatterns.value
[warn] val buildPatterns = (ThisBuild / gitDescribePatterns).value
[warn] val projectTagToVersionNumber = gitTagToVersionNumber.value
[warn] val buildTagToVersionNumber = (ThisBuild / gitTagToVersionNumber).value
[warn] if (projectPatterns == buildPatterns && projectTagToVersionNumber == buildTagToVersionNumber)
[warn] (ThisBuild / gitDescribedVersion).value
[warn] else gitReader.value.withGit(_.describedVersion(projectPatterns)).map(v => projectTagToVersionNumber(v).getOrElse(v))
[warn] }:167
[warn]
[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
These keys are set by the plugin but consumed only by commands (e.g. ci-release), not by other settings — hence the false-positive warning.
Expected: no warnings from sbt-ci-release keys out of the box.
Suggested fix: in the plugin itself, mark these keys with .withRank(KeyRanks.Invisible) or add them to Global / excludeLintKeys from within the plugin's buildSettings/globalSettings.
Environment:
- sbt: 2.0.0
- sbt-ci-release: 1.11.2
When using sbt-ci-release with sbt 2.x, the following lintUnused warnings appear:
These keys are set by the plugin but consumed only by commands (e.g. ci-release), not by other settings — hence the false-positive warning.
Expected: no warnings from sbt-ci-release keys out of the box.
Suggested fix: in the plugin itself, mark these keys with .withRank(KeyRanks.Invisible) or add them to Global / excludeLintKeys from within the plugin's buildSettings/globalSettings.
Environment: