问题
I'm using Gradle to create a build script. I want to protect the script from wrong properties, one of the tasks in the script is simple Copy task and I notice that when I put non-exist directory as from parameter the task continue with Skipping task ':copySpecificPlatform' as it has no source files.
Is there a way to cause the copy task to fail in this case?
回答1:
You can try:
task cp(type: Copy) {
from 'empty'
into 'target'
inputs.sourceFiles.stopExecutionIfEmpty()
}
Every Task has its TaskInputs which source files are a FileCollection that has special method which configures the desired behavior.
回答2:
This worked for me:
task copySpecificPlatform(type: Copy) {
from 'source/directory'
into 'target/directory'
if(inputs.sourceFiles.empty) throw new StopExecutionException("No files found")
}
来源:https://stackoverflow.com/questions/28130067/fail-gradle-copy-task-if-source-directory-not-exist