Akshat Jain
11/12/2024, 10:02 AMmaven-checkstyle-plugin plugin integrated which uses checkstyle.xml.
2. We also have spotbugs integrated in our CI pipeline which does static analysis as well
With the above, it seems a bit redundant to have a separate intellij-inspections check. It also adds unnecessary maintenance overhead. We are currently using https://github.com/ccaominh/intellij-inspect which is tied down to an openjdk8 image, and the project doesn't seem to be actively maintained.
We would appreciate your thoughts and inputs on the above. If it sounds good, we will work on removing the check from the repo.
Thanks!Karan Kumar
11/12/2024, 5:36 PMClint Wylie
11/12/2024, 7:07 PMClint Wylie
11/12/2024, 7:07 PMGian Merlino
11/12/2024, 9:54 PMGian Merlino
11/12/2024, 9:54 PMGian Merlino
11/12/2024, 9:54 PMAkshat Jain
11/13/2024, 4:37 AMThe declared exception <code>IOException</code> is never thrown (CI run)
2. Class is not instantiated / `ulliMethod owner class is never instantiated OR/liliAn instantiation is not reachable from entry points./li/ul`(CI run)
3. Method is never used. (CI run)
4. Field is assigned but never accessed. (CI run)
5. Cannot resolve symbol <code>prepareResource(GroupByQuery, BlockingPool, boolean, GroupByQueryConfig, GroupByStatsProvider)</code> (CI run)
6. Variable <code>row</code> initializer <code>null</code> is redundant (CI run)
IntelliJ check errors out, but is covered in other static checks:
1. Missing '@Override' annotation on <code>getResultRowSignature()</code> #loc (CI run)
a. This is already covered in (openjdk17) strict compilation check
IntelliJ check errors out, but unsure if it's covered in other static checks:
1. Explicit type arguments can be inferred and Type parameter <code>T</code> hides type parameter 'T' #loc (CI run)
a. (openjdk17) strict compilation check errored out with something else before it got to these files, so not sure if it would have caught the above as well.
2. Method is never used as a member of this interface, but only as a member of the implementation class(es). The project will stay compilable if the method is removed from the interface. (CI run)
a. Other static checks errored out earlier on packaging check with some other issues, so not sure if they would have thrown this error (especially the strict compilation check).
Other than the above, we also have some (although rare) occurrences of the IntelliJ check failing in around 6 hours (CI run). I'm not able to download the log to see what happened there.Akshat Jain
11/13/2024, 4:43 AMi am ok removing it if the image is causing problemsYeah, we stumbled upon this topic of discussion when we saw that the IntelliJ check was causing us problems when deprecating Java 8 on this PR. Various problems: 1. I'm not able to locally simulate the above issues. 2. The check failures on the PR are "wrong" - and my guess is that they are stemming from the use of openjdk8 image. 3. The project isn't actively maintained, so it doesn't seem trivial to get it working for later Java versions like Java 11.
Clint Wylie
11/13/2024, 4:49 AMClint Wylie
11/13/2024, 4:51 AMClint Wylie
11/13/2024, 4:51 AMClint Wylie
11/13/2024, 4:52 AMClint Wylie
11/13/2024, 4:53 AMClint Wylie
11/13/2024, 4:53 AMAkshat Jain
11/13/2024, 4:55 AMthe image itself doesn’t seem all that complicatedIIUC we don't own the project, so is it allowed to fork and make changes and deploy on someone else's DockerHub? Although regardless of that, it seems like an extra piece to maintain in the long run, which seems unnecessary to me. Qodana seems interesting, thanks for sharing that!
Clint Wylie
11/13/2024, 4:55 AMClint Wylie
11/13/2024, 4:57 AMKaran Kumar
11/13/2024, 4:58 AMKaran Kumar
11/13/2024, 4:59 AMAkshat Jain
11/13/2024, 4:59 AMClint Wylie
11/13/2024, 5:00 AM