[VOTE] Checkstyle plugin version 2.4

111 views
Skip to first unread message

Michael Gumowski

unread,
Nov 4, 2015, 10:25:20 AM11/4/15
to SonarQube
Hello,

We would like to release a new version of the Checkstyle plugin: version 2.4.

Main features of the release:
  • Upgrade Checkstyle from version 6.4.1 to version 6.12 
  • Update deprecated rules covered by last version of the java plugin
  • All the rules having "tokens" or "scope" parameter have been set to rule templates. You will consequently have to re-enable them (see SONARCHKST-9 for the list of related rules).
  • Updated required version to at least SonarQube 4.5.2 and Java plugin 3.7.
Extra thanks to Alix LOURME for his contributions!

Tickets solved:

Snapshot version 2.4-RC1:

The vote is open till Friday evening!

[ ] +1
[ ] +0
[ ] -1

Cheers,


Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

G. Ann Campbell

unread,
Nov 4, 2015, 1:50:31 PM11/4/15
to SonarQube
@Michael, I've just noticed that the issuemanagement URL in the POM still goes to codehaus. I've entered https://jira.sonarsource.com/browse/SONARCHKST-38.


Ann

Michael Gumowski

unread,
Nov 5, 2015, 2:43:17 AM11/5/15
to G. Ann Campbell, SonarQube
Thx for noticing it Ann, it will be fixed before the release!

Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/8f39d4c9-823a-4064-9605-f89db3a5375a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Jensen

unread,
Nov 5, 2015, 3:10:28 PM11/5/15
to SonarQube
I don't know if I can vote, but:  +1

I would recommend waiting at least until Monday though, because recently, they often released a major bugfix soon after the initial release (mostly within one week, as with 6.8.1, 6.10.1, 6.11.1, and 6.11.2).

Michał Kordas

unread,
Nov 5, 2015, 3:23:20 PM11/5/15
to Thomas Jensen, SonarQube
Hi,

Actually we've just released 6.12.1: https://github.com/checkstyle/checkstyle/releases :)

Regards,
Michal Kordas


2015-11-05 21:10 GMT+01:00 Thomas Jensen <tj.f...@googlemail.com>:
I don't know if I can vote, but:  +1

I would recommend waiting at least until Monday though, because recently, they often released a major bugfix soon after the initial release (mostly within one week, as with 6.8.1, 6.10.1, 6.11.1, and 6.11.2).

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+...@googlegroups.com.

Michael Gumowski

unread,
Nov 6, 2015, 3:32:37 AM11/6/15
to Michał Kordas, Thomas Jensen, SonarQube
Hey,

Thank you guys for your feedback!
Releasing now without including 6.12.1, which has just been released would make no sense... Consequently, we are going to upgrade to 6.12.1 on our side, propose a new snapshot and postpone the end of the vote to Monday! :)

@Michał, for next versions of the Checkstyle plugin, should we wait for bugfix release rather than major release? 
In any case, don't hesitate to contact us like you did and we will always try to synchronize with you.

Cheers,

Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

Michael Gumowski

unread,
Nov 6, 2015, 8:32:56 AM11/6/15
to Michał Kordas, Thomas Jensen, SonarQube
Hey all,

Here is a new version to be tested for the release.
Plugin has been updated to version 6.12.1 of Checkstyle.

Snapshot version 2.4-RC2:
https://github.com/SonarCommunity/sonar-checkstyle/releases/tag/2.4-RC2

In order to be able to test this last version, the end of the vote have been extended to Monday (9/Nov/2015)!

Regards,

Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

Michał Kordas

unread,
Nov 7, 2015, 7:34:26 PM11/7/15
to SonarQube, kon...@michalkordas.com, tj.f...@googlemail.com
Hi,

> @Michał, for next versions of the Checkstyle plugin, should we wait for bugfix release rather than major release? 

In Checkstyle we have kind of continuous delivery. Release is at least once a month (last weekend), but whenever there are some valuable changes during the month (not only bugfixes) we do additional releases, so it all depends on contributors and actual needs that are hard to predict.

I'm not sure if this is blocker, but after update to  2.4-RC2 my entire build stared failing due to exception in seventu-checkstyle-sonar-plugin:

21:37:26 [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project cstr: com.puppycrawl.tools.checkstyle.api.FileContents.getCComments()Lcom/google/common/collect/ImmutableMap; -> [Help 1]
21:37:26 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project cstr: com.puppycrawl.tools.checkstyle.api.FileContents.getCComments()Lcom/google/common/collect/ImmutableMap;
21:37:26 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
21:37:26 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
21:37:26 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
21:37:26 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
21:37:26 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
21:37:26 	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
21:37:26 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
21:37:26 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
21:37:26 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
21:37:26 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
21:37:26 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
21:37:26 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
21:37:26 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:37:26 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
21:37:26 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:37:26 	at java.lang.reflect.Method.invoke(Method.java:606)
21:37:26 	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
21:37:26 	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
21:37:26 	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
21:37:26 	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
21:37:26 Caused by: org.apache.maven.plugin.MojoExecutionException: com.puppycrawl.tools.checkstyle.api.FileContents.getCComments()Lcom/google/common/collect/ImmutableMap;
21:37:26 	at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
21:37:26 	at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139)
21:37:26 	at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:132)
21:37:26 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
21:37:26 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
21:37:26 	... 19 more
21:37:26 Caused by: java.lang.NoSuchMethodError: com.puppycrawl.tools.checkstyle.api.FileContents.getCComments()Lcom/google/common/collect/ImmutableMap;
21:37:26 	at com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethods.beginTree(ForbidCCommentsInMethods.java:55)
21:37:26 	at com.puppycrawl.tools.checkstyle.TreeWalker.notifyBegin(TreeWalker.java:356)
21:37:26 	at com.puppycrawl.tools.checkstyle.TreeWalker.walk(TreeWalker.java:328)
21:37:26 	at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:204)
21:37:26 	at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:79)
21:37:26 	at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:266)
21:37:26 	at org.sonar.plugins.checkstyle.CheckstyleExecutor.execute(CheckstyleExecutor.java:87)
21:37:26 	at org.sonar.plugins.checkstyle.CheckstyleSensor.analyse(CheckstyleSensor.java:57)
21:37:26 	at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:59)
21:37:26 	at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:51)
21:37:26 	at org.sonar.batch.phases.DatabaseModePhaseExecutor.execute(DatabaseModePhaseExecutor.java:120)
21:37:26 	at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264)
21:37:26 	at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
21:37:26 	at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
21:37:26 	at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235)
21:37:26 	at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:230)
21:37:26 	at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220)
21:37:26 	at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
21:37:26 	at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
21:37:26 	at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
21:37:26 	at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
21:37:26 	at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
21:37:26 	at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
21:37:26 	at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
21:37:26 	at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158)
21:37:26 	at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
21:37:26 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
21:37:26 	at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
21:37:26 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21:37:26 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
21:37:26 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:37:26 	at java.lang.reflect.Method.invoke(Method.java:606)
21:37:26 	at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
21:37:26 	at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
21:37:26 	at java.security.AccessController.doPrivileged(Native Method)
21:37:26 	at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
21:37:26 	at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
21:37:26 	at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
21:37:26 	at org.sonar.runner.api.Runner.execute(Runner.java:100)
21:37:26 	at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:135)
21:37:26 	... 22 more


Thanks,
Michal

Thomas Jensen

unread,
Nov 9, 2015, 8:09:23 AM11/9/15
to SonarQube
+1

Michael Gumowski

unread,
Nov 9, 2015, 9:34:23 AM11/9/15
to Thomas Jensen, SonarQube
Hey,

Thanks for your vote @Thomas.

@Michał, about the exceptions occurring in seventu-checkstyle-sonar-plugin
As we were facing serious incompatibility issues between guava versions used by SonarQube APIs and Checkstyle (basically, v10 for SQ and v18 for Checkstyle), we shaded guava library directly within Checkstyle and use that artifact instead of the native Checkstyle artifact. Unfortunately, as long as SQ is not using a newer version of guava, we will be forced to use that approach.

Now, as we are not relying on the native Checkstyle artifact, the way the seventu plugin is handling its integration with SQ will not work anymore. In order to stay compatible with last version of our plugin, they will have to adapt their plugin and probably use the same shading as we did.

Our main goal being to provide the last version of Checkstyle to the community (as it is the official plugin, with current version being - as you know - way behind latest release of checkstyle), we can not consider breaking compatibility with seventu has being blocker for the release.

Regards,

Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

On 9 November 2015 at 14:09, Thomas Jensen <tj.f...@googlemail.com> wrote:
+1

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+...@googlegroups.com.

Michael Gumowski

unread,
Nov 10, 2015, 3:36:26 AM11/10/15
to Thomas Jensen, SonarQube
Hello,

The vote is now closed. Thank you for your tests.
The plugin will be released soon.

Thanks!

Michael GUMOWSKI | SonarSource
Software Developer @ Language Team
http://sonarsource.com

Reply all
Reply to author
Forward
0 new messages