0

我正在尝试为代码样式添加 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 文件。

注意:Gradle 文件是可执行的,它在项目根目录中运行良好,但从预提交文件甚至在终端中,如果我转到“脚本”文件夹,verifyGJF 没有运行。

4

1 回答 1

1

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

gradlew
/scripts
   pre-commit-script
/src

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

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

希望能帮助到你

于 2019-07-25T14:11:47.517 回答