Release 0.2- Fixing Bug in an Open Source Project

October 30, 2020

This is my third PR for release 0.2. The PR was for a bug fix in the Butterfly project maintained by PayPal.

Butterfly is an application code transformation tool, and commonly it is used to perform automated application migrations, upgrades and source code and configuration changes.

The command-line interface of the application had a bug. The parsing of option -p needed to be changed to allow some escaped characters. I reached out to the maintainer and he assigned the issue to me and I started my research on the code base.

This project had a contribution guideline. It is very important to look for any contribution guideline and follow before starting any work. This project wanted the contributors to checkout the develop branch. Which basically means that I should do my work based on the work done in develop branch. Also, they wanted that the test coverage doesn’t drop and the pull request to be created to the develop branch not master. They also wanted the commit message in a certain way. Again, this is super important to follow the guideline.

It took me a while to find out where exactly I need to make change. I used GitHub’s search tool to find where the option -p have been used in the code base.

GitHub Search Tool

The search gave a all the files where the -p option has been used. Once I found the appropriate file, I made a small change. The change was not huge.

Butterfly Bug Fix

Now, I needed to add some test cases. This my first time writing test cases in a Java project. Butterfly used testng as testing framework. I added three test cases to check my work. Once everything was working as expected, I committed my work and opened a pull request.