diffplug / diffplug/spotless

Gradle spotlessCheck task gets stuck if java text blocks are used

Đang mở
#1,655 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Java
Star
5.6k
Fork
559
Merge trung bình
1 ngày 14 giờ
Pull request đã merge (30 ngày)
43

Mô tả

**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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với repository kiểm thử được liên kết và chạy ./gradlew spotlessCheck bằng các phiên bản Gradle và Spotless được báo cáo. Tái hiện tình trạng bị treo với các khối văn bản Java và cả indentWithTabs(2) lẫn indentWithSpaces(4), sau đó lần theo đường dẫn định dạng Java của Spotless có liên quan. Công việc được xem là hoàn tất khi lệnh chạy xong và hồi quy được bao phủ bởi một kiểm thử có thể tái hiện.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
build-system
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
42/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.