Gradle spotlessCheck task gets stuck if java text blocks are used
- 主要语言
- Java
- 星标
- 5.6k
- 派生
- 559
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 43
描述
**summary of problem**
When java text blocks (multi line strings) are used in the code and when indentWithTabs(2) and indentWithSpaces(4) both the rules are included then the gradle task gets stuck
**gradle or maven version**
gradle: 7.6.1
**spotless version**
6.17.0
operating system and version
MacOS Ventura 13.1
**spotless config**
```
spotless {
format 'misc', {
target '*.gradle', '*.md', '.gitignore'
trimTrailingWhitespace()
indentWithTabs() // or spaces. Takes an integer argument if you don't like 4
endWithNewline()
}
java {
googleJavaFormat()
indentWithTabs(2)
indentWithSpaces(4)
formatAnnotations()
removeUnusedImports()
trimTrailingWhitespace()
}
}
```
test repo: https://github.com/sujeet100/spotless-bug
output of ./gradlew spotlessCheck --debug
`2023-04-05T11:38:16.945+0530 [DEBUG] [org.gradle.api.internal.tasks.execution.TaskExecution] Executing actions for task ':spotlessJava'.
2023-04-05T11:38:16.946+0530 [INFO] [org.gradle.api.Task] Not incremental: removing prior outputs
2023-04-05T11:38:16.946+0530 [DEBUG] [org.gradle.internal.file.impl.DefaultDeleter] Deleting /Users/sujit/projects/personal/spotless-bug/build/spotless/spotlessJava
2023-04-05T11:38:16.947+0530 [DEBUG] [org.gradle.api.Task] Applying format to /Users/sujit/projects/personal/spotless-bug/src/main/java/com/example/spotlessbug/SpotlessBugApplication.java and writing to /Users/sujit/projects/personal/spotless-bug/build/spotless/spotlessJava/src/main/java/com/example/spotlessbug/SpotlessBugApplication.java
2023-04-05T11:38:16.959+0530 [DEBUG] [org.gradle.api.Task] Applying format to /Users/sujit/projects/personal/spotless-bug/src/main/java/com/example/spotlessbug/Test.java and writing to /Users/sujit/projects/personal/spotless-bug/build/spotless/spotlessJava/src/main/java/com/example/spotlessbug/Test.java
2023-04-05T11:38:24.386+0530 [LIFECYCLE] [org.gradle.cache.internal.DefaultFileLockManager]
2023-04-05T11:38:24.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:24.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:24.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:24.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:24.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:24.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:34.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:34.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:34.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:34.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:34.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:34.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:44.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:44.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:44.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:44.388+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:44.388+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:44.388+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:46.920+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker: acquired lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker: released lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker: acquired lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker: released lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 10: acquired lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 10: released lock on worker lease
2023-04-05T11:38:46.921+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 9: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 9: released lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 8: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 8: released lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 7: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 7: released lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 4: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 4: released lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 6: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 6: released lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 5: acquired lock on worker lease
2023-04-05T11:38:46.922+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 5: released lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 3: acquired lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 3: released lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 2: acquired lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 2: released lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 11: acquired lock on worker lease
2023-04-05T11:38:46.923+0530 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Execution worker Thread 11: released lock on worker lease
2023-04-05T11:38:54.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:54.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:54.386+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2023-04-05T11:38:54.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2023-04-05T11:38:54.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2023-04-05T11:38:54.387+0530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
<==-----------> 16% EXECUTING [42s]
> :spotlessJava
`
The gradle task gets stuck
贡献指南
调研方向
从链接的测试仓库开始,使用报告中的 Gradle 和 Spotless 版本运行 ./gradlew spotlessCheck。使用 Java 文本块以及 indentWithTabs(2) 和 indentWithSpaces(4) 复现挂起问题,然后跟踪涉及的 Spotless Java 格式化路径。命令能够完成执行,并且回归问题由可复现的测试覆盖,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100