Skip to content

Adds Java support - #28

Closed
morganfogg wants to merge 3 commits into
SonarSource:masterfrom
morganfogg:java-support
Closed

Adds Java support#28
morganfogg wants to merge 3 commits into
SonarSource:masterfrom
morganfogg:java-support

Conversation

@morganfogg

Copy link
Copy Markdown

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

screenshot_20180706_103913

@JustAnotherSoftwareDeveloper

Copy link
Copy Markdown

Is there any plans on incorporating this?

@jeansordes

Copy link
Copy Markdown

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

@morganfogg

morganfogg commented Nov 25, 2018

Copy link
Copy Markdown
Author

@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

henryju commented Feb 26, 2019

Copy link
Copy Markdown
Member

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
Copy Markdown

@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

henryju commented Nov 22, 2019

Copy link
Copy Markdown
Member

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
Copy Markdown

@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

jdneo commented Dec 4, 2019

Copy link
Copy Markdown

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

henryju commented Dec 4, 2019

Copy link
Copy Markdown
Member

@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

jdneo commented Dec 4, 2019

Copy link
Copy Markdown

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

henryju commented Dec 4, 2019

Copy link
Copy Markdown
Member

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

jdneo commented Dec 4, 2019

Copy link
Copy Markdown

I see. Thank you @henryju for sharing. 😄

@jdneo

jdneo commented Dec 16, 2019

Copy link
Copy Markdown

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

henryju commented Dec 16, 2019

Copy link
Copy Markdown
Member

@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

jdneo commented Dec 16, 2019

Copy link
Copy Markdown

Thank you @henryju.

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

@foxpluto

Copy link
Copy Markdown

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

jdneo commented Dec 23, 2019

Copy link
Copy Markdown

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

henryju commented Jan 6, 2020

Copy link
Copy Markdown
Member

Hi @jdneo and happy new year.

I will have a look and let you know.

@henryju

henryju commented Jan 7, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Jan 8, 2020

Copy link
Copy Markdown

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

henryju commented Jan 8, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Jan 9, 2020

Copy link
Copy Markdown

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

@henryju

henryju commented Jan 9, 2020

Copy link
Copy Markdown
Member

Thanks!

@jdneo

jdneo commented Jan 13, 2020

Copy link
Copy Markdown

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

henryju commented Jan 13, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Jan 14, 2020

Copy link
Copy Markdown

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

henryju commented Jan 14, 2020

Copy link
Copy Markdown
Member

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

henryju commented Jan 14, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Jan 15, 2020

Copy link
Copy Markdown

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

henryju commented Jan 15, 2020

Copy link
Copy Markdown
Member

Can this API work for this?

I think so, thanks.

@jdneo

jdneo commented Jan 17, 2020

Copy link
Copy Markdown

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

henryju commented Jan 17, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Jan 18, 2020

Copy link
Copy Markdown

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

henryju commented Jan 20, 2020

Copy link
Copy Markdown
Member

@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

jdneo commented Jan 21, 2020

Copy link
Copy Markdown

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

Thanks!

@jdneo

jdneo commented Feb 12, 2020

Copy link
Copy Markdown

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

henryju commented Feb 12, 2020

Copy link
Copy Markdown
Member

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

jdneo commented Feb 12, 2020

Copy link
Copy Markdown

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

jdneo commented Feb 19, 2020

Copy link
Copy Markdown

@henryju,

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

@henryju

henryju commented Feb 19, 2020

Copy link
Copy Markdown
Member

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

@nazarimilad

Copy link
Copy Markdown

@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

henryju commented Feb 19, 2020

Copy link
Copy Markdown
Member

@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
Copy Markdown

I see, thanks for the clarification

@jdneo

jdneo commented Feb 20, 2020

Copy link
Copy Markdown

Hi @henryju,

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

@henryju

henryju commented Feb 20, 2020

Copy link
Copy Markdown
Member

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

Definitely, this will be the sprint purpose :)

@jdneo

jdneo commented Feb 20, 2020

Copy link
Copy Markdown

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

@henryju

henryju commented Feb 25, 2020

Copy link
Copy Markdown
Member

@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

henryju commented Mar 3, 2020

Copy link
Copy Markdown
Member

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

@ghost

ghost commented Mar 3, 2020

Copy link
Copy Markdown

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
Copy Markdown

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

9 participants