It seems like directories implicitly created within a child copyspec gets hardcoded permissions of 0755, instead of default permissions based on the process umask? Implicit directories created outside of child copyspecs gets default permissions. dirPermissions on the parent copyspec has no effect on
implicitly created target directories. We are using 8.14.2.
Example:
task example(type: Copy) {
from 'ex1'
into 'dest/dir
into('child') {
from 'ex2'
}
}
given these ex1 and ex2 directories
drwxrwx--- ex1
-rw-rw---- ex1/foo
drwxrwx--- ex2
-rw-rw---- ex2/bar
then running
$ umask 0007
$ gradle example
results in
drwxrwx--- dest
drwxrwx--- dest/dir
-rw-rw---- dest/dir/foo
drwxr-xr-x dest/dir/child
-rw-rw---- dest/dir/child/bar
but we would expect default permissions based on the umask:
drwxrwx--- dest/dir/child/
or possibly hardcoded permissions for all implicitly created dirs:
drwxr-xr-x dest
drwxr-xr-x dest/dir
drwxr-xr-x dest/dir/child
dirPermissions does not seem to have an affect for the permission of the implicitly created dest/dir/child
We can work around this with an explicit file permission modification in a doLast. Are there any other options?
thanks,