org.gradle.api.tasks.Delete Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-tooling-api Show documentation
Show all versions of gradle-tooling-api Show documentation
Gradle Tooling API - the programmatic API to invoke Gradle
The newest version!
/*
* Copyright 2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.api.tasks;
import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.file.DeleteSpec;
import org.gradle.api.file.FileCollection;
import org.gradle.api.internal.ConventionTask;
import org.gradle.internal.file.Deleter;
import org.gradle.work.DisableCachingByDefault;
import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.util.Set;
/**
* Deletes files or directories. Example:
*
* task makePretty(type: Delete) {
* delete 'uglyFolder', 'uglyFile'
* followSymlinks = true
* }
*
*
* Be default symlinks will not be followed when deleting files. To change this behavior call
* {@link Delete#setFollowSymlinks(boolean)} with true. On systems that do not support symlinks,
* this will have no effect.
*/
@DisableCachingByDefault(because = "Deletion cannot be cached")
public class Delete extends ConventionTask implements DeleteSpec {
private ConfigurableFileCollection paths = getProject().getObjects().fileCollection();
private boolean followSymlinks;
@TaskAction
protected void clean() throws IOException {
boolean didWork = false;
for (File path : paths) {
didWork |= getDeleter().deleteRecursively(path, followSymlinks);
}
setDidWork(didWork);
}
/**
* Returns the resolved set of files which will be deleted by this task.
*
* @return The files. Never returns null.
*/
@Destroys
public FileCollection getTargetFiles() {
return paths;
}
/**
* Returns the set of files which will be deleted by this task.
*
* @return The files. Never returns null.
*/
@Internal
public Set
© 2015 - 2025 Weber Informatics LLC | Privacy Policy