# FileSystemOperations

@ServiceScope(value = [Build::class, Project::class])
interface FileSystemOperations(source)

Operations on the file system.

An instance of this type can be injected into a task, plugin or other object by annotating a public constructor or property getter method with `javax.inject.Inject`.

#### Since

6.0

## Functions

copy
Link copied to clipboard
abstract fun copy(action: Action<in CopySpec>): WorkResult
Copies the specified files.
copySpec
Link copied to clipboard
@Incubating
abstract fun copySpec(): CopySpec
@Incubating
abstract fun copySpec(action: Action<in CopySpec>): CopySpec
Creates a CopySpec which can later be used to copy files or create an archive.
delete
Link copied to clipboard
abstract fun delete(action: Action<in DeleteSpec>): WorkResult
Deletes the specified files.
directoryPermissions
Link copied to clipboard
abstract fun directoryPermissions(configureAction: Action<in ConfigurableFilePermissions>): ConfigurableFilePermissions
Creates and configures directory access permissions.
filePermissions
Link copied to clipboard
abstract fun filePermissions(configureAction: Action<in ConfigurableFilePermissions>): ConfigurableFilePermissions
Creates and configures file access permissions.
permissions
Link copied to clipboard
abstract fun permissions(unixNumeric: Int): ConfigurableFilePermissions
Creates file/directory access permissions and initializes them via a Unix style numeric permissions.
abstract fun permissions(unixNumericOrSymbolic: String): ConfigurableFilePermissions
Creates file/directory access permissions and initializes them via a Unix style permission string.
abstract fun permissions(permissions: Provider<String>): Provider<ConfigurableFilePermissions>
Provider based version of permissions, to facilitate wiring into property chains.
sync
Link copied to clipboard
abstract fun sync(action: Action<in SyncSpec>): WorkResult
Synchronizes the contents of a destination directory with some source directories and files.