Ido Ran
Ido Ran

Reputation: 11384

Fail Gradle Copy task if source directory not exist

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?

Upvotes: 9

Views: 5129

Answers (2)

Andrejs
Andrejs

Reputation: 27677

This worked for me:

task copySpecificPlatform(type: Copy) {
    from 'source/directory'
    into 'target/directory'
    if(inputs.sourceFiles.empty) throw new StopExecutionException("No files found")
}

Upvotes: 3

Opal
Opal

Reputation: 84786

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.

Upvotes: 2

Related Questions