RequireDirectiveHandler

trait RequireDirectiveHandler extends DirectiveHandler[BuildRequirements]
trait DirectiveHandler[BuildRequirements]
class Object
trait Matchable
class Any

Type members

Types

Value members

Concrete methods

override def isRestricted: Boolean

Is this directive an advanved feature, that will not be accessible when running scala-cli as scala

Is this directive an advanved feature, that will not be accessible when running scala-cli as scala

Definition Classes

Inherited methods

It checks the values ascribed to the key inside the passed in scopedDirective, in order to see if they are of the types listed to be expected by the implementation of getSupportedTypes inside the specific handler.

It checks the values ascribed to the key inside the passed in scopedDirective, in order to see if they are of the types listed to be expected by the implementation of getSupportedTypes inside the specific handler.

Returns:

Either a UsingDirectiveExpectationError or the using directive values of the scopedDirective grouped in string, boolean, or numeric sequences.

Inherited from:
DirectiveHandler
final protected def checkIfValuesAreExpected(scopedDirective: ScopedDirective): Either[BuildException, GroupedScopedValuesContainer]

It checks if the values assigned to the key of the scopedDirective have the expected type or number.

It checks if the values assigned to the key of the scopedDirective have the expected type or number.

Note: the correct functioning of this method for some of the handlers might require overriding the implementations for getSupportedTypes, getValueNumberBounds, and unexpectedValueHint inside those handlers.

Value parameters:
scopedDirective

the directive whose values are to be processed according to the key

Returns:

Either a BuildException or the grouped using directive values inside the passed scopedDirective

Inherited from:
DirectiveHandler
def description: String
Inherited from:
DirectiveHandler
def descriptionMd: String
Inherited from:
DirectiveHandler
def examples: Seq[String]
Inherited from:
DirectiveHandler
protected def getSupportedTypes(key: String): Set[UsingDirectiveValueKind]

the default implementation only includes UsingDirectiveValueKind.STRING Override for changing it.

the default implementation only includes UsingDirectiveValueKind.STRING Override for changing it.

Value parameters:
key

the using directive key for which the supported types are calculated.

Returns:

a set of supported using directive value kinds of string, numeric, or boolean by this handler

Inherited from:
DirectiveHandler

by default, it is (lower = 1, upper = Int.MaxValue). Please, override for other cases.

by default, it is (lower = 1, upper = Int.MaxValue). Please, override for other cases.

Value parameters:
key

the using directive key for which the value number bounds are calculated.

Inherited from:
DirectiveHandler
def handleValues(scopedDirective: ScopedDirective, logger: Logger): Either[BuildException, ProcessedDirective[T]]
Inherited from:
DirectiveHandler
def keys: Seq[String]
Inherited from:
DirectiveHandler
def name: String
Inherited from:
DirectiveHandler

checks if the passed in scopedDirective has the expected number of values according to the implementation of getValueNumberBounds for the handler on which this is called

checks if the passed in scopedDirective has the expected number of values according to the implementation of getValueNumberBounds for the handler on which this is called

Returns:

Either a UsingDirectiveExpectationError or the same passed in scopedDirective

Inherited from:
DirectiveHandler
protected def unexpectedValueHint(key: String): String

The default implementation just asks the user to put quotation marks around the using directive values with string type.

The default implementation just asks the user to put quotation marks around the using directive values with string type.

Therefore, it should get overrided if other information is to be shown instead in any particular handler.

This method gets internally called in the implementation of checkAndGroupValuesByType for producing the error value.

Value parameters:
key

the using directive key for which the unexpected value(s) are passed.

Returns:

the hint to be shown to the user if the value(s) passed to the corresponding using directive key are unexpected.

Inherited from:
DirectiveHandler
def usage: String
Inherited from:
DirectiveHandler
def usageMd: String
Inherited from:
DirectiveHandler