In order to provide the highest degree of confidence in the final software and a good traceability of each component, the software life cycle of Keridwen is based on a continuous integration chain following the current industrial standards.
Dependencies management and a simple accessApache Maven
has been selected to control the compilation of all Java-based code and also takes in charge the management of dependencies. Required external libraries (i.e. jars) are clearly identified in the configuration files (pom.xml) and automatically downloaded from central repositories.
Such approach deeply simplifies the management of dependencies and third parties components in your software developments. If your own developments are based on Maven, Keridwen components do not require to be installed manually prior to the development phase. Only the declaration of the relevant Maven artifacts in you pom.xml files is needed to access to the whole library and transitive dependencies. The installation effort is reduced and keep you concentrated on your own developments.
The Maven-based approach provides a fine version tracking, where it is easy to automatically follow the natural versions, evolutions or, depending on your choices and constraints, to keep as reference a given and clearly validated version of third party components. Lastly, the direct access to a centralised repository is also a guaranty on the used software, avoiding unidentified copies potentially modified without traceability.
All Keridwen jars are directly available on our Maven repository
. The corresponding artifacts are also automatically generated and can be directly used.
IPR and licenses tracking
From the project management point of view, a clear and complete tracking of Intellectual and Property Rights (IPR) and licences constitutes a key issue. Thanks to the Maven-based approach, the licenses and the IPR information of each Keridwen component and its related dependencies are automatically tracked.
Continuous integration and code quality
The continuous integration chain is based on Hudson
. Source codes stored on the central Subversion Repository are automatically downloaded and compiled every night on a dedicated central Hudson server
. A Sonar server provides a set of metrics regarding the source code quality. JUnit tests for key functions complete the process.
Currently, Keridwen presents more than 87.7% of rules compliance and about 1.2% of code duplication (Keridwen Core).
A Sonar server
is linked to the Hudson
and produces several metrics regarding the codes quality.