Merge pull request #1318 from sbt/topic/1314

Check for object autoImport in auto plugins.
This commit is contained in:
Josh Suereth 2014-05-09 08:43:24 -04:00
commit 4fbd376afb
3 changed files with 8 additions and 2 deletions

View File

@ -319,7 +319,7 @@ ${listConflicts(conflicting)}""")
val hasGetterOpt = catching(classOf[ScalaReflectionException]) opt {
im.symbol.asType.toType.declaration(ru.newTermName("autoImport")) match {
case ru.NoSymbol => false
case sym => sym.asTerm.isGetter
case sym => sym.asTerm.isGetter || sym.asTerm.isModule
}
}
hasGetterOpt getOrElse false

View File

@ -33,6 +33,8 @@ check := {
same(optInValue, " Q S R", "del in projE in q")
}
keyTest := "foo"
def same[T](actual: T, expected: T, label: String) {
assert(actual == expected, s"Expected '$expected' for `$label`, got '$actual'")
}

View File

@ -28,6 +28,10 @@ object X extends AutoPlugin {
object D extends AutoPlugin {
override def requires: Plugins = E
override def trigger = allRequirements
object autoImport {
lazy val keyTest = settingKey[String]("Another demo setting.")
}
}
object Q extends AutoPlugin