The first major pull request!
As planned for Week 3, the modtool has been rewritten as plug-in architecture with the external plug-ins working absolutely fine (thanks to awesome guidance by the mentors). The pull request has been made from the forked repository modtool branch. I have also worked on documenting the click plug-in architecture. Here is the link to the documentation. I have also started working on separation of modules on the forked repository module_sep branch.
Initially, I worked on making the external plug-ins work for the modtool. The only mistake that I was committing was I was installing the external plug-in inside a virtual environment so the modtool was not able to load the package through the
entry_point (I tried several things to make that work though). After that, I worked on refactoring the code and also made the suggested changes by the mentors.
The documentation part was an awesome experience. It was my first experience on writing a technical blog.
The unit-testing portion also seems exciting. In between, I slightly learned about writing unit tests, including
teardown functions as well as classes that can be beneficial for modtool testing (I slightly read about mocking too, not really beneficial here!).
The work on separation of modules is already in progress. I have already separated the entire
click portion from the core without changing the current functionality of the modtool. Now, I need to shift the CLI portion of various other functions so that the core remains unaware of the CLI.
There were slight problems with the
cmake, the modified code was not being updated at the
dist-packages directory from where it was called during execution on running
make install. Actually, I never specified the prefix while re-building GNU Radio. The problem was sorted out with the guidance of the mentors.
Tasks for Week 4
- Bug fixes of the current modtool branch, if any.
- Work on separation of modules (major task).
- Work on modtool testing.
Link to the updated Github Project.
Link to the forked repository working branch (separation of modules).
Link to the forked repository modtool branch (plug-in stuff).