Skip to content

Commit 009dcdd

Browse files
The execution flag of the original file will be transfered to the
installed file.
1 parent b43c335 commit 009dcdd

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/com/inet/gradle/setup/abstracts/AbstractTask.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ public void processFile( FileCopyDetailsInternal details ) {
132132
}
133133
try( InputStream input = details.open() ) {
134134
Files.copy( input, f.toPath(), StandardCopyOption.REPLACE_EXISTING );
135+
Files.setPosixFilePermissions(
136+
f.toPath(),
137+
Files.getPosixFilePermissions(details.getFile().toPath()));
135138
}
136139
} catch (IOException ex) {
137140
throw new RuntimeException(ex);

src/com/inet/gradle/setup/unix/UnixBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,17 @@ public static void setPermissions( File file, boolean executable ) throws IOExce
173173
perms.add( PosixFilePermission.OWNER_EXECUTE );
174174
perms.add( PosixFilePermission.GROUP_EXECUTE );
175175
perms.add( PosixFilePermission.OTHERS_EXECUTE );
176+
} else {
177+
Set<PosixFilePermission> posixFilePermissions = Files.getPosixFilePermissions(file.toPath());
178+
if(posixFilePermissions.contains(PosixFilePermission.OWNER_EXECUTE)) {
179+
perms.add( PosixFilePermission.OWNER_EXECUTE );
180+
}
181+
if(posixFilePermissions.contains(PosixFilePermission.GROUP_EXECUTE)) {
182+
perms.add( PosixFilePermission.GROUP_EXECUTE );
183+
}
184+
if(posixFilePermissions.contains(PosixFilePermission.OTHERS_EXECUTE)) {
185+
perms.add( PosixFilePermission.OTHERS_EXECUTE );
186+
}
176187
}
177188
try {
178189
Files.setPosixFilePermissions( file.toPath(), perms );

0 commit comments

Comments
 (0)