KEMBAR78
Adds Java support by morganfogg · Pull Request #28 · SonarSource/sonarlint-vscode · GitHub
Skip to content

Conversation

@morganfogg
Copy link

Adds support for the Java programming language. Tested on several projects, found no issues so far. Screenshot below.

screenshot_20180706_103913

@JustAnotherSoftwareDeveloper

Is there any plans on incorporating this?

@jeansordes
Copy link

@morganfogg Until they accept (or not) your merge request, how can I install it locally ? (I'm on Windows)

@morganfogg
Copy link
Author

morganfogg commented Nov 25, 2018

@eurakilon You'll need NodeJS and the Gulp CLI installed (npm install -g gulp-cli). After that, open a command prompt/powershell window and run these commands:

git clone https://github.com/morganfogg/sonarlint-vscode
cd .\sonarlint-vscode
git checkout java-support
npm install
gulp package

After that, a file called 'sonarlint-vscode-1.6.0-SNAPSHOT.vsix' should appear in the sonarlint-vscode directory. In VS Code, open the command palette and run "Install from VSIX". Select the file. After a few seconds, you'll get a notification saying the extension was installed. (My development machine runs Linux so I haven't actually had a chance to test it on Windows, but I assume it should work the same)

@henryju
Copy link
Member

henryju commented Feb 26, 2019

SonarJava works only when sonar.java.libraries and sonar.java.binaries are provided. So to me this change is not enough. We would have to integrate or replicate what Java language servers (like redhat one) do.

I'm closing the PR for now, having support of Java in VSCode is currently not our priority.

@hexiaokai
Copy link

@henryju What's actually needed for you to support Java in this extension? We (Java team from Microsoft) would like to work with you together to resolve this. Will it be enough if we resolve this issue microsoft/vscode-java-dependency#158? Or do you need anything else?

@henryju
Copy link
Member

henryju commented Nov 22, 2019

Hi @hexiaokai I'm very pleased to hear that you are interested in working together to solve this issue. Having the classes and libraries is already a good first step. The other information we would need to have all rules behavior correct would be the project source level. This is to set the property sonar.java.source: https://docs.sonarqube.org/latest/analysis/languages/java/#header-4

@ronteeter
Copy link

@hexiaokai would having maven or Gradle dependencies mapped into the build help drive this? I think that most teams wanting this capability would be able/willing to support that.

@jdneo
Copy link

jdneo commented Dec 4, 2019

Hi @henryju,

Maybe a stupid question here: Just curious does that mean that some sules of SonarJava requires the output/library path? Iike Bug/Vulnerability finding?

@henryju
Copy link
Member

henryju commented Dec 4, 2019

@jdneo in fact the output/library paths are mandatory for all rules, not only Bug/Vulnerability. In the past we did the distinction of rules needing classpath vs "simple" rules, but it was confusing for users to have only partial results at the end of the analysis. Now SonarJava requires a proper classpath configuration to build the typed AST we are using to write rules.
In fact even "simple" rules like naming conventions can often benefit from a proper type resolution.

@jdneo
Copy link

jdneo commented Dec 4, 2019

Thank you @henryju. So the SonarJava will only partially work if the output/library paths are not provided, is that true?

Cuz I tried to directly enable the SonarJava in SonarLint-VSCode just like what morganfogg does and it still can do some checks.

@henryju
Copy link
Member

henryju commented Dec 4, 2019

My bad, in the SonarLint context SonarJava will not fail the analysis but only log a warning and then work "at best".
https://github.com/SonarSource/sonar-java/blob/94e1a789ca16dc2cd0028e7bebf831823dedd31d/java-frontend/src/main/java/org/sonar/java/JavaClasspath.java#L61

That's why you can see some issues. Still this is not satisfying for us, and not the user experience we want to offer to users.

@jdneo
Copy link

jdneo commented Dec 4, 2019

I see. Thank you @henryju for sharing. 😄

@jdneo
Copy link

jdneo commented Dec 16, 2019

Hi @henryju,

I have another question, for example, if there is an API like this:

/**
 * Get the classpath information
 * @param uri Uri of the file/project needs to be queried
 * @param classpathQueryOptions Query options
 */
