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 – Eclipse – Sonar – Subversion – Doxygen – Xunit – Goolge talk – Maven – Redmine – Nexus – Adobe Connect – Jenkins
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