Kogito-8116 Sonarcloud - Addressing code smells related to unmerged collapsible if statements, empty statements, and various "bug fixes" #2555
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://issues.redhat.com/browse/KOGITO-8116
Goal here is to reduce the number of code smells and bugs in Kogito-runtimes.
Addressed in this PR are the following code smells and bugs:
(Java) Empty statements should be removed (8): https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS1116&types=CODE_SMELL&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by removing empty statements, i.e. random semicolons
(Java) Collapsible "if" statements should be merged (9): https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS1066&types=CODE_SMELL&id=org.kie.kogito%3Akogito-runtimes
I have addressed this by merging if statements where appropriate.
Various "bug fixes" https://sonarcloud.io/project/issues?resolved=false&types=BUG&id=org.kie.kogito%3Akogito-runtimes
including:
"ThreadLocal" variables should be cleaned up when no longer used
Null pointers should not be dereferenced
Math operands should be cast before assignment
You have read the contributors guide
Your code is properly formatted according to this configuration
Pull Request title is properly formatted:
KOGITO-XYZ Subject
Pull Request title contains the target branch if not targeting main:
[0.9.x] KOGITO-XYZ Subject
Pull Request contains link to the JIRA issue
Pull Request contains link to any dependent or related Pull Request
Pull Request contains description of the issue
Pull Request does not include fixes for issues other than the main ticket
How to replicate CI configuration locally?
Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.
How to retest this PR or trigger a specific build:
for pull request checks
Please add comment: Jenkins retest this
for a specific pull request check
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] tests
for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch
for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-branch
for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main
for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-main
for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts
for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-lts
for native checks
Run native checks
Please add comment: Jenkins run native
for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native
for mandrel checks
Run native checks against Mandrel image
Please add comment: Jenkins run mandrel
for a specific mandrel check
Run native checks against Mandrel image
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] mandrel
for mandrel lts checks
Run native checks against Mandrel image and quarkus lts branch
Please add comment: Jenkins run mandrel-lts
for a specific mandrel lts check
Run native checks against Mandrel image and quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] mandrel-lts
Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...