Packages

sealed trait LinterLevel extends AnyRef

Controls the kind of linting performed during task macro expansion. The linting level is controlled by implicitly bringing an instance of LinterLevel into scope:*

val foo = taskKey[Unit]("")
val bar = taskKey[Unit]("")
// This compiles because of the import in the block
val fooTask = {
  import sbt.dsl.LinterLevel.Ignore
  Def.task {
    if (true) bar.value
    else bar.value
  }
}
// because the import above was in a local scope, it does not apply here, so this won't
// compile:
//val barTask = Def.task {
//  if (true) foo.value
//  else foo.value
//}

import sbt.dsl.LinterLevel.Ignore
// Both defs compile because the Ignore LinterLevel is implicitly brought into scope and
// picked up by both task defs underneath
val newFooTask = Def.task {
  if (true) bar.value
  else bar.value
}
val barTask = Def.task {
  if (true) foo.value
  else foo.value
}

To make this work, the instances are all defined as implicit case objects. Moreover, the the LinterLevel.Warn setting is made default by placing LinterLevel.Abort and LinterLevel.Ignore using the low priority trait pattern.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LinterLevel
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped