/[eiffelstudio]/trunk/Delivery/xmldoc/tools/eiffelstudio/reference/25_project_settings/040_target_groups.xml
ViewVC logotype

Contents of /trunk/Delivery/xmldoc/tools/eiffelstudio/reference/25_project_settings/040_target_groups.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 64348 - (show annotations)
Thu Oct 12 23:09:08 2006 UTC (13 years, 3 months ago) by patrickr
File MIME type: text/xml
File size: 7328 byte(s)
added documentation about hidden clusters (this is for 6.0 only)
1 <document title="Group Options" output="studio">
2 <meta_data/>
3 <paragraph>
4 <paragraph>This is where you can configure the groups of your project. A group is a container for classes and has some additional options associated. There are five types of groups</paragraph>
5 <list ordered="false">
6 <item>Cluster: represents a directory or directory structure on the disk with class files in it</item>
7 <item>Override cluster: similar to cluster but overrides classes in other clusters with the same name, can only appear in an application, never in a library</item>
8 <item>Library: a configuration of a library is included, all classes in clusters are accessible</item>
9 <item>Precompile: a precompile is similar to a library, but the contents of the library have already been compiled and therefore compilation is a lot faster, there can only be one precompile group</item>
10 <item>Assembly: classes in an assembly (.NET code generation mode only)</item>
11 </list>
12 <paragraph>To add a new group, choose the corresponding add group button or context menu entry and enter a name and location or choose from a list (for assemblies and libraries).</paragraph>
13 <paragraph>
14 <image>
15 <url>../../../../images/eiffelstudio/project_settings/group_options.png</url>
16 <alt_text>Group dialog</alt_text>
17 </image>
18 </paragraph>
19 <heading>
20 <size>2</size>Common Group Options
21 </heading>
22 <list ordered="false">
23 <item>Name: name of the group</item>
24 <item>Description: an optional description of the group</item>
25 <item>Read Only: in a read only group, classes cannot be modified</item>
26 <item>Location: directory for clusters, assembly file for assemblies and ecf file for libraries and precompiles</item>
27 <item>Profiling: turn on the Eiffel profiler during the application execution (C code generation mode only). The results can be seen at the end of the execution in the profiler window.</item>
28 <item>Trace: display on the console all the features that are called during the system execution (C generation mode only).</item>
29 <item>.NET Namespace: specify the namespace for this group (.NET code generation mode only)</item>
30 <item>Assertions: <link><url>030_target_assertions.xml</url><label>assertion level</label></link> for this group</item>
31 <item>Warning: <link><url>060_advanced_warning.xml</url><label>warnings</label></link> for this group</item>
32 <item>Debug: <link><url>070_advanced_debug.xml</url><label>debugs</label></link> for this group</item>
33 </list>
34 <heading>
35 <size>3</size>Advanced
36 </heading>
37 <list ordered="false">
38 <item>Condition: group nodes can be <link><url>020_target_general.xml</url><anchor_name>condition</anchor_name><label>conditioned</label></link> to only be used under certain conditions.</item>
39 <item>Prefix: name prefix for classes in this group (see
40 <link>
41 <url>040_target_groups.xml</url>
42 <anchor_name>renaming</anchor_name>
43 <label> Renaming</label>
44 </link>)
45 </item>
46 <item>Renaming: renamings for classes in this group (see
47 <link>
48 <url>040_target_groups.xml</url>
49 <anchor_name>renaming</anchor_name>
50 <label> Renaming</label>
51 </link>)
52 </item>
53 <item>Class Options: options specific for certain classes</item>
54 </list>
55 <heading>
56 <size>2</size>(Override) Cluster Options
57 </heading>Clusters can be added as a sub clusters of other clusters, just select the parent cluster before adding the cluster.
58 <list ordered="false">
59 <item>Recursive: should subdirectories automatically be included?.</item>
60 <item>Hidden: Is this a hidden cluster that can not be used if the system is used as a library?</item>
61 <item>Exclude Rules: <link><url>020_target_general.xml</url><anchor_name>file_pattern</anchor_name><label>exclude rules</label></link> for this group</item>
62 <item>Dependencies: specify which groups are checked for classes if the class cannot be found in the group itself</item>
63 <item>Type Mapping: <link><url>110_advanced_mapping.xml</url><label>mapping</label></link> of types, e.g. STRING is mapped to STRING_32</item>
64 <item>Visible Classes: visible classes (see
65 <link>
66 <url>040_target_groups.xml</url>
67 <anchor_name>visible</anchor_name>
68 <label> Visible Classes</label>
69 </link>)
70 </item>
71 </list>
72 <heading>
73 <size>2</size>Override Cluster Options
74 </heading>
75 <list ordered="false">
76 <item>Overrides: which groups are overridden by this override (default to all).</item>
77 </list>
78 <heading>
79 <size>2</size>Library/Precompile Options
80 </heading>If a library is not read only, the configuration can be directly edited by clicking on the edit library button.
81 <list ordered="false">
82 <item>Visible Classes: visible classes (see
83 <link>
84 <url>040_target_groups.xml</url>
85 <anchor_name>visible</anchor_name>
86 <label> Visible Classes</label>
87 </link>)
88 </item>
89 </list>
90 <heading>
91 <size>2</size>Assembly Options
92 </heading>
93 It is possible (but not recommended) to specify an assembly only with GAC information. To do this set the location to <italic>none</italic> and specify:
94 <list ordered="false">
95 <item>Assembly Name: Full name of the assembly as found in the GAC.</item>
96 <item>Assembly Culture: Culture of the assembly.</item>
97 <item>Assembly Version: Version of the assembly.</item>
98 <item>Assembly Public Key Token: Public key token that identifies the asssembly.</item>
99 </list>
100 <heading>
101 <size>2</size>Resolving Conflicts
102 </heading>There are multiple ways to resolve conflicts between different classes with the same name.
103 <anchor>renaming</anchor>
104 <heading>
105 <size>3</size>Renaming
106 </heading>
107 <paragraph>A class can be renamed with a renaming or a group can have a name prefix which will get added to every class. Outside of this group, the class can then be reached by the renamed name.</paragraph>
108 <anchor>dependencies</anchor>
109 <heading>
110 <size>3</size>Dependencies
111 </heading>
112 <paragraph>It is possible to specify which other groups will be searched if a class cannot be found in the current group.</paragraph>
113 <anchor>visible</anchor>
114 <heading>
115 <size>2</size>Visible classes
116 </heading>
117 <paragraph>If a feature should be reachable from CECIL and may not be used it must be made visible because otherwise it will be removed by the dead code optimizer. To do this you have to make the class visible. In addition it is also possible to rename a class or a feature. In most cases we make a class completely visible and do not need renaming.</paragraph>
118 <paragraph>
119 <image>
120 <url>../../../../images/eiffelstudio/project_settings/visible_dialog.png</url>
121 <alt_text>Visible dialog</alt_text>
122 </image>
123 </paragraph>
124 <paragraph>To make a class visible, just enter the class name and press
125 <italic>Add class</italic>. Optionally it is possible to specify a different name under which it is accessible. After a class has been added, it is possible to restrict the access to certain features only, to do this, enter the name of the feature (and optional a renamed name), select the class they belong to and click on <italic>Add feature</italic>.
126 </paragraph>
127 </paragraph>
128 </document>

  ViewVC Help
Powered by ViewVC 1.1.23