4 Weeks in - First Phase Ends

4 weeks ago we set sail on a journey. The sailing has not been smooth. We ran into a few storms during the journey, the high waves sure scared me. But at the end of the day, the calm ocean and the dimly lit moonlight scattered by the clouds was a soothing sight to the eyes. On this journey to the end of the horizons, we’ve reached ashore a small tropical island.

Here we are, four weeks into GSoC, the end of the first coding phase, and the time for my first evaluation.

The first phase began on May 27, a day after my last exam. I still remember I had scheduled to go through the basics of OpenAPI during the Community Bonding Period, instead due to the limited time, and juggling with the semester exams I failed to do so. Even with a slow start, I’ve pretty much accomplished all the planned tasks (and even more unplanned tasks!) for the First Coding Phase. This was possible due to my mentors, Kilari Teja and Vamshi Krishna, constantly pushing me and having the faith in me to get the job done.

The Developments

This phase was all about creating a concrete base for the plugin. The plugin though still in its early stages has started to take form. The main tasks executed by the plugin are

  1. run coala command on the selected files
  2. capture the JSON output
  3. parse the JSON results and
  4. annotate inside the IDE

I’m glad to tell you that the first 3 tasks have been implemented in this phase. The Analyze with coala entry is just a right click away. Clicking on it would run a coala instance, and get the result in JSON. The plugin will do all of the heavy liftings for you, such as getting the configuration from .coafile and even detecting the path to your coala program (still a WIP though). The creation and running of the external process have been done in the most optimal and OpenAPI friendly way.

Running coala analysis

Further, the classes have been written to parse the JSON result, complete with a suite of tests ensuring they work exactly as intended.

Continuing from my last post, Appveyor CI (alongside with Travis CI) has also been set up for building the plugin and running the tests in Windows environment. This had helped me to quickly detect and fix a problem related to the difference in paths in Unix and Windows.

I also had a few interactions with my mentors in which we discussed the work done in the prior weeks and the work to be done in the coming ones. Kilari Teja even reviewed the pull requests thoroughly to make sure quality code gets merged every time.

The Future

Getting the coala process running and working with its JSON output should just be considered a beginning. Though it appears as if a lot of work has been done, the majority still remains. The next phase would include combining everything to create a holistic mainframe and working with the core OpenAPI to highlight parts of the document. This will definitely be more interesting than the work done in the first phase.

Hoping to smash this evaluation.

See ya all on the opposite shore.