Sherter Gradle 预提交插件

Sherter Gradle plugin for pre-commit

我正在尝试为代码风格添加 sherter gradle 插件。我想 运行 这个插件在预提交脚本文件中。

我在 gradle 中添加了 sherter 作为,

repositories {
   jcenter()
   maven { url "https://plugins.gradle.org/m2/" }
}

dependencies {
   classpath 'gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.6'
}

apply plugin: 'com.github.sherter.google-java-format'

我的预提交文件位于名为 "scripts" 的目录中。在预提交文件中,如果我添加了这样一行

./gradlew verifyGJF

那里失败了。当我转到项目根目录时,运行 相同的命令正在运行。为什么会这样?我是否必须对 gradle 文件进行任何 link。

注意:Gradle 文件是可执行文件,它可以从项目根目录 运行 正常运行,但如果我转到 "scripts",则可以从预提交文件甚至在终端中运行verifyGJF 不是 运行ning.

的文件夹

发生这种情况是因为 gradlew 实际上是项目目录根目录中的一个脚本(请参阅下面的文件夹层次结构)。

gradlew
/scripts
   pre-commit-script
/src

运行 ./gradlew {task} 从您的 pre-commit-script 文件中指示它在同一目录中查找 gradlew(这里是 /scripts)。

如果您尝试从子目录中调用 gradlew,您需要使用相对路径访问它:../gradlew verifyGJF.

希望对您有所帮助