Eiffel configuration redirection (.ecf)
Have you ever wished that an Eiffel library could be accessed from more that one place?
Have you ever wished to install your library collection in development under
$ISE_LIBRARY) but still be manage the source with your subversion, or git?
I don't know for you, but I did frequently. And over the years I have been using various solutions using environment, variable, symbolic link, file synchronization, cloud, ... But none of them are easy or friendly.
A solution based on redirection
Lately I have been working on the Eiffel Web Framework project, and I told myself, why not using a solution similar to http redirection that simply use "Location: .." header.
And that's what I implemented for ISE Eiffel compiler based on .ecf and now I'd like to hear from Eiffel users, read your comments and maybe other suggestions.
My suggestion is to add the notion of location to ecf
The following example illustrates the redirection of "wsf" libary to my dev working copy
I created a file under
$ISE_LIBRARY/contrib/library/web/framework/ewf/wsf/wsf-safe.ecf with the following content
<?xml version="1.0" encoding="ISO-8859-1"?>
It just tells the compiler to look at
c:\Eiffel_projects\library\dev\EWF\library\server\wsf\wsf-safe.ecf to get the "wsf" library.
The optional "uuid" attribute could be used to ensure the redirection points to the same library.
I made my own built of Eiffel Studio with this behavior, and I really love it.
The beauty of this solution is that I don't need to use any environment variable, I don't need to update all my .ecf to follow the new location, all I have to do is create the file under $ISE_LIBRARY ... with the
What do you think about this, would you like to see it in EiffelStudio ? Maybe you have suggestion to make it even better?
UPDATED: This functionality will be available from EiffelStudio 13.11 .
The syntax is
<redirection uuid="...." location="path-to-new-location.ecf" />
The uuid is optional, but if it is precised in the redirection file, it has to match with the new location .ecf otherwise a UUID mismatch error will be reported.