/[eiffelstudio]/trunk/Delivery/xmldoc/tools/eiffelenvision/using_eiffelenvision/eiffelenvision_projects/structure/project_items/clusters_and_items/cluster_enumeration.xml
ViewVC logotype

Contents of /trunk/Delivery/xmldoc/tools/eiffelenvision/using_eiffelenvision/eiffelenvision_projects/structure/project_items/clusters_and_items/cluster_enumeration.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 52152 - (show annotations)
Tue Jun 14 23:59:14 2005 UTC (14 years, 8 months ago) by paulb
File MIME type: text/xml
File size: 6364 byte(s)
Moved from project_items parent folder

1 <document output="envision" title="Automatic Enumeration">
2 <meta_data>
3 <help>
4 <toc>
5 <envision_title>Automatic Enumeration</envision_title>
6 <envision_pseudo_name>100</envision_pseudo_name>
7 </toc>
8 <xml>
9 <xmlkeyword>
10 <index>K</index>
11 <term>EiffelEnvision, Projects</term>
12 </xmlkeyword>
13 <xmlkeyword>
14 <index>K</index>
15 <term>Projects, EiffelEnvision</term>
16 </xmlkeyword>
17 </xml>
18 </help>
19 </meta_data>
20 <paragraph>
21 <paragraph>
22 One of the major ways <link><url>url</url><label>*Eiffel for .NET</label></link> and EiffelEnvision differs from other .NET languages is a directory-based compiler, and not a file-based compiler.
23 The Eiffel for .NET compiler, in EiffelEnvision, will
24 examine the contents of a <link><url>url</url><label>*cluster</label></link> and examine all Eiffel source files (*.e), containing Eiffel <link><url>url</url><label>*classes</label></link>, when compiling. Examination does not
25 necessarly result in their inclusion when <link><url>url</url><label>*Built</label></link>, this depends on the project's <link><url>url</url><label>*Include All Classes</label></link>
26 project property or if the examined Eiffel <link><url>url</url><label>*class</label></link> is reachable via the project's <link><url>url</url><label>*Root Class</label></link>.
27 </paragraph>
28 <paragraph>
29 Using a directory base compiler, EiffelEnvision relects what the Eiffel for .NET compiler will see and examine in an EiffelEnvision project. The <link><url>url</url><label>*Project Items</label></link>
30 and any <link><url>url</url><label>*Cluster Nodes</label></link> will automatically enumerate the contents of their associated <link><url>url</url><label>*Path</label></link>,
31 <link><url>url</url><label>*Project Items</label></link> will always examine the directory where your project is located. During examination, all located <italic>.e</italic> files are automatically
32 added to an EiffelEnvision project when projects are created or opened in Visual Studio .NET. EiffelEnvision will then monitor all future disk activity, external of Visual Studio .NET, and subsequently add or remove Eiffel source files and folders as they are
33 added and removed from the underlying file system.
34 </paragraph>
35
36 <anchor>excluding_items</anchor>
37 <heading>
38 <size>2</size>
39 <content>Excluding Items</content>
40 </heading>
41 <paragraph>
42 Given the nature of <link><url>project.xml</url><anchor_name>clean_separation</anchor_name><label>Source Code Reuse</label></link> and the <link><url>url</url><label>*cluster</label></link> mechanism, projects may include unwanted files or there may be a need to resolve <link><url>url</url><label>*class</label></link> name clashes by excluding Eiffel source files from a <link><url>url</url><label>*Build</label></link>.
43 </paragraph>
44 <paragraph>
45 To exclude Eiffel source file or entire folders, include as a result of setting the <link><url>url</url><label>*Include Subdirectories</label></link> property on <link><url>url</url><label>*Cluster Nodes</label></link>.
46 </paragraph>
47 <paragraph>
48 Select the folder (<image>
49 <url>../../../images/icons/folder.ico</url>
50 </image>) or file (<image>
51 <url>../../../images/icons/file_class_blue.ico</url>
52 </image>) and select <bold>Exclude From Project</bold> from it's context menu. Once selected the icon will change to <image>
53 <url>../../../images/icons/folder_ex.ico</url>
54 </image> for folders and <image>
55 <url>../../../images/icons/file_class_ex.ico</url>
56 </image> for files. When excluding folders, it and it's entire contents will be excluded.
57 <note>
58 <bold>Note</bold>: Exclusion is based on the item name alone and is per-<link><url>url</url><label>*cluster</label></link>. It is possible to exclude an item and it subsequently excludes a number of other items. For instance, in a cluster <italic>shared_resources</italic>, there are two folders: <italic>xml_reader</italic> and <italic>binary_reader</italic>. In both folder there exists <italic>common.e</italic>. Excluding <italic>common.e</italic> from <italic>xml_reader</italic> will also exclude <italic>common.e</italic> from <italic>binary_reader</italic>, because <italic>common.e</italic> is an excluded item of <italic>shared_resources</italic>. After excluding <italic>common.e</italic>, EiffelEnvision will automatically show both editons as being excluded by changing the their icons to the excluded class icon (<image>
59 <url>../../../images/icons/file_class_ex.ico</url>
60 </image>). If this is an undesired consequence, <link><url>url</url><label>*Converting Folders to Clusters</label></link> will permit the exclusion of only one instance of <italic>common.e</italic>.
61 </note>
62 Eiffel source files and folders may also be excluded using a <link><url>url</url><label>*Cluster Node</label></link>'s <link><url>url</url><label>*Excluded Items</label></link> property.
63 </paragraph>
64
65 <anchor>including_items</anchor>
66 <heading>
67 <size>2</size>
68 <content>Including Items</content>
69 </heading>
70 <paragraph>
71 In contrast to <link><url>cluster_enumeration.xml</url><anchor_name>excluding_item</anchor_name><label>Excluding Items</label></link>, Eiffel source files and folder may need to be included back into projects. For all excluded items, <bold>Include into Project</bold> is available from the excluded item's context menu. Selecting <bold>Include into Project</bold> will reintroduce any Eiffel source files back into the project. Some Eiffel source files and folders cannot be included, and <bold>Include into Project</bold> will be gray out. This is because the items were excluded as part of a higher exclusion. For example, when exluding a folder containing Eiffel source files, it is not possible to include any of those Eiffel source files into the project because they were not directly excluded.
72 </paragraph>
73 <paragraph>
74 Eiffel source files and folders may also be included back using a <link><url>url</url><label>*Cluster Node</label></link>'s <link><url>url</url><label>*Excluded Items</label></link> property.
75 </paragraph>
76
77 <anchor>also_see</anchor>
78 <heading>
79 <size>2</size>
80 <content>Related Sections</content>
81 </heading>
82 <seealso>
83 <bold>See Also:</bold>
84 <line_break/>
85 </seealso>
86 </paragraph>
87 </document>

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.23