Clusters Tab

 

This is where you specify the directories where to look for classes when compiling your system. A cluster has a name and a path associated with it. Each cluster name in the system must be unique and only one cluster can reference a path, i.e. two clusters with different names cannot refer to the same path.

Here is how the clusters tab looks like for the calculator example:

 

In this tab, you will have on the left hand side of the window a tree representation of the clusters list. The tree representation lets you see the cluster hierarchy of the system. On the right hand side you can specify the cluster properties.

 

Cluster properties

 

The name of the cluster is what you will see displayed in the Cluster Tree. The path name will be used by the compiler to find the classes it needs to complete the compilation of your system.  The 'Namespace' field is applicable to .NET compiled systems and indicates the namespace of the currently selected cluster.

You can also specify if the cluster is an "override" one. There can be only one override cluster. Each time you select one to be the override cluster, the previous override cluster if any will lose this property.

To make it easy to find classes you can specify either the `library' or `all' option. They will both have the same effect when looking for classes, i.e. the compiler will look at all Eiffel classes located in the specified directory and its subdirectories. The difference between these two options is that when you select `library', the classes will not be editable from the EiffelStudio environment.

The idea is that you should use `library' when reusing a library made by someone else over which you have no control. For example, EiffelBase is a such a library. You should use `all' for the libraries you are working on.

 

Cluster options

This is where you can override some options that have been set for your system in either the General tab or the Debug Tab.

You can choose to specify for the currently selected cluster:

If you choose to override all options, here is how it will look like:

 

Visible Classes

When you need to compile a project that will be used for a CECIL or an EiffelCOM application you need to mark some classes as visible. You can do it using the visible classes tab:

To add a class, simply enter its name and click on Add. This will only work for classes that are in the selected cluster. If you put an invalid class name an error will be raised during the compilation of your system.

If you made an error simply select the class from the list, modify it in the `Entry' field and then click on Apply. The correct name will now appear in the list.

To remove a class from the list, simply select it and click on Remove.

 

Exclude/Include

The exclude part is there to exclude certain directories or file names during the class lookup performed by the compiler. This option is especially useful in cunjunction with the 'all' or 'library' options on clusters. For example, if you are using CVS as a source control, you will notice that a CVS directory is created in each one of your directories. So adding CVS in the exclude list will speed up the compiler since it won't have to look inside the CVS directories.

 

The include part is useful when you have some Eiffel classes that do not follow the standard Eiffel file name pattern, i.e. "class_name.e". To make sure the compiler finds those classes, you have to include the file name of every Eiffel class that does not follow the standard naming pattern for Eiffel file names.