User Tools

Site Tools


eiffel:faq:cluster

Add a Cluster (recursive) and Class

Each cluster (to group a set of classes) can be associated with its own folder. In Settings below, a cluster (e.g. cluster “root”) is set to recursive. Below we show how to add a new sub-cluster model to the root cluster.

Add a Cluster

For the recursive case, use the terminal (or windows explorer/finder) to create subfolders in cluster “root”. To add cluster model

>pwd
.../project
>ls
EIFGENs/     project.ecf  root/
> cd root
> mkdir model
> ls
application.e  model/

Add a Class

On compiling, the new cluster name model appears. Right click on model to add a new class in that cluster.

If we add the file FOO, we obtain

project/
├── project.ecf
└── root
    ├── application.e
    └── model
        └── foo.e

The ECF File

The ECF file looks as follows

<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="project" uuid="1DB9100F-683A-438B-ABD2-601B82C4E570">
	<target name="project">
		<root class="APPLICATION" feature="make"/>
		<file_rule>
			<exclude>/CVS$</exclude>
			<exclude>/EIFGENs$</exclude>
			<exclude>/\.git$</exclude>
			<exclude>/\.svn$</exclude>
		</file_rule>
		<option warning="true">
			<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
		</option>
		<setting name="console_application" value="true"/>
		<capability>
			<concurrency support="scoop"/>
			<void_safety support="all" use="all"/>
		</capability>
		<precompile name="base_pre" location="$ISE_PRECOMP\base-scoop-safe.ecf"/>
		<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
		<cluster name="root" location=".\root" recursive="true"/>
	</target>
</system>
eiffel/faq/cluster.txt · Last modified: 2018/01/01 00:18 by jonathan