GSoC ’17 Post #4: End of Phase 2

The Phase 2 finally comes to an end. However, we’re so far so good.

What has been done ?

We’ve introduced 3 new bears in our codebase :


A source code indenter, formatter and beautifier for the C, C++, C++/CLI, Objective-C, C# and Java programming languages. The coolest part being, it can suggest patches and modify your source code accordingly. All you have to do it just configure it as per your needs.


A validator for your .travis.yml that attempts to reduce common build errors such as invalid YAML, missing language key, deprecated features or runtime, unsupported runtime versions of Ruby, PHP, OTP, etc.


A configurable linter and style checker for Pug (formerly Jade) that is a clean, whitespace-sensitive template language for writing HTML.

Enrichments applied to the codebase

We’ve enhanced the MarkdownBear by adding crucial plugins like remark-lint and remark-validate-links. The bear will now have increased functionality and report useful messages.

An upsteam release was causing a build failure for the RubocopBear. Pinning was used as the temporary solution to the problem. The source of the problem was investigated and the corresponding patch was submitted. RubocopBear now uses the latest version (i.e. 0.49.1) of the underlying linter.

The LocalBearTestHelper class has been improved and we’re now able to print stdout and stderr when linter bears fail to execute.

Finally, all the dependencies have been added to docker to prevent test failures.

What lies ahead ?

The testing API is almost done and a couple of bears need to be implemented during Phase 3. Also needs to be updated in order to make my contributions visible to the fellow users. That’s all for today and I’ll see you guys in the next blog.