# Interface MarkingStrategy

@Incubating public interface MarkingStrategy
Represents a method of marking a cache directory. This is used to mark Gradle's cache directories.

You may implement your own marking strategy by implementing this interface and setting `CacheConfigurations.getMarkingStrategy()`.

Since:
  8.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final MarkingStrategy`
  `CACHEDIR_TAG`
  Marking strategy that marks the cache directory with a `CACHEDIR.TAG` file.
  `static final MarkingStrategy`
  `NONE`
  Marking strategy that does not mark the cache directory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `tryMarkCacheDirectory(File file)`
  Try to mark the given cache directory.

- ## Field Details

  - ### CACHEDIR_TAG

    static final MarkingStrategy CACHEDIR_TAG
    Marking strategy that marks the cache directory with a `CACHEDIR.TAG` file.
    See Also:
      - Cache Directory Tagging Specification

  - ### NONE

    static final MarkingStrategy NONE
    Marking strategy that does not mark the cache directory.

- ## Method Details

  - ### tryMarkCacheDirectory

    void tryMarkCacheDirectory(File file)
    Try to mark the given cache directory. If an I/O error occurs, this method should not throw an error, but instead log the error at an appropriate level, and return.
    Parameters:
      `file` - the cache directory to mark