在特定文件上运行 gradlew lint

Maj*_*eee 5 git gradle android-lint gradlew android-studio

我正在尝试创建带有代码样式检查和其他错误的预提交挂钩。它是 Android Studio 中的一个多模块项目(java 和 kotlin)。我希望使用lint,但没有运气。

我的条件是仅检查新文件和修改过的文件(基线按 ofc 顺序),因为项目太大,无法对每个文件的每次提交进行检查。

我的sh命令如下所示:

git diff --name-only HEAD | xargs -I '{}' ./gradlew lint {}\; 
Run Code Online (Sandbox Code Playgroud)

它翻译为:

./gradlew lint /path/to/the/file.java
Run Code Online (Sandbox Code Playgroud)

但它总是无法尝试找到名为“文件路径”的任务。

当我尝试使用Android SDK中的lint时,它只会打印main: Error: "main" is a Gradle project. To correctly analyze Gradle projects, you should run "gradlew :lint" instead.

有什么建议吗?