Difference between revisions of "ProposalLibraryDependencies"

(No difference)

Revision as of 12:24, 13 November 2006

Problem

Almost every Eiffel library has dependencies on other Eiffel libraries, at the moment those dependencies are specified by using a hard coded file location or expecting the library to be under $ISE_LIBRARY. This solution is not optimal for several reasons: It does not allow flexible installation of additional libraries if the user does not have write permissions in the $ISE_LIBRARY directory, it does not allow to have different, incompatible versions of a library installed at the same time.

Proposal

Library creation

A library gets a unique name and a version number.

Library usage

Instead of specifying the configuration file of the library, the name of the library and (optionally) a min/max version are specified.

Implementation

A repository would map the name, version numbers to actual configuration files. Initially this could be implemented by giving a list of directories to search for libraries, later a possibility to get libraries from an online repository could be added (similar to the Debian apt system).