Я определил ключ настроек внутри объекта Tasks
object Tasks {
lazy val shouldCheckSnapshotDeps: SettingKey[Boolean] = settingKey[Boolean](
"Should enforce SNAPSHOT check 'checkSnapshotDependencies'"
)
lazy val checkSnapshotDependencies: TaskKey[Unit] = taskKey[Unit](
"Checks for SNAPSHOT dependencies and raise exception if any"
)
class SnapshotDepsException(message: String) extends FeedbackProvidedException
lazy val checkSnapshotDependenciesTask: Def.Initialize[Task[Unit]] = Def.task {
val moduleIds = (managedClasspath in Runtime).value.flatMap(_.get(moduleID.key))
val snapshotModules = moduleIds.filter(m => m.isChanging || m.revision.endsWith("-SNAPSHOT"))
if (snapshotModules.nonEmpty && shouldCheckSnapshotDeps.value) {
val message = s"Found SNAPSHOT versions for ${snapshotModules.mkString(System.lineSeparator())}." +
s" SNAPSHOTS are not allowed. Set settings for 'shouldCheckSnapshotDeps' to suppress this check"
sys.error(message)
throw new SnapshotDepsException(message)
}
}
}
Я пытаюсь установить значение с помощью sbt 'set Tasks.shouldCheckSnapshotDeps := false'
.Однако новое значение настроек, установленное с помощью командной строки, похоже, не вступает в силу.Также в журналах я вижу ниже:
[info] Defining root/*:shouldCheckSnapshotDeps
[info] The new value will be used by no settings or tasks.
[info] Reapplying settings...
Строка The new value will be used by no settings or tasks.
, кажется, передает мою проблему.
Значение по умолчанию для настроек устанавливается с помощью
shouldCheckSnapshotDeps := true,
checkSnapshotDependencies := checkSnapshotDependenciesTask.value
Почемуновые значения параметров, установленные с помощью sbt 'set Tasks.shouldCheckSnapshotDeps := false'
НЕ эффективны?
Task.scala находится как project/Task.scala
в файловой системе