From 498ef3652b8e1bd83efd02f3941d05cc2f9ffecf Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Mon, 11 Sep 2017 14:45:14 +0100 Subject: [PATCH 1/3] Set version to 1.0.2-SNAPSHOT --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 2affa420a..8d71e7800 100644 --- a/build.sbt +++ b/build.sbt @@ -9,7 +9,7 @@ def buildLevelSettings: Seq[Setting[_]] = inThisBuild( Seq( organization := "org.scala-sbt", - version := "1.0.1-SNAPSHOT", + version := "1.0.2-SNAPSHOT", description := "sbt is an interactive build tool", bintrayOrganization := Some("sbt"), bintrayRepository := { From 8d9a3a35d20de261b1230aeee21c1b2d559de23a Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Mon, 11 Sep 2017 14:45:40 +0100 Subject: [PATCH 2/3] Fix warnings in TaskLinterDSL.scala --- main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala b/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala index 732643a60..247f5f990 100644 --- a/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala +++ b/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala @@ -2,7 +2,7 @@ package sbt.std import sbt.SettingKey import sbt.internal.util.ConsoleAppender -import sbt.internal.util.appmacro.{ Convert, Converted, LinterDSL } +import sbt.internal.util.appmacro.{ Convert, LinterDSL } import scala.collection.mutable.{ HashSet => MutableSet } import scala.io.AnsiColor @@ -27,7 +27,7 @@ abstract class BaseTaskLinterDSL extends LinterDSL { def handleUncheckedAnnotation(exprAtUseSite: Tree, tt: TypeTree): Unit = { tt.original match { - case Annotated(annot, arg) => + case Annotated(annot, _) => Option(annot.tpe) match { case Some(AnnotatedType(annotations, _)) => val tpeAnnotations = annotations.flatMap(ann => Option(ann.tree.tpe).toList) From d3d105515a8798e5ce4eddc75d2c83591811a9e9 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Mon, 11 Sep 2017 14:46:23 +0100 Subject: [PATCH 3/3] Don't warn on by-name keys .. which is apparently what the type of bare vals in *.sbt files are. Fixes #3299, again. --- .../main/scala/sbt/std/TaskLinterDSL.scala | 2 +- .../src/test/scala/sbt/std/TaskPosSpec.scala | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala b/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala index 247f5f990..0fa3a630d 100644 --- a/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala +++ b/main-settings/src/main/scala/sbt/std/TaskLinterDSL.scala @@ -65,7 +65,7 @@ abstract class BaseTaskLinterDSL extends LinterDSL { val wrapperName = nme.decodedName.toString val (qualName, isSettingKey) = Option(qual.symbol) - .map(sym => (sym.name.decodedName.toString, sym.info <:< typeOf[SettingKey[_]])) + .map(sym => (sym.name.decodedName.toString, qual.tpe <:< typeOf[SettingKey[_]])) .getOrElse((ap.pos.lineContent, false)) if (!isSettingKey && !shouldIgnore && isTask(wrapperName, tpe.tpe, qual)) { diff --git a/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala b/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala index 451ed2bf7..eb52dbdc4 100644 --- a/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala +++ b/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala @@ -151,6 +151,15 @@ class TaskPosSpec { } } + locally { + import sbt._, Def._ + def withKey(foo: => SettingKey[String]) = { + Def.task { if (true) foo.value } + } + val foo = settingKey[String]("") + withKey(foo) + } + locally { import sbt._ import sbt.Def._ @@ -171,4 +180,17 @@ class TaskPosSpec { (1 to 10).map(_ => foo.value) } } + + locally { + import sbt._, Def._ + def withKey(bar: => SettingKey[Int]) = { + Def.task { + List(42).map { _ => + if (true) bar.value + } + } + } + val bar = settingKey[Int]("bar") + withKey(bar) + } }