Dependency management for the eclipse ecosystem: eclipse p2, metadata and resolution

One of the strength of Eclipse, the well-known open platform for software development, is its extensibility made possible by the built-in pluggability mechanisms. However those pluggability mechanisms only reveal their full potential when extensions created by others are made easy to distribute and obtain. The purpose of Eclipse p2 project is to build a platform addressing the challenges of distribution and obtention of Eclipse and its extensions, which poses the same dependency management issues than for component based systems. This paper focuses on the dependency management aspect of p2. It describes the metadata used to express dependencies, the overall functioning of our resolver and a description of our propositional constraints based encoding. To conclude we describe the challenges to address in future releases.

[1]  Sorin Lerner,et al.  OPIUM: Optimal Package Install/Uninstall Manager , 2007, 29th International Conference on Software Engineering (ICSE'07).

[2]  Albert Oliveras,et al.  Efficient Generation of Unsatisfiability Proofs and Cores in SAT , 2008, LPAR.

[3]  Roberto Di Cosmo,et al.  Strong dependencies between software components , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[4]  Josep Argelich,et al.  On Solving Boolean Multilevel Optimization Problems , 2009, IJCAI 2009.

[5]  Ralf Treinen,et al.  Solving package dependencies: from EDOS to Mancoosi , 2008, ArXiv.

[6]  Ulrich Junker,et al.  QUICKXPLAIN: Preferred Explanations and Relaxations for Over-Constrained Problems , 2004, AAAI.

[7]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[8]  Inês Lynce,et al.  On Computing Minimum Unsatisfiable Cores , 2004, SAT.

[9]  Alberto Griggio,et al.  A Simple and Flexible Way of Computing Small Unsatisfiable Cores in SAT Modulo Theories , 2007, SAT.

[10]  Roberto Di Cosmo,et al.  Managing the Complexity of Large Free and Open Source Package-Based Software Distributions , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).