Limiting the scope breaks the CopySpec.with(CopySpec) implementation. CopySpecs should be able to be defined outside of a copy task and re-used across copy tasks. This is the functionality the "with" method supports and throws exceptions if the needed properties are not available to all copy specs. I have a common use case where I want to define a copy spec and re-use it for RPM, TAR and other basic copy tasks. If a copy task cannot be shared with RPM, we have a great deal of duplication and bloated build scripts. I submitted a pull request previously to fix this and would like to see this functionality pulled into the plugin so that we are not stuck maintaining our own implementation.