kiwix-android/team-props/git-hooks.gradle

31 lines
838 B
Groovy

static def isLinuxOrMacOs() {
def osName = System.getProperty('os.name').toLowerCase(Locale.ROOT)
return osName.contains('linux') || osName.contains('mac os') || osName.contains('macos')
}
task copyGitHooks(type: Copy) {
description 'Copies the git hooks from team-props/git-hooks to the .git folder.'
from("${rootDir}/team-props/git-hooks/") {
include '**/*.sh'
rename '(.*).sh', '$1'
}
into "${rootDir}/.git/hooks"
}
task installGitHooks(type: Exec) {
description 'Installs the pre-commit git hooks from team-props/git-hooks.'
group 'git hooks'
workingDir rootDir
commandLine 'chmod'
args '-R', '+x', '.git/hooks/'
onlyIf { isLinuxOrMacOs() }
dependsOn copyGitHooks
doLast {
logger.info('Git hook installed successfully.')
}
}
afterEvaluate {
tasks['preBuild'].dependsOn installGitHooks
}