Revision as of 23:58, 16 September 2006 by Paco (Talk | contribs)

--Patrickr 02:53, 14 September 2006 (CEST)

Maybe we could think of libraries more like "plugins" for eiffelstudio (and maybe at a later point there could even be plugins). I could imagine a dialog where I could select the libraries to download (and this would also handle dependencies).

Points to think about I see are: dependency handling, nameing schema (for dependency handling), version handling (problems like library a needs version < 2 of b and library c needs version > 2 of b)

In general it may make sense to have a look at how others have solved this problems (e.g. plugin system in eclipse, apt system in debian, ...)

I would very much like to see an application that is independent of Eiffel Studio that could handle installation of Eiffel libraries and components, and also depenedencies between libraries and components. I think that looking at other "package" handlers like APT is a very good start. Maybe apt could be used "as is" but with little tweaks.

It is important that the application is independent of Eiffel Studio in the sense that it can be upgraded independently of Eiffel Studio. In general it would be good if the application is independent of Eiffel Studio, but at the same time that it can easily be started/called from within Eiffel Studio.

Some general requirements are:

  • Ability to have multiple versions of a given library/component installed. This is useful both for people who are working in different projects using different library/component versions and when upgrading from one library/component version to another.
  • Eiffel Studio itself should be regarded as any other library/component as regards dependencies. Eg: "requires EiffelStudio 5.7|6.0".
  • A reference implementation of the application should be done as a command line program so that it is scriptable.
  • It would be very nice if the application also could handle CVS/Subversion checkouts/updates for a given library/component (relying of course on the standard CVS/Subversion command line tools).

A requirement on ace/ecf files is that it must be easy to switch between different versions of a given library/component. Ace/ecf files should also explicitly list which version of each library/component the system should be compiled against.