unfortunately GSoC briefs and recent thoughts+actions of Richard is all that we have.
My ideas are still in my mind, I just need some time to organize all of them to share with community.
The biggest problem there is me who blocks all innovations till we make Checksyle stable in validations. Even team did and do a lot of efforts to resolve problems, amount of issues is growing.
sonar is not a only reason, we first of all care about improvements of our CLI and than in maven, eclipse-cs, sonar and all other plugins and usages.
Sonar could run checks in parallel with any other tools, even right now. But Checksyle can not be now MT inside itself.
But the main problem for us is provide users a reason to use Checkstyle along with others, so provide unique and minimal false-positives functionality. As we do this, user will wait extra minutes during validation. MT mode will give user only some speed. Most users demand correct validation without false-positives. As resolving false positives takes more time.
One more problem is that validation is not biggest performance problems. The biggest problem is parsing. ANTRL2 (that we use now) is slow in comparison to others (javacc). Current ANTLR is version 4.
Richard, can you share here some statistics about how much checkstyle spent in parsing and validation ? I remember you did smth like this.
-------------------------------------
So MT mode demand from us a lot of time to consideration and design. Mean while we have problems:
- Unclear status of multi-file mode of validation and cache usage.
- new ANTLR parser for javadocs is not ready for massive usage
- Most Javadocs checks are broken by design, need to be re-implemented
- current API is weird and need to changed (we already postponed this change for long time)
- old parser library is used, that is not supported any more (some limitations of it could result in inability to support some syntax of new java, so it will mean DEATH of checkstyle). Upgrade to new version of ANTLR is huge work.
- Team of maintainers is tiny and use their spare time , so no ability to focus on huge task for long time.
- No convenient way to do suppression of violations (Xpath, annotations).
- multiple configurations support , inheritance or composition of configurations
- get out of moratorium period for new Checks that I enforced few years ago (almost done)
..... some others....
So for now MT mode is a dream with small benefit. There more other issues that users would love to have. That is why I nominate it to GSoC where smb will have few month to think about it with full focus.
I can not afford full focus on one problem in checkstyle already for few years, I doubt it will change tomorrow.
There is a way out of this - growing the team.
Please come back to project and we will make it :) eventually :).
thanks,
Roman Ivanov