export function getClasspath(uri: Uri, classpathQueryOptions: ClasspathQueryOptions): Promise<string[]>
export interface ClasspathQueryOptions {
	/**
	 * determine the result should contain with test or not.
	 */
	includingTest: boolean;
}

it just returns the classpaths of the project instead of separating the output and libs, will it work? Or will sonarlint require that binary output path and the lib path must be separated?

@henryju
Copy link
Member

henryju commented Dec 16, 2019

@jdneo SonarJava separates libraries and binaries for historical reasons/backward compatibility with the SonarQube Findbugs plugin. For SonarLint that's not a big deal since we don't run third party analyzers, and your example of API would be great.

@jdneo
Copy link

jdneo commented Dec 16, 2019

Thank you @henryju.

I will try to make out a private build for you recently.

@foxpluto
Copy link

It's a pleasure to read that someone is working on the porting of Sonar Java into VCS.
I have waited the plugin for a long time.
Hope to see your work finished soon.

Regards,
S.

@jdneo
Copy link

jdneo commented Dec 23, 2019

Hi @henryju,

I've created related PRs to expose APIs to get project settings/classpaths, the source code changes can be found here:

API document is here: https://github.com/redhat-developer/vscode-java/blob/ce8c4797cb0222ccb0f705457942094711d64797/src/extension.api.ts#L9-L38

You can also use this private build to verify the APIs: https://drive.google.com/open?id=1ocOrSaFGs9qGjLCUtKgSPkuxbTe_pbmB

Below is a simple usage example:

const extension: Extension<any> | undefined = extensions.getExtension('redhat.java');
try {
    const extensionApi: any = await extension!.activate();
    if (extensionApi) {
        // Suppose current active editor is a java source file.
        const uri: string = window.activeTextEditor!.document.uri.toString();
        console.log(await extensionApi.getProjectSettings(uri, ['org.eclipse.jdt.core.compiler.compliance']));
        console.log(await extensionApi.getClasspaths(uri, { excludingTests: false }));
    }
} catch (error) {
    // Swallow the error
}

If you have any concern, please just feel free to comment in the PRs.

Thanks,

@henryju
Copy link
Member

henryju commented Jan 6, 2020

Hi @jdneo and happy new year.

I will have a look and let you know.

@henryju
Copy link
Member

henryju commented Jan 7, 2020

Works fine so far, thanks. Do you know how expensive it is to call those methods? Especially getClasspaths.

In my test I'm querying classpath for every analysis. If performance is a concern, I should probably implement some caching mechanism (querying only once when file get opened). But then I would need a way to be notified when the configuration/classpath change on Java LS side (for example user adding a dependency to the pom.xml), to evict the cache.

@jdneo
Copy link

jdneo commented Jan 8, 2020

Hi @henryju,

Thank you for your feedback. Some update:

  • The project setting query should be cheap.
  • The classpaths query should be avoided executing frequently. Yes, just as your comment said, a cache here should be necessary. I'm asking the RedHat team to check if there is any mechanism to send the notification when the classpaths change (in this PR).

Thanks.

@henryju
Copy link
Member

henryju commented Jan 8, 2020

Another question: do you know if it would be possible to expose an API so that we could query if a given Java file is in a test container or not (to decide which classpath we should use). Currently in VSCode, we are deciding based on a file name pattern (**/Test.) but this is a bit weak, and since JDT has the information, it would be safer for us to get it, and not rely on the file name.

@henryju henryju mentioned this pull request Jan 8, 2020
@jdneo
Copy link

jdneo commented Jan 9, 2020

Yes it's possible to expose the API to query the test scope, I can do that.

@henryju
Copy link
Member

henryju commented Jan 9, 2020

Thanks!

@jdneo
Copy link

jdneo commented Jan 13, 2020

I did some updates to the API.

The private build is here: https://drive.google.com/open?id=1RTng3i12kYu7C-v9MECTJPnJPNtk9lmA

Please check here about the API changes and let me know if it meets the requirements.

The changes are:

  1. Add the uri string of the project root in the ClasspathResult
  2. Add a command isTestFile(uri: Uri) to detect test file
  3. Add a event callback onDidClasspathUpdate: Event<Uri> when the classpath is updated. (Only work for Maven/Gradle)

@henryju
Copy link
Member

henryju commented Jan 13, 2020

I have updated the two PRs on our side to take benefit of your latest additions. This is quick and dirty code, but feel free to comment if you see obvious mistakes (especially in the way to register the listener for the onDidClasspathUpdate event).
#68
SonarSource/sonarlint-language-server#10
In final code we will have to test the runtime version of vscode-java (or of the exposed API).

@ALL watching this thread, feel free to give a try using this artifact:
https://repox.jfrog.io/repox/sonarsource/org/sonarsource/sonarlint/vscode/sonarlint-vscode/1.14.0-build.14209/sonarlint-vscode-1.14.0-build.14209.vsix

@jdneo let me know if you need more tests from me. We will wait for the changes to be released in vscode-java and then do a proper sprint to add officially the support of Java in SonarLint VSCode!

@jdneo
Copy link

jdneo commented Jan 14, 2020

Hi @henryju,

Thank you for the update!

I tried the artifact but not able to launch. Seems that the main field in package.json needs to be updated from out/src/extension to dist/extension. After that, the extension can be activated successfully.

Also I have some maybe stupid questions here 😄

  • Should we also add the modulepath to the classpath field and pass it to the SonarJava?
  • From the server side code, it seems that we are assuming that the project root folder is the same as the workspace folder. But what about the case for multi-module project? the project root folder might be a sub-folder of the workspace folder?

@henryju
Copy link
Member

henryju commented Jan 14, 2020

Seems that the main field in package.json needs to be updated

My bad, fixed in https://repox.jfrog.io/repox/sonarsource/org/sonarsource/sonarlint/vscode/sonarlint-vscode/1.14.0-build.14248/sonarlint-vscode-1.14.0-build.14248.vsix

Should we also add the modulepath to the classpath field and pass it to the SonarJava?

Yep, very likely. I will give a try with a modular project.

we are assuming that the project root folder is the same as the workspace folder

Good catch. I haven't tried a multi-module project, and I was assuming each module would be mapped to a workspace root folder (similar to the Eclipse behavior with modules mapped to Eclipse projects). I will try and let you know.

@henryju
Copy link
Member

henryju commented Jan 14, 2020

Additional request/question: I see that JDK libraries are not included into the classpath.

I am not sure this is a bid deal today, because of this issue on SonarJava side: https://jira.sonarsource.com/browse/SONARJAVA-3056

But just in case, do you think we could get access to the JDK libraries used to compile the project. For reference this is what we do on SonarLint Eclipse:
https://github.com/SonarSource/sonarlint-eclipse/blob/6a91a734a4be92817f174c8177204baa02938380/org.sonarlint.eclipse.jdt/src/org/sonarlint/eclipse/jdt/internal/JdtUtils.java#L133
And it returns things like:

/usr/java/jdk1.8.0_231-amd64/jre/lib/resources.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/rt.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/jsse.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/jce.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/charsets.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/jfr.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/nashorn.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/jaccess.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/sunjce_provider.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/cldrdata.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/sunpkcs11.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/localedata.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/dnsns.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/jfxrt.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/zipfs.jar,/usr/java/jdk1.8.0_231-amd64/jre/lib/ext/sunec.jar

@jdneo
Copy link

jdneo commented Jan 15, 2020

Additional request/question: I see that JDK libraries are not included into the classpath.

In the APIs, there is a field called javaRequirement, which contains the path of java home. The Java Language Server will use this path as the JDK path and to compile the project. Can this API work for this?

@henryju
Copy link
Member

henryju commented Jan 15, 2020

Can this API work for this?

I think so, thanks.

@jdneo
Copy link

jdneo commented Jan 17, 2020

Hi @henryju

I tried the new bits on my Mac, and found that sometime it will keep resolving the quickfix but without any response.
Kapture 2020-01-17 at 13 47 16

Do you know why?

@henryju
Copy link
Member

henryju commented Jan 17, 2020

That's strange, because we are only returning "static" commands as quick fixes (show rule description / disable rule) so it should not involve any Java specific code.
Do you see something special in the SonarLint output?
Does it happens only for the same problem, or can you reproduce with multiple problems from different rules?

@jdneo
Copy link

jdneo commented Jan 18, 2020

Hi @henryju,

I was trying diagnostic the problem, I tried to toggle the rule but then I got this error:

Error running command SonarLint.ActivateRule: Running the contributed command: 'SonarLint.ActivateRule' failed.. This is likely caused by the extension that contributes SonarLint.ActivateRule.

The logs in output:

Executing /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java -jar /Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/server/sonarlint-ls.jar 58558 file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarjava.jar file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarjs.jar file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarphp.jar file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarpython.jar file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarts.jar file:///Users/neo/.vscode/extensions/sonarsource.sonarlint-vscode-1.14.0-build.14248/analyzers/sonarhtml.jar
Binding to 58558
Child process connected on port 58558
Starting standalone SonarLint engine...
Using 6 analyzers
Global settings updated: WorkspaceSettings[disableTelemetry=false,servers={},excludedRules=[java:S2204],includedRules=[java:S1696, java:S1698]]
Default settings updated: WorkspaceFolderSettings[analyzerProperties={},testFilePattern={**/test/**,**/*test*,**/*Test*},serverId=<null>,projectKey=<null>]
Workspace workspaceFolderPath 'WorkspaceFolder[uri=file:///Users/neo/Documents/temp/TestNG-Spring,name=TestNG-Spring]' configuration updated: WorkspaceFolderSettings[analyzerProperties={},testFilePattern={**/test/**,**/*test*,**/*Test*},serverId=<null>,projectKey=<null>]
Create : /Users/neo/.sonarlint/plugins
Plugin cache: /Users/neo/.sonarlint/plugins
Create : /Users/neo/.sonarlint/plugins/_tmp
Load plugins
Load plugins (done) | time=18ms
Plugins:
  * SonarPython 2.3.0.5351 (python)
  * SonarJava 6.0.0.20538 (java)
  * SonarHTML 3.2.0.2082 (web)
  * SonarPHP 3.3.0.5166 (php)
  * SonarTS 1.9.0.3766 (typescript)
  * SonarJS 5.1.1.7506 (javascript)
[Info  - 7:01:41 PM] Starting SonarTS Server
Deploying bundle to /Users/neo/.sonarlint/work/.sonartmp_8590878447381587195/1311237559741510224
[Info  - 7:01:45 PM] Using typescript at [/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript], version 3.7.3
[Info  - 7:01:45 PM] SonarTS Server is started
Standalone SonarLint engine started
[Info  - 7:01:45 PM] SonarTS Server connected to 58567
Jan 18, 2020 7:01:46 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
WARNING: Unmatched cancel notification for request id 4
Cached Java config for file:///Users/neo/Documents/temp/TestNG-Spring
Analysis triggered on 'file:///Users/neo/Documents/temp/TestNG-Spring/src/main/java/com/mkyong/testng/project/controller/MainController.java' with configuration: 
[
  baseDir: /Users/neo/Documents/temp/TestNG-Spring
  extraProperties: {sonar.java.source=1.6, sonar.java.libraries=/Users/neo/Documents/temp/TestNG-Spring/target/classes,/Users/neo/.m2/repository/org/springframework/spring-core/3.2.2.RELEASE/spring-core-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar,/Users/neo/.m2/repository/org/springframework/spring-web/3.2.2.RELEASE/spring-web-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar,/Users/neo/.m2/repository/org/springframework/spring-aop/3.2.2.RELEASE/spring-aop-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-beans/3.2.2.RELEASE/spring-beans-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-context/3.2.2.RELEASE/spring-context-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-expression/3.2.2.RELEASE/spring-expression-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-webmvc/3.2.2.RELEASE/spring-webmvc-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-test/3.2.2.RELEASE/spring-test-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/testng/testng/6.8.7/testng-6.8.7.jar,/Users/neo/.m2/repository/junit/junit/4.10/junit-4.10.jar,/Users/neo/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar,/Users/neo/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar,/Users/neo/.m2/repository/com/beust/jcommander/1.27/jcommander-1.27.jar,/Users/neo/.m2/repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-java/2.39.0/selenium-java-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-android-driver/2.39.0/selenium-android-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/2.39.0/selenium-remote-driver-2.39.0.jar,/Users/neo/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar,/Users/neo/.m2/repository/org/json/json/20080701/json-20080701.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-api/2.39.0/selenium-api-2.39.0.jar,/Users/neo/.m2/repository/com/google/guava/guava/15.0/guava-15.0.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3.jar,/Users/neo/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar,/Users/neo/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar,/Users/neo/.m2/repository/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar,/Users/neo/.m2/repository/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/2.39.0/selenium-chrome-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-htmlunit-driver/2.39.0/selenium-htmlunit-driver-2.39.0.jar,/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit/2.13/htmlunit-2.13.jar,/Users/neo/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar,/Users/neo/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar,/Users/neo/.m2/repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar,/Users/neo/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar,/Users/neo/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1.jar,/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit-core-js/2.13/htmlunit-core-js-2.13.jar,/Users/neo/.m2/repository/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar,/Users/neo/.m2/repository/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19.jar,/Users/neo/.m2/repository/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11.jar,/Users/neo/.m2/repository/org/w3c/css/sac/1.3/sac-1.3.jar,/Users/neo/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-websocket/8.1.12.v20130726/jetty-websocket-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/2.39.0/selenium-firefox-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/2.39.0/selenium-ie-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-iphone-driver/2.39.0/selenium-iphone-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/2.39.0/selenium-safari-driver-2.39.0.jar,/Users/neo/.m2/repository/org/webbitserver/webbit/0.4.14/webbit-0.4.14.jar,/Users/neo/.m2/repository/io/netty/netty/3.5.2.Final/netty-3.5.2.Final.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-support/2.39.0/selenium-support-2.39.0.jar, sonar.java.test.libraries=/Users/neo/Documents/temp/TestNG-Spring/target/test-classes,/Users/neo/Documents/temp/TestNG-Spring/target/classes,/Users/neo/.m2/repository/org/springframework/spring-core/3.2.2.RELEASE/spring-core-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar,/Users/neo/.m2/repository/org/springframework/spring-web/3.2.2.RELEASE/spring-web-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar,/Users/neo/.m2/repository/org/springframework/spring-aop/3.2.2.RELEASE/spring-aop-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-beans/3.2.2.RELEASE/spring-beans-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-context/3.2.2.RELEASE/spring-context-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-expression/3.2.2.RELEASE/spring-expression-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-webmvc/3.2.2.RELEASE/spring-webmvc-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/springframework/spring-test/3.2.2.RELEASE/spring-test-3.2.2.RELEASE.jar,/Users/neo/.m2/repository/org/testng/testng/6.8.7/testng-6.8.7.jar,/Users/neo/.m2/repository/junit/junit/4.10/junit-4.10.jar,/Users/neo/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar,/Users/neo/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar,/Users/neo/.m2/repository/com/beust/jcommander/1.27/jcommander-1.27.jar,/Users/neo/.m2/repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-java/2.39.0/selenium-java-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-android-driver/2.39.0/selenium-android-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/2.39.0/selenium-remote-driver-2.39.0.jar,/Users/neo/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar,/Users/neo/.m2/repository/org/json/json/20080701/json-20080701.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-api/2.39.0/selenium-api-2.39.0.jar,/Users/neo/.m2/repository/com/google/guava/guava/15.0/guava-15.0.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3.jar,/Users/neo/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar,/Users/neo/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar,/Users/neo/.m2/repository/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar,/Users/neo/.m2/repository/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/2.39.0/selenium-chrome-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-htmlunit-driver/2.39.0/selenium-htmlunit-driver-2.39.0.jar,/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit/2.13/htmlunit-2.13.jar,/Users/neo/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar,/Users/neo/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar,/Users/neo/.m2/repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar,/Users/neo/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar,/Users/neo/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar,/Users/neo/.m2/repository/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1.jar,/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit-core-js/2.13/htmlunit-core-js-2.13.jar,/Users/neo/.m2/repository/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar,/Users/neo/.m2/repository/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19.jar,/Users/neo/.m2/repository/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11.jar,/Users/neo/.m2/repository/org/w3c/css/sac/1.3/sac-1.3.jar,/Users/neo/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-websocket/8.1.12.v20130726/jetty-websocket-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/2.39.0/selenium-firefox-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/2.39.0/selenium-ie-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-iphone-driver/2.39.0/selenium-iphone-driver-2.39.0.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/2.39.0/selenium-safari-driver-2.39.0.jar,/Users/neo/.m2/repository/org/webbitserver/webbit/0.4.14/webbit-0.4.14.jar,/Users/neo/.m2/repository/io/netty/netty/3.5.2.Final/netty-3.5.2.Final.jar,/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-support/2.39.0/selenium-support-2.39.0.jar}
  excludedRules: [java:S2204]
  includedRules: [java:S1696, java:S1698]
  inputFiles: [
    file:///Users/neo/Documents/temp/TestNG-Spring/src/main/java/com/mkyong/testng/project/controller/MainController.java (UTF-8) [java]
  ]
]

Available languages:
  * Python => "py"
  * Java => "java"
  * HTML => "web"
  * JSP => "jsp"
  * PHP => "php"
  * TypeScript => "ts"
  * JavaScript => "js"
Start analysis
Declared extensions of language Python were converted to py: **/*.py
Declared extensions of language Java were converted to java: **/*.java,**/*.jav
Declared extensions of language HTML were converted to web: **/*.html,**/*.xhtml,**/*.cshtml,**/*.vbhtml,**/*.aspx,**/*.ascx,**/*.rhtml,**/*.erb,**/*.shtm,**/*.shtml
Declared extensions of language JSP were converted to jsp: **/*.jsp,**/*.jspf,**/*.jspx
Declared extensions of language PHP were converted to php: **/*.php,**/*.php3,**/*.php4,**/*.php5,**/*.phtml,**/*.inc
Declared extensions of language TypeScript were converted to ts: **/*.ts,**/*.tsx
Declared extensions of language JavaScript were converted to js: **/*.js,**/*.jsx,**/*.vue
[Info  - 7:01:49 PM] Index files
Language of file 'file:///Users/neo/Documents/temp/TestNG-Spring/src/main/java/com/mkyong/testng/project/controller/MainController.java' is set to 'java'
[Info  - 7:01:49 PM] 1 file indexed
Execute Sensor: JavaSquidSensor
[Info  - 7:01:50 PM] Configured Java source version (sonar.java.source): 6
[Info  - 7:01:50 PM] JavaClasspath initialization
[Info  - 7:01:50 PM] JavaClasspath initialization (done) | time=18ms
[Info  - 7:01:50 PM] JavaTestClasspath initialization
[Info  - 7:01:50 PM] JavaTestClasspath initialization (done) | time=12ms
----- Classpath analyzed by Squid:
/Users/neo/Documents/temp/TestNG-Spring/target/classes
/Users/neo/.m2/repository/org/springframework/spring-core/3.2.2.RELEASE/spring-core-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
/Users/neo/.m2/repository/org/springframework/spring-web/3.2.2.RELEASE/spring-web-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
/Users/neo/.m2/repository/org/springframework/spring-aop/3.2.2.RELEASE/spring-aop-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-beans/3.2.2.RELEASE/spring-beans-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-context/3.2.2.RELEASE/spring-context-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-expression/3.2.2.RELEASE/spring-expression-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-webmvc/3.2.2.RELEASE/spring-webmvc-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-test/3.2.2.RELEASE/spring-test-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/testng/testng/6.8.7/testng-6.8.7.jar
/Users/neo/.m2/repository/junit/junit/4.10/junit-4.10.jar
/Users/neo/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
/Users/neo/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
/Users/neo/.m2/repository/com/beust/jcommander/1.27/jcommander-1.27.jar
/Users/neo/.m2/repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-java/2.39.0/selenium-java-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-android-driver/2.39.0/selenium-android-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/2.39.0/selenium-remote-driver-2.39.0.jar
/Users/neo/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar
/Users/neo/.m2/repository/org/json/json/20080701/json-20080701.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-api/2.39.0/selenium-api-2.39.0.jar
/Users/neo/.m2/repository/com/google/guava/guava/15.0/guava-15.0.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3.jar
/Users/neo/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
/Users/neo/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar
/Users/neo/.m2/repository/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar
/Users/neo/.m2/repository/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/2.39.0/selenium-chrome-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-htmlunit-driver/2.39.0/selenium-htmlunit-driver-2.39.0.jar
/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit/2.13/htmlunit-2.13.jar
/Users/neo/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar
/Users/neo/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar
/Users/neo/.m2/repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar
/Users/neo/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
/Users/neo/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1.jar
/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit-core-js/2.13/htmlunit-core-js-2.13.jar
/Users/neo/.m2/repository/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar
/Users/neo/.m2/repository/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19.jar
/Users/neo/.m2/repository/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11.jar
/Users/neo/.m2/repository/org/w3c/css/sac/1.3/sac-1.3.jar
/Users/neo/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-websocket/8.1.12.v20130726/jetty-websocket-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/2.39.0/selenium-firefox-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/2.39.0/selenium-ie-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-iphone-driver/2.39.0/selenium-iphone-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/2.39.0/selenium-safari-driver-2.39.0.jar
/Users/neo/.m2/repository/org/webbitserver/webbit/0.4.14/webbit-0.4.14.jar
/Users/neo/.m2/repository/io/netty/netty/3.5.2.Final/netty-3.5.2.Final.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-support/2.39.0/selenium-support-2.39.0.jar
-----
----- Classpath analyzed by Squid:
/Users/neo/Documents/temp/TestNG-Spring/target/test-classes
/Users/neo/Documents/temp/TestNG-Spring/target/classes
/Users/neo/.m2/repository/org/springframework/spring-core/3.2.2.RELEASE/spring-core-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
/Users/neo/.m2/repository/org/springframework/spring-web/3.2.2.RELEASE/spring-web-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
/Users/neo/.m2/repository/org/springframework/spring-aop/3.2.2.RELEASE/spring-aop-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-beans/3.2.2.RELEASE/spring-beans-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-context/3.2.2.RELEASE/spring-context-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-expression/3.2.2.RELEASE/spring-expression-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-webmvc/3.2.2.RELEASE/spring-webmvc-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/springframework/spring-test/3.2.2.RELEASE/spring-test-3.2.2.RELEASE.jar
/Users/neo/.m2/repository/org/testng/testng/6.8.7/testng-6.8.7.jar
/Users/neo/.m2/repository/junit/junit/4.10/junit-4.10.jar
/Users/neo/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
/Users/neo/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
/Users/neo/.m2/repository/com/beust/jcommander/1.27/jcommander-1.27.jar
/Users/neo/.m2/repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-java/2.39.0/selenium-java-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-android-driver/2.39.0/selenium-android-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/2.39.0/selenium-remote-driver-2.39.0.jar
/Users/neo/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar
/Users/neo/.m2/repository/org/json/json/20080701/json-20080701.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-api/2.39.0/selenium-api-2.39.0.jar
/Users/neo/.m2/repository/com/google/guava/guava/15.0/guava-15.0.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3.jar
/Users/neo/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
/Users/neo/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar
/Users/neo/.m2/repository/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar
/Users/neo/.m2/repository/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/2.39.0/selenium-chrome-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-htmlunit-driver/2.39.0/selenium-htmlunit-driver-2.39.0.jar
/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit/2.13/htmlunit-2.13.jar
/Users/neo/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar
/Users/neo/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar
/Users/neo/.m2/repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar
/Users/neo/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
/Users/neo/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
/Users/neo/.m2/repository/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1.jar
/Users/neo/.m2/repository/net/sourceforge/htmlunit/htmlunit-core-js/2.13/htmlunit-core-js-2.13.jar
/Users/neo/.m2/repository/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar
/Users/neo/.m2/repository/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19.jar
/Users/neo/.m2/repository/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11.jar
/Users/neo/.m2/repository/org/w3c/css/sac/1.3/sac-1.3.jar
/Users/neo/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-websocket/8.1.12.v20130726/jetty-websocket-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/2.39.0/selenium-firefox-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/2.39.0/selenium-ie-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-iphone-driver/2.39.0/selenium-iphone-driver-2.39.0.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/2.39.0/selenium-safari-driver-2.39.0.jar
/Users/neo/.m2/repository/org/webbitserver/webbit/0.4.14/webbit-0.4.14.jar
/Users/neo/.m2/repository/io/netty/netty/3.5.2.Final/netty-3.5.2.Final.jar
/Users/neo/.m2/repository/org/seleniumhq/selenium/selenium-support/2.39.0/selenium-support-2.39.0.jar
-----
[Info  - 7:01:50 PM] Java Main Files AST scan
[Info  - 7:01:50 PM] 1 source files to be analyzed
Initializing metadata of file file:///Users/neo/Documents/temp/TestNG-Spring/src/main/java/com/mkyong/testng/project/controller/MainController.java
[Info  - 7:01:52 PM] 1/1 source files have been analyzed
[Info  - 7:01:52 PM] Java Main Files AST scan (done) | time=1269ms
[Info  - 7:01:52 PM] Java Test Files AST scan
[Info  - 7:01:52 PM] 0 source files to be analyzed
[Info  - 7:01:52 PM] 0/0 source files have been analyzed
[Info  - 7:01:52 PM] Java Test Files AST scan (done) | time=5ms
'Python Sensor' skipped because there is no related file in current project
Execute Sensor: JavaXmlSensor
Execute Sensor: HTML
'PHP sensor' skipped because there is no related file in current project
'Analyzer for "php.ini" files' skipped because there is no related file in current project
'Contextual SonarTS' skipped because there is no related file in current project
'SonarJS' skipped because there is no related file in current project
'ESLint-based SonarJS' skipped because there is no related file in current project

BTW, if there is any other API request, please let me know.

Thanks,

@henryju
Copy link
Member

henryju commented Jan 20, 2020

@jdneo this is a busy week for me and my team, so I will investigate the issue on MacOS only next week.

if there is any other API request, please let me know.

This is all good IMO, we are waiting for the merge in vscode-java and then we'll do a cleaner implementation on our side shortly after.

@jdneo
Copy link

jdneo commented Jan 21, 2020

@henryju Ok. I will add some UTs for the APIs and make sure they could be merged ASAP.

Thanks!

@jdneo
Copy link

jdneo commented Feb 12, 2020

Update: The PR has been merged, here is a latest build which you can play with: https://download.jboss.org/jbosstools/jdt.ls/staging/java-0.56.0-2015.vsix

@henryju
Copy link
Member

henryju commented Feb 12, 2020

Hourra (and thanks)! We are planning a sprint very soon. Do you have any insight of when the new release of vscode-java with those changes will be published on the marketplace?

@jdneo
Copy link

jdneo commented Feb 12, 2020

We are in the QA process now. If everything works fine, hopefully it could be released in the next week.

Stay tuned, I'll leave comments here if there is any updates.

Thanks.

@jdneo
Copy link

jdneo commented Feb 19, 2020

@henryju,

Just FYI, the new version(0.56.0) with the APIs has been released.

@henryju
Copy link
Member

henryju commented Feb 19, 2020

Perfect, on our side the sprint is planned to start next week.

@nazarimilad
Copy link

@jdneo The latest version of sonarlint-vscode is currently 1.14.0 if I'm not mistaken. Is the new version 0.56.0 about something else?

@henryju
Copy link
Member

henryju commented Feb 19, 2020

@nazarimilad 0.56.0 is the version of vscode-java extension that SonarLint will require to enable analysis of Java code. New API exposed by vscode-java extension is a pre-requisite before we could have a good execution of our Java analyzer.

@nazarimilad
Copy link

I see, thanks for the clarification

@jdneo
Copy link

jdneo commented Feb 20, 2020

Hi @henryju,

May I ask will SonarLint start the work to support Java in your next sprint(week)?

@henryju
Copy link
Member

henryju commented Feb 20, 2020

May I ask will SonarLint start the work to support Java in your next sprint(week)?

Definitely, this will be the sprint purpose :)

@jdneo
Copy link

jdneo commented Feb 20, 2020

Great! Can't wait to see SonarLint supports Java in VS Code. 😃

@henryju
Copy link
Member

henryju commented Feb 25, 2020

@jdneo May I ask you to give a look at #68 and give me your feedback on the way I'm calling your API?

@henryju
Copy link
Member

henryju commented Mar 3, 2020

Version 1.15.0 just released! Thanks again @jdneo for the support, and to all participants of this topic for the patience :)

@ghost
Copy link

ghost commented Mar 3, 2020

Celebration time! 🎉

@jdneo and @hexiaokai : this was a nice cross-team effort. Any chance you guys can echo the announcement to your VS Code community as well?

@hexiaokai
Copy link

Celebration time! 🎉

@jdneo and @hexiaokai : this was a nice cross-team effort. Any chance you guys can echo the announcement to your VS Code community as well?

Sure. We plan to mention this in various channels including our monthly blog and next release of Java extension pack. Thank you for the great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants