The copy-methods on the Project interface are cumbersome to use for non-Groovy clients. Please expose copy(Action<? super CopySpec>), which is already present on ProjectInternal.
Raised as GRADLE-3261.
Would you be interested in submitting a contribution for this?
Sure =)