Posts

Showing posts from January, 2014

COCOAPODS: a dependency manager for IOS development

Image
IOS - Dependency Management Problem  During my IOS development experience i've immediately dealt with the "dependencies management" problem. Firstly, my needs were to share code among projects and the only way that i found out was to build "static link libraries" that are files with ".a" extension also because IOS doesn't support dynamic link ones. But very soon i understood that building static libraries, as well as being a little bit complicated, was not the better way to manage project's dependencies. This because, often, my IOS projects were developed, reusing a bunch of code gathered by open source software and not all (almost no one) were distributed/packaged as static library, but provides just source code So my short-term strategy was to copy&paste the code, coming in from third party projects, directly into my project. this strategy seemed working well until i had to deal with maintenance and bug fixing because it ...

MAVEN PLUGIN(S) SERIES - Housekeeping of dependencies

PROBLEM   After a continuos use of maven for project lifecycle management , usually, the local dependencies' repository growth, risks to go  out of control . SOLUTION There are some plugins that help us to do housekeeping on local dependencies' repository. Build Helper Maven Plugin    This plugin contains various small independent goals to assist with the Maven build lifecycle. Maven Dependency Plugin The dependency plugin provides the capability to manipulate artifacts. It can copy and/or unpack artifacts from local or remote repositories to a specified location. The goal  remove-project-artifact of builder-helper plugin, r emove project's artifacts from local repository and it's useful to keep only one copy of large local snapshot. The goal  purge-local-repository of maven-dependency plugin,  remove the project dependencies from the local repository. I suggest you to take a look at both of them in order to understand their...

PlantUML & Maven - Enrich your project's documentation

As read in previous post  " PlantUML a DSL for creating UML Diagram quick & easy ", plantUML is a text based Domain Specific Language (DSL) that helps who need to design UML diagrams, offering also a good integration in IDE like  Eclipse and Netbeans  Another its great feature is the integration with maven that allow us to put our plantUML files within our projects,  generating diagrams  during a project's lifecycle phase (e.g. during site generation), or upon a goal's execution The maven plantuml plugin  is very easy to use, below a typical usage example: Usage from Maven: <plugin> <groupId> com.github.jeluard </groupId> <artifactId> plantuml-maven-plugin </artifactId> <version> 7941 </version> <configuration> <sourceFiles> <directory> ${basedir} </directory> <includes> <include> src/main...

PlantUML - a DSL for creating UML Diagram quick & easy

Image
In my daily work often i need, for helping to make understand, formalization of UML Diagrams (in particular i use Sequence Diagram ). There are lot of tools that allow to write UML Diagrams, not all free and unfortunately, very few of them have been integrated in Development Environments. Moreover the look & feel between them, usually, is very different and the drawing requires some expertise My dream was to have a tool that would allow me to draw UML Diagrams without need to move out from my development environment, minimizing effort needed to draw the diagrams themselves Then by chance i found out  PlantUML  that has seemed to solve all my problems. What is PlantUML provides a text based Domain Specific Language ( DSL ) that focus on " what i need to do " and not on " how i have to draw what i need to do ". This means that with  few of "text's statements"  we can obtain a complete UML Diagram. Take a look to the example below , if w...