[Soc-coordination] Leiningen & Clojure packaging - Week 5

Eugenio Cano-Manuel Mendoza eugeniocanom at gmail.com
Fri Jul 19 12:56:12 UTC 2013


Hello Everyone,

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.

*What we've done this week:*
*Finished packaging core.cache (yay). Currently waiting for review.
*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.
*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).
*Removed some hardcoded strings.
*Changed all classes to be new-style classes.
*Moved logic away for the lein_makepkg script into separate modules.
*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.
*Refactored the parsers. They now share more logic through the base class.
*Refactored lein xml.
*Started to incorporate exceptions throughout the code. My apologies this
was not done earlier. Created custom exceptions and handle them properly.
*Added basic logging capabilities using the built-in logger from python.
*Improved testing again (coverage went up again, from 84% to 88%. This
should increase the more I refactor making everything more testable).
*Wrote tests for (almost) everything mentioned.
*Next week:*
* Possibly heavy changes for the current Project class as we have discussed
in our emails that its current design might not be appropriate.
* 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)
* 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.
* Tune the design of the exceptions. I believe the way I implemented them
is not the most elegant nor maintainable.
* Improve logging.
* 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.

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.

Eugenio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20130719/7134cc9a/attachment.html>


More information about the Soc-coordination mailing list