The normal behavior of the distTar and distZip tasks from the application plugin in gradle seems to be to copy the contents of src/dist into the zip and tar files, but I have a subfolder in src/dist that I want to exclude from the default distribution, and include it for a new (extended) task, possibly to be called distZipWithJRE.
I have been able to exclude this folder in the default task as follows:
distributions.main {
    contents {
        from('build/config/main') {
            into('config')
        }
        from('../src/dist') {
            exclude('jre')
        }
    }
}
How can I define a second task that behaves just like the original (unmodified) task?
Using Gradle 4.8 I had to tweak the answer to use 'with' from CopySpec instead
distributions {
    zipWithJRE {
        baseName = 'zipWithJRE'
        contents {
            with distributions.main.contents
        }
    }
}
It seems that what you're looking for is in the docs. You need to leave current settings as is and for zipWithJRE create and configure custom distribution:
distributions {
    zipWithJRE {
        baseName = 'zipWithJRE'
        contents {
           from { distributions.main.contents }
        }
    }
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With