# Annotation Type OutputFiles

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

Marks a property as specifying one or more output files for a task.

This annotation should be attached to the getter method in Java or the property in Groovy. Annotations on setters or just the field in Java are ignored.

This will cause the task to be considered out-of-date when the file paths or contents are different to when the task was last run.

When the annotated property is a `Map`, then the keys of the map must be non-empty strings. The values of the map will be evaluated to individual files as per `Project.file(Object)`.

Otherwise the given files will be evaluated as per `Project.files(Object...)`. Task output caching will be disabled if the outputs contain file trees.