Repository: zest-java Updated Branches: refs/heads/develop c1127edce -> a7d76c630
shell: reinstate explicit chmod Was removed by 6f97f0d Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/b92a32c3 Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/b92a32c3 Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/b92a32c3 Branch: refs/heads/develop Commit: b92a32c37992ce7d69c15ec19cca46d2b8f41e9d Parents: c1127ed Author: Paul Merlin <[email protected]> Authored: Sun Nov 20 23:20:05 2016 +0100 Committer: Paul Merlin <[email protected]> Committed: Sun Nov 20 23:20:05 2016 +0100 ---------------------------------------------------------------------- .../create/project/AbstractProjectCreator.java | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-java/blob/b92a32c3/tools/shell/src/main/java/org/apache/zest/tools/shell/create/project/AbstractProjectCreator.java ---------------------------------------------------------------------- diff --git a/tools/shell/src/main/java/org/apache/zest/tools/shell/create/project/AbstractProjectCreator.java b/tools/shell/src/main/java/org/apache/zest/tools/shell/create/project/AbstractProjectCreator.java index 966c709..a290ee6 100644 --- a/tools/shell/src/main/java/org/apache/zest/tools/shell/create/project/AbstractProjectCreator.java +++ b/tools/shell/src/main/java/org/apache/zest/tools/shell/create/project/AbstractProjectCreator.java @@ -23,6 +23,8 @@ package org.apache.zest.tools.shell.create.project; import java.io.File; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.PosixFilePermissions; import java.util.Map; import org.apache.zest.tools.shell.FileUtils; @@ -39,6 +41,9 @@ abstract class AbstractProjectCreator { File templateDir = new File( FileUtils.zestHome(), properties.get( "template.dir" ) ); copyFiles( templateDir, projectDir, properties.get( "root.package" ) ); + File gradlewFile = new File( projectDir, "gradlew" ); + Path gradlewPath = gradlewFile.toPath(); + setGradlewPermissions( gradlewFile, gradlewPath ); } private void copyFiles( File fromDir, File toDir, String rootpackage ) @@ -79,4 +84,23 @@ abstract class AbstractProjectCreator } } } + + private void setGradlewPermissions( File gradlewFile, Path gradlewPath ) + throws IOException + { + try + { + if( gradlewFile.exists() ) + { + Files.setPosixFilePermissions( gradlewPath, PosixFilePermissions.fromString( "rwxr-xr-x" ) ); + } + } + catch( Exception e ) + { + if( !System.getProperty( "os.name" ).contains( "Windows" ) ) + { + throw new IOException( "Unable to set file permissions on " + gradlewPath.toString(), e ); + } + } + } }
