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 );
+            }
+        }
+    }
 }

Reply via email to