<div dir="ltr">Hello Everyone,<div><br></div><div>So I've been exchanging emails with my mentors regarding things to be done for now. Like I mentioned last week I wanted my code to be reviewed and I was kindly pointed out some current pitfalls and future improvements. I've been dedicating this week to fulfill most of these tasks, fix issues and add new features.<br>
<br><b>What we've done this week:</b><div style>*Finished packaging core.cache (yay). Currently waiting for review.</div></div><div style>*Linking from last week's pom parser: This week I made it possible for users to choose whether they want to parse pom or project.clj.</div>
<div style>*Created a new option to allow users to specify the name of the generated jar file. (This option will likely change a lot in the future when we include the possibility to generate multiple jar files).</div><div style>
*Removed some hardcoded strings.</div><div style>*Changed all classes to be new-style classes.</div><div style>*Moved logic away for the lein_makepkg script into separate modules.</div><div style>*Made our plugin (lein xml) not to rely on leiningen to be built. Instead I wrote a script that uses jar and a custom Manifest file.</div>
<div style>*Refactored the parsers. They now share more logic through the base class.</div><div style>*Refactored lein xml.</div><div style>*Started to incorporate exceptions throughout the code. My apologies this was not done earlier. Created custom exceptions and handle them properly.</div>
<div style>*Added basic logging capabilities using the built-in logger from python.</div><div style>*Improved testing again (coverage went up again, from 84% to 88%. This should increase the more I refactor making everything more testable).</div>
<div style>*Wrote tests for (almost) everything mentioned.</div><div style><b>Next week:</b></div><div style>* Possibly heavy changes for the current Project class as we have discussed in our emails that its current design might not be appropriate.</div>
<div style>* Regroup all the logic that handles the overrides of the options against the default values that get rendered on the templates. Put all this in one place (it is currently scattered)</div><div style>* A new feature to make it easier for maintainers by fetching some more info from the itp bug report such as the description of the package. I've already researched on what needs to be done.</div>
<div style>* Tune the design of the exceptions. I believe the way I implemented them is not the most elegant nor maintainable.</div><div style>* Improve logging.</div><div style>* Package stencil since its dependencies are done. I want to use clojurehelper to package this library and get a bit of the idea on how is working.</div>
<div style><br></div><div style>Like I mentioned earlier most of the changes I've done this week come straight from reflecting with my mentors. If you need clarification on anything I've mentioned please let me know.<br>
<br>Eugenio</div><div style><br></div></div>