IntelliJ Plugin with AOSP inserts incorrect blank lines during optimize imports
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Reproduce the issue in the IntelliJ plugin by running Optimize Imports on the AOSP-style Java imports shown in the report, then compare the result with Spotless and the Google Java Style Guide. Trace the plugin's AOSP import-ordering behavior; done means Optimize Imports leaves only the expected blank line while the default GOOGLE style remains unaffected.
Written by the indexing model from the issue text.
Description
When using the IntelliJ google-java-formatter 1.16.0.2 with the AOSP style, the "Optimize Imports" action results in empty lines between imports with different TLDs.
Given:
// ...
import static org.assertj.core.api.Assertions.assertThat;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.params.ParameterizedTest;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
// ...
Results in:
// ...
import static org.assertj.core.api.Assertions.assertThat;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.params.ParameterizedTest;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
// ...
Expected:
When using spotless:check with google-java-formatter 0.16.0 / 0.17.0 and AOSP, it complains that all but the first empty line have to be removed. The online documentation seems to agree with spotless.
The IntelliJ plugin does not break the Google Java Style Guide when executing "optimize imports".
Context
This being inconsistent between spotless and Intellij is very inconvenient. We use use spotless in the CI to enforce the codestyle and this necessitates running mvn spotless:apply for every commit or disabling "optimize imports" which itself results in manual cleanup of unused imports.
I have tried it with the default GOOGLE style and that does not seem to have this problem.
- Dominant language
- Java
- Stars
- 6.2k
- Forks
- 936
- Avg merge
- 6m
- Merged PRs (30d)
- 3
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/google-java-format
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
google/google-java-format#1094 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
google/google-java-format#1450 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
google/google-java-format#1439 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 62/100
google/google-java-format#1436 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
google/google-java-format#1428 · 4 comments ·
Maintainers usually reply within 1 day
All issues in google/google-java-format
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
nextcloud/notes-android#3367 ·
Maintainers usually reply within 1 day
-
Feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
MuntashirAkon/AppManager#2058 ·
-
SarifLogger: artifactLocation.uri is not properly encoded for file names containing '#', '?', or '%'Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
checkstyle/checkstyle#21721 ·
Maintainers usually reply within 1 day