Euclid Consortium

Towards our development environment

2012, Dec. 4th SDC meeting 1 Euclid External constraints Consortium

● CODEEN (Redmine and http://apceucliddev.in2p3.fr/jenkins/)

● Common tools

– Python / C++ – Jira – – Sonar – Subversion – Doxygen – Xunit – Goolge talk – Maven – Redmine – Nexus – Adobe Connect –

2012, Dec. 4th SDC meeting 2 Euclid Language and architecture Consortium

● Language: Python (C, C++)

● Central svn repository (http://euclid.esac.esa.int/svn/EC/SGS/)

● IDE: Eclipse + PyDev

● Software architecture and packaging

– Model the testbed, data trains and taker Gaia concepts – Separate the data handling and algorithmic programming – Data model, Framework, Algo (projects? Modules?) ● Study flexible solutions for

– local development, testing and survey data analysis – integration into the IAL – distributing the software?

2012, Dec. 4th SDC meeting 3 Euclid Data model and data handling Consortium

● Data model: first version as XML schema on SVN

– PyXB for automatic Python code generation ● Framework with data handling, loading data from

– ASCII files : SciPy (loadtxt) – Database : SQLAlchemy ORM – FITS files : PyFits ● Panda : large table

● Pickle : object serialization

2012, Dec. 4th SDC meeting 4 Euclid Dependencies and building managementConsortium

● Nexus, Ivy and Ant used in Gaia

● Maven - Nexus is proposed, is it too Java oriented? – Difference between Ant and Maven? ● How can we used the Python “setup” files

● Hubert proposals

– http://zero-install.sourceforge.net/ – http://www.cmake.org/ ● Solution for

– local software development and usage – distribution

2012, Dec. 4th SDC meeting 5 Euclid Configuration, testing and doc Consortium

● Solution for handling configuration

– model the Gaia XML based solution? (Java “properties” thread unsafe) – Python solution? Init? ● Testing set up and conventions

– xUnit and PyUnit? ● Javadoc as an example (look up in Eclipse, automatic doc generation)

– Doxygen

2012, Dec. 4th SDC meeting 6 Euclid Continuous integration, quality tools Consortium

● TeamCity, FindBugs, Cobertura in Gaia

● Jenkins + Cobertura plugin + Sonar

● Pylint

2012, Dec. 4th SDC meeting 7 Euclid Bug reporting and management Consortium

● Jira

● Mylyn ? (in Eclipse)

● Redmine

● XPtracker

2012, Dec. 4th SDC meeting 8