# Interface TaskInputFilePropertyBuilder

All Superinterfaces:
  `TaskFilePropertyBuilder, TaskPropertyBuilder`

public interface TaskInputFilePropertyBuilder extends TaskFilePropertyBuilder
Describes an input property of a task that contains zero or more files.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `TaskInputFilePropertyBuilder`
  `ignoreEmptyDirectories()`
  Ignore directories during up-to-date checks and build cache key calculations.
  `TaskInputFilePropertyBuilder`
  `ignoreEmptyDirectories(boolean ignoreEmptyDirectories)`
  Sets whether directories should be considered during up-to-date checks and build cache key calculations.
  `TaskInputFilePropertyBuilder`
  `normalizeLineEndings()`
  Normalize line endings in text files during up-to-date checks and build cache key calculations.
  `TaskInputFilePropertyBuilder`
  `normalizeLineEndings(boolean normalizeLineEndings)`
  Sets whether line endings should be normalized during up-to-date checks and build cache key calculations.
  `TaskInputFilePropertyBuilder`
  `optional()`
  Marks a task property as optional.
  `TaskInputFilePropertyBuilder`
  `optional(boolean optional)`
  Sets whether the task property is optional.
  `TaskInputFilePropertyBuilder`
  `skipWhenEmpty()`
  Skip executing the task if the property contains no files.
  `TaskInputFilePropertyBuilder`
  `skipWhenEmpty(boolean skipWhenEmpty)`
  Sets whether executing the task should be skipped if the property contains no files.
  `TaskInputFilePropertyBuilder`
  `withNormalizer(Class<? extends FileNormalizer> normalizer)`
  Sets the normalizer to use for this property.
  `TaskInputFilePropertyBuilder`
  `withPathSensitivity(PathSensitivity sensitivity)`
  Sets which part of the path of files should be considered during up-to-date checks and build cache key calculations.
  `TaskInputFilePropertyBuilder`
  `withPropertyName(String propertyName)`
  Sets the name for this property.

- ## Method Details

  - ### withPropertyName

    TaskInputFilePropertyBuilder withPropertyName(String propertyName)
    Sets the name for this property. The name must be a non-empty string.

    If the method is not called, or if it is called with `null`, a name will be assigned to the property automatically.

    Specified by:
      `withPropertyName` in interface `TaskFilePropertyBuilder`

  - ### skipWhenEmpty

    TaskInputFilePropertyBuilder skipWhenEmpty()
    Skip executing the task if the property contains no files. If there are multiple properties with {code skipWhenEmpty = true}, then they all need to be empty for the task to be skipped.
    Since:
      3.0

  - ### skipWhenEmpty

    TaskInputFilePropertyBuilder skipWhenEmpty(boolean skipWhenEmpty)
    Sets whether executing the task should be skipped if the property contains no files. If there are multiple properties with {code skipWhenEmpty = true}, then they all need to be empty for the task to be skipped.
    Since:
      3.0

  - ### optional

    TaskInputFilePropertyBuilder optional()
    Marks a task property as optional. This means that a value does not have to be specified for the property, but any value specified must meet the validation constraints for the property.
    Since:
      3.0

  - ### optional

    TaskInputFilePropertyBuilder optional(boolean optional)
    Sets whether the task property is optional. If the task property is optional, it means that a value does not have to be specified for the property, but any value specified must meet the validation constraints for the property.
    Since:
      3.0

  - ### withPathSensitivity

    TaskInputFilePropertyBuilder withPathSensitivity(PathSensitivity sensitivity)
    Sets which part of the path of files should be considered during up-to-date checks and build cache key calculations.
    Since:
      3.1

  - ### withNormalizer

    TaskInputFilePropertyBuilder withNormalizer(Class<? extends FileNormalizer> normalizer)
    Sets the normalizer to use for this property.
    Since:
      4.3
    Implementation Note:
      Only two normalizers are supported: `CompileClasspathNormalizer` and `ClasspathNormalizer`.

  - ### ignoreEmptyDirectories

    TaskInputFilePropertyBuilder ignoreEmptyDirectories()
    Ignore directories during up-to-date checks and build cache key calculations. When this is set, only the contents of directories will be considered, but not the directories themselves. Changes to empty directories, and directories that contain only empty directories, will be ignored.
    Since:
      6.8

  - ### ignoreEmptyDirectories

    TaskInputFilePropertyBuilder ignoreEmptyDirectories(boolean ignoreEmptyDirectories)
    Sets whether directories should be considered during up-to-date checks and build cache key calculations. Defaults to false. See `ignoreEmptyDirectories()`.
    Since:
      6.8

  - ### normalizeLineEndings

    TaskInputFilePropertyBuilder normalizeLineEndings()
    Normalize line endings in text files during up-to-date checks and build cache key calculations. This setting will have no effect on binary files.

    Line ending normalization is only supported with ASCII encoding and its supersets (i.e. UTF-8, ISO-8859-1, etc). Other encodings (e.g. UTF-16) will be treated as binary files and will not be subject to line ending normalization.

    Since:
      7.2

  - ### normalizeLineEndings

    TaskInputFilePropertyBuilder normalizeLineEndings(boolean normalizeLineEndings)
    Sets whether line endings should be normalized during up-to-date checks and build cache key calculations. Defaults to false. See `normalizeLineEndings()`.
    Parameters:
      `normalizeLineEndings` - whether line endings should be normalized
    Since:
      7.2