Menu

#158 Checkstyle core dynamically loaded instead of fixed bundled version

Future
open
nobody
None
1
2017-07-08
2016-05-12
No

Lars first of all thank you for your work on eclipse-cs! Here is a medium prio. New Feature Request:

If my understanding is correct, eclipse-cs currently bundles a fixed version of the (core) Checkstyle JAR. Every now and then when they release a new version, you release an upgrade to eclipse-cs, right?

Do you think it may be possible, through some black belt ClassLoader magic, to in the future not bundle the (core) Checkstyle JAR anymore, but delegate to a dynamically loaded version of it? Or, perhaps to start with, at least make this an option - by default as-is, but new Project configuration property with absolute path to Checkstyle JAR. In the future the version instead of the path could be an eclipse-cs configuration property. You could load the JAR from a Maven repo (using https://www.eclipse.org/aether/) based on that version. And then https://github.com/m2e-code-quality/m2e-code-quality could set that version to always automatically match the one configured in the Maven build (as in https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html).

See also http://stackoverflow.com/questions/37126270/maven-checkstyle-and-eclipse-checkstyle-report-similar-but-different-results-usi

Discussion

  • Thomas Jensen

    Thomas Jensen - 2016-05-12

    That is an excellent idea, because it would decouple the version of Eclipse-CS from the version of Checkstyle. Since Checkstyle versions are very often incompatible with each other (columns C and D in this chart), developers are barred from upgrading Eclipse-CS, for example to get a bug fix or new feature.

    Just to be sure, the Checkstyle version should be set in a workspace-specific location, so that developers can use the same installation of Eclipse to work on different projects which are on different versions of Checkstyle.

     

    Last edit: Thomas Jensen 2016-05-12
  • Thomas Jensen

    Thomas Jensen - 2017-07-08

    FYI, Checkstyle-IDEA, the Checkstyle plugin for IntelliJ IDEA, has this feature since early this year.

     

Log in to post a comment.