Fail Gradle Copy task if source directory not exis

2019-05-19 20:05发布

问题:

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")
}


标签: gradle copy