如何通过gradle设置git hook可执行文件

时间:2018-07-21 14:58:33

标签: gradle android-gradle file-permissions githooks

TLDR :如何添加执行权限/通过Gradle将可执行文件设置为git hook脚本

我正在与一个团队一起开发一个Android应用程序,并被指示实施公司范围内的预推送脚本作为git hook。

我将带有脚本的预推送文件添加到项目的根目录,并添加了一个复制脚本以将其复制到hooks文件夹。

我尝试添加

android {
    compileSdkVersion 27
    copy {
        from "../pre-push"
        into "../.git/hooks"
    }
    tasks.create(name: 'gitExecutableHooks') << {
        Runtime.getRuntime().exec("chmod -R +x .git/hooks/");
    }

    defaultConfig {
        ...
    }
}

文件已复制到正确的位置,但我收到警告

  

.git / hooks / pre-push'挂钩被忽略,因为它没有设置为   可执行文件。

自然,不会执行git钩子。

(P.S。可以在Windows计算机上正常工作,并且仅在MacOS和Linux计算机上失败)

1 个答案:

答案 0 :(得分:1)

您应该设置正确的权限。

copy {
    from "../pre-push"
    into "../.git/hooks"
    fileMode 0777
 }

这应该为您解决问题。