# notifyDaemonsAboutChangedPaths

abstract fun notifyDaemonsAboutChangedPaths(changedPaths: List<Path>)

Notifies all daemons about file changes made by an external process, like an IDE.

The daemons will use this information to update the retained file system state.

The method should be invoked on every change done by the external process. For example, an IDE should notify Gradle when the user saves a changed file, or after some refactoring finished. This will guarantee that Gradle picks up changes when trigerring a build, even if the file system is too slow to notify file watchers. The caller shouldn't notify Gradle about changes detected by using other file watchers, since Gradle already will be using its own file watcher.

The paths which are passed in need to be absolute, canonicalized paths. For a delete, the deleted path should be passed. For a rename, the old and the new path should be passed. When creating a new file, the path to the file should be passed.

The call is synchronous, i.e. the method ensures that the changed paths are taken into account by the daemon after it returned. This ensures that for every build started after this method has been called knows about the changed paths.

If the version of Gradle does not support virtual file system retention (i.e. <6.1), then the operation is a no-op.

#### Since

6.1

#### Parameters

changedPaths

Absolute paths which have been changed by the external process.

#### Throws

IllegalArgumentException

When the paths are not absolute.

UnsupportedVersionException

When the target Gradle version is <= 2.5.

GradleConnectionException

On some other failure using the connection.