# Annotation Type Destroys

@Documented @Retention(RUNTIME) @Target({METHOD,FIELD}) public @interface Destroys

Marks a property as specifying a file or directory that a task destroys. The file or directory belongs to another task.

This annotation should be attached to the getter method or the field for the property.

This will cause the task to have exclusive access to this file or directory while running. This means that other tasks that either create or consume this file (by specifying the file or directory as an input or output) cannot execute concurrently with a task that destroys this file. This is useful for tasks that clean up after other tasks such as `clean`.

Since:
  4.0