Skip navigation

JBoss Tools

1 Post authored by: Mickael Istria

Our team has big interest in JavaScript tools in Eclipse. Support for JavaScript is important inside JBoss Tools and JBoss Developer Studio. We rely on JSDT, but we found several important bugs and limitations in it. We had to contribute. We got two people contributing to JSDT (Victor Rubezhny and Denis Golovin) and I (Mickael Istria) been assisting with the release engineering/project setup. We already worked with the existing JSDT team to make many fixes visible in upcoming releases. Some of these are:

 

  • Improved parsing (removes false errors on correct javascript) and better validation
  • More clean and readable code in editor

    JSDT-issues-fixed-411589-a.png

  • Bugfixes for project creation/JS renaming/quickfixes
  • Better handling of runtime errors thrown leading to improved stability

 

In the future we will add more features and fix more bugs.

 

Just as important though is that in the past JSDT was seen as a complex project to contribute too, and suffered from several pitfalls making contributors less productive than they could be. With the help of various people related to JSDT or WTP project, we improved a range of issues making contribution easier.

 

  • There is now a single Git repository to contribute to JSDT. There used to be 3 of them, which scattered the project, made it more difficult to keep things synchronized, and to build all JSDT at once.
  • This repository is handled by Gerrit, so any change can be pushed to Gerrit so it's easier for other contributors to review it
  • You can now build JSDT anywhere with a simple "mvn clean verify -Pbuild-individual-bundles" command, and have as output a p2 repository that you can use to install the latest content in your IDE
  • The same Maven command will also run JSDT automated tests, and will report any failure making it easier to spot regressions
  • It became possible to put JSDT in a continuous integration application, such as Hudson or Jenkins
  • We used Jenkins Gerrit plugin to incoming have Gerrit contributions automatically built and tested, and have Hudson voting on a patch to tell whether it contains a visible regression or not. This either gives more credit to your contribution, or it gives faster feedback if it breaks something.
  • Also, it was easy to create a job with Hudson which generates SonarQube reports. Those reports are quite interesting since they already detected many hotspots where there are very probably bugs and code that has bad performance impact.
  • This have been documented so it's easier for a new contributor to find out how to start
  • With that, we are currently trying to do some code cleanup on JSDT: fix potential bugs, replace bad constructs, improve performance...

 

As you can see, many improvements have been made to make it easy to contribute to JSDT and to give it the necessary infrastructure to increase its quality and agility. You're now very WELCOME to join JSDT and contribute to its evolution. If you want to get started now, the "Clean code" issue is a good starting point and help is very welcome there.