Commit 60c365fd authored by Kristof Szabados's avatar Kristof Szabados
Browse files

fixed section numbering and compilation issues.


Signed-off-by: Kristof Szabados's avatarKristof Szabados <Kristof.Szabados@ericsson.com>
parent f0516ed1
= Introduction
== Introduction
:toc:
:figure-number: 0
== Overview
=== Overview
This document describes the general workflow and use of the TITAN Designer for the Eclipse IDE plug-in.
......@@ -18,11 +18,11 @@ The TITAN Designer plug-in provides support for:
* remote build.
== Target Groups
=== Target Groups
This document is intended for system administrators and users who intend to use the TITAN Designer plug-in for the Eclipse IDE.
== Typographical Conventions
=== Typographical Conventions
This document uses the following typographical conventions:
......@@ -34,11 +34,11 @@ This document uses the following typographical conventions:
* `*Bold monospaced font*` is used for commands that must be entered at the Command Line Interface (CLI), For example, `*mctr_gui*`
== Installation
=== Installation
For details on installing the TITAN Designer for the Eclipse IDE plug-in, see the Installation Guide for TITAN Designer and TITAN Executor for the Eclipse IDE.
== Reporting Errors
=== Reporting Errors
The following information should be included into trouble reports:
......
= Contents of the Outline View
== Contents of the Outline View
:toc:
:figure-number: 121
......@@ -8,7 +8,7 @@ It is often useful to get a higher level view of the actual TTCN-3/ASN.1 module,
The Outline view consists of two main parts. The toolbar and the actual tree view.
== The Tree
=== The Tree
The Outline view contains a tree, representing the structure of the current TTCN-3/ASN.1 module. Each element is represented in the Outline view by an icon that makes the type of the item easily recognizable and by a text that shows the name and the type of the element or in case of structures with formal parameters their calling convention.
......@@ -16,11 +16,11 @@ image::images/10_F107.png[title="Outline view"]
The root of the tree always represents the current TTCN-3/ASN.1 module and optionally the list of module importations if there were any. The structure of the underlying levels shows data structure hierarchies, type definition groupings etc.
== The Toolbar
=== The Toolbar
With the functionality available through the toolbar buttons, the elements of the Outline view can be ordered, restructured or the visibility of specific elements can be changed. In the following subsections these toolbar actions will be described.
=== Sorting Elements
==== Sorting Elements
By default the elements in the Outline view are in the order of their position in the TTCN-3/ASN.1 module.
......@@ -30,7 +30,7 @@ The elements can be sorted alphabetically with toggling the image:images/sortalp
image::images/10_F109.png[title="Sorted alphabetically"]
=== Categorizing Elements
==== Categorizing Elements
It is possible to order the outline view t categorizes the elements to be displayed before sorting them. This function is useful if one is only interested records, or functions as this way functions, types, module parameters will be found together in the outline view.
......@@ -38,13 +38,13 @@ Categorizing of the outline elements is possible with toggling the image:images/
image::images/10_F110.png[title="Categorized and sorted alphabetically"]
=== Grouping
==== Grouping
By default the Outline view does not show the group hierarchies in the module, as the groups do not have any effect on scoping. However they can be used to group semantically similar functions, type definitions etc. To make group hierarchies visible in the Outline view the image:images/outlinegroup.png[outline_group] button can be used.
image::images/10_F111.png[title="Grouping"]
=== Filtering Elements
==== Filtering Elements
If there are lots of elements in the Outline view it can be hard to find the appropriate one, so it is possible to filter the elements based on their types, using the filtering buttons in the toolbar. Filtering is additive, more filters can be active at the same time.
......@@ -56,7 +56,7 @@ Hide templates (image:images/icon_02.png[filter_02])
Hide types (image:images/icon_03.png[filter_03])
== Outline View Icons
=== Outline View Icons
image::images/10_F112.png[title="Outline view icons for TTCN-3 and ASN.1"]
Pitfalls
......
= Extensions to the Project Explorer
== Extensions to the Project Explorer
:toc:
:figure-number: 128
[[filtering-resources-from-the-view]]
== Filtering Resources from the View
=== Filtering Resources from the View
It is possible to hide excluded resources from the Project explorer view.
......
= References
== References
[[_1]]
* [1] link:https://github.com/eclipse/titan.core/blob/master/usrguide/installationguide.adoc[Installation guide for TITAN TTCN-3 Test Executor]
......
= Abbreviations
== Abbreviations
ASN.1:: Abstract Syntax Notation One
......
= Getting started
== Getting started
:toc:
:figure-number: 0
This section explains how to setup Eclipse to access every feature provided by TITAN Designer.
== The TITAN Editing Perspective
=== The TITAN Editing Perspective
TITAN Designer provides its own perspective to Eclipse. This is a layout of visual elements that provides a good environment for working with TITAN. This layout is a starting point, since users can create their own layout in Eclipse, to set the best working environment for themselves.
......@@ -24,7 +24,7 @@ The biggest pane of the perspective is the editing area (upper right). Here the
The four tabs at the bottom of the picture open the following views:
* The Problems view (see <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences, here>>) displays information about problems found in the project. The problems reported can be ordered using several criteria (see <<8-contents_of_the_problems_view.adoc#grouping-of-problems, here>>).
* The Problems view (see <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences-1, here>>) displays information about problems found in the project. The problems reported can be ordered using several criteria (see <<8-contents_of_the_problems_view.adoc#grouping-of-problems, here>>).
* The Console view contains the commands executed and their output; Consoles only appear if there is something to display. The Console view has two sub views (TITAN console and TITAN Debug console, respectively); by default only one of both is displayed in the pane. The hidden sub view can be displayed by clicking on the display icon on the right of the pane.
......@@ -40,7 +40,7 @@ NOTE: The contents of this view have no effect on the work of the user.
image::images/2_F3.png[title="TITAN Editing Perspective"]
== Enabling TITAN Actions on the Toolbar
=== Enabling TITAN Actions on the Toolbar
TITAN Actions or Change Set Operations are commands (apart from those used in the build process) that can be executed on TTCN-3 files.
......@@ -64,7 +64,7 @@ The command Convert XSD files to TTCN-3 takes as input the files selected by the
The output of the commands is written to the TITAN Console. Commands are executed regardless of the file properties; for example, the selected file will be syntactically or semantically checked even if it is excluded from the build process.
== Enabling TITAN Shortcuts
=== Enabling TITAN Shortcuts
TITAN Shortcuts appear in the *File/New* menu and are used to open a new ASN.1 module, a configuration file, a TITAN project or a TTCN-3 module, respectively.
......@@ -73,7 +73,7 @@ The TITAN Shortcuts are enabled by checking the appropriate box on the right pan
image::images/2_F6.png[title="Enabling the TITAN Shortcuts"]
[[enabling-titan-decorations]]
== Enabling TITAN Decorations
=== Enabling TITAN Decorations
Decoration here means a string added to a project, folder or file name or a picture overlapping the icon of the resource to provide the reader with additional information.
......@@ -91,7 +91,7 @@ image::images/2_F7.png[title="Enabling TITAN Decoration"]
NOTE: Decorations are extending the information displayed for elements. As there can be several decorations extending an element, the texts shown above might not be the only ones displayed.
== Excluding resources
=== Excluding resources
The possible reasons for a resource being excluded from build are as follows:
......
= Setting Workbench Preferences
== Setting Workbench Preferences
:toc:
:figure-number: 7
......@@ -6,14 +6,14 @@ This section gives an overview about the various settings related to the workben
In Eclipse, workbench preferences are used to set user specific general rules, which apply to every project; for example, preferred font styles, access to version handling systems and so on.
Workbench preferences are accessible selecting *Window / Preferences*. Clicking on the menu item will bring up the preferences page. The opening window contains a preference tree on the left pane to ease navigation see Figure 8.
Workbench preferences are accessible selecting *Window / Preferences*. Clicking on the menu item will bring up the preferences page. The opening window contains a preference tree on the left pane to ease navigation – see Figure 8.
image::images/2_F8.png[title="TITAN preferences sub-tree"]
This section only concerns the preferences that are available under the TITAN preferences node of this preference tree.
[[titan-preferences]]
== TITAN Preferences
=== TITAN Preferences
image::images/2_F9.png[title="TITAN preferences"]
......@@ -39,13 +39,13 @@ The option is NOT CHECKED by default.
* **When on-the-fly analysis ends the compiler markers.**
+
When the on-the-fly analyzer starts it can trigger the following behaviors for error markers generated by the compiler previously: *Stay unchanged*, *Become outdated*, and *Are removed*. +
The default setting is: *Become outdated*
When the on-the-fly analyzer starts it can trigger the following behaviors for error markers generated by the compiler previously: *“Stay unchanged�*, *“Become outdated�*, and *“Are removed�*. +
The default setting is: *“Become outdated�*
* **When the compiler runs the on-the-fly markers.**
+
When the compiler starts it can trigger the following behaviors for error markers generated by the on-the-fly analyzer previously: *Are removed*, *Stay*.Setting this option to *Stay* can enhance the speed of the on-the-fly analyzer, because if the markers need to be refreshed, so does all syntactic and semantic information needs to be refreshed too. +
The default setting is: *Are removed.*
When the compiler starts it can trigger the following behaviors for error markers generated by the on-the-fly analyzer previously: *“Are removed�*, *“Stay�*.Setting this option to *“Stay�* can enhance the speed of the on-the-fly analyzer, because if the markers need to be refreshed, so does all syntactic and semantic information needs to be refreshed too. +
The default setting is: *“Are removed�.*
* **Maximum number of build processes to use.**
+
......@@ -54,7 +54,7 @@ The option is set equal the number of processors/cores available in the system b
* **Display debug preferences**
+
By default, the Designer plug-in isnt logging debug information to the Debug Console to help solving problems.However as errors are reported to the Error Log of Eclipse this information is rarely used. Most of the time these printouts hold no value for the users.Debugging and load balancing features can be set by this option see <<debug, here>>.
By default, the Designer plug-in isn’t logging debug information to the Debug Console to help solving problems.However as errors are reported to the Error Log of Eclipse this information is rarely used. Most of the time these printouts hold no value for the users.Debugging and load balancing features can be set by this option see <<debug, here>>.
+
The option is NOT CHECKED by default because most of the time these features hold no value for the users.
+
......@@ -66,7 +66,7 @@ Below the last option, the version of the currently set compiler and information
NOTE: In case the license file is not provided, is not valid or has expired an additional link will appear on this page. Clicking on this link a browser will open directing the user to a web page where he can order a new license or can ask for a renewal of his existing one.
== Content Assist Preferences
=== Content Assist Preferences
image::images/3_F11.png[title="Content Assist"]
......@@ -101,7 +101,7 @@ The delay between the auto activation of the content assistant, and its actual s
The default setting is: 500 milliseconds
[[debug]]
== Debug
=== Debug
image::images/3_F12.png[title="Debug options and Load Balancing"]
......@@ -158,7 +158,7 @@ Its default value is 10 ms.
Gives the chance to other threads (activities) to work.
[[excluded-resources]]
== Excluded Resources
=== Excluded Resources
image::images/3_FM1.png[title="Excluded resources"]
......@@ -167,7 +167,7 @@ On the excluded resources page, it is possible to provide a list of regular expr
NOTE: The regular expressions are to be provided in the Java regular expression format.
[[export]]
== Export
=== Export
image::images/3_F14.png[title="Export options"]
......@@ -197,7 +197,7 @@ By default we do not include any information on any option/setting in the descri
* **Pack all data of related projects:**
+
Project references in Eclipse are a great way to structure ones work into manageable pieces. However, if one of those projects is not available, building the whole set is not possible. For this reason, it is possible to save all information from all required projects into one project descriptor. Its default value is off.
Project references in Eclipse are a great way to structure one’s work into manageable pieces. However, if one of those projects is not available, building the whole set is not possible. For this reason, it is possible to save all information from all required projects into one project descriptor. Its default value is off.
The second group contains the settings for automatic export.
......@@ -211,7 +211,7 @@ Choose this option if you want to have up-to-date tpd files in your workspace.Th
+
This option works if the previous option is set. Choose this option if you want to change the location of the tpd file while it is being imported or if you want to specify the location of new tpd files at the first automatic save. The automatic save shall not work if it is not set and the project does not have a tpd file yet. This way the automatic save can work only on a subset of the projects.
== Folding Preferences
=== Folding Preferences
image::images/3_F15.png[title="Folding preferences"]
......@@ -240,7 +240,7 @@ Parameters, that is, (text between parentheses) will be folded if both this opti
This option disables the folding of a region unless there are at least that many lines between the ending and starting lines of the region.
[[matching-brackets-highlighting-preferences]]
== Matching Brackets Highlighting Preferences
=== Matching Brackets Highlighting Preferences
image::images/3_F16.png[title="Matching brackets preferences"]
......@@ -254,7 +254,7 @@ Checking this option enables highlighting of matching round, square and curly br
+
The highlighting color is selected with this option.
== Indentation Preferences
=== Indentation Preferences
image::images/3_F17.png[title="Indentation preferences"]
......@@ -270,8 +270,8 @@ this field determines the number of spaces used for indentation. It is only enab
In the default indentation policy, a single indentation level corresponds to inserting two spaces.
[[mark-occurrences]]
== Mark Occurrences
[[mark-occurrences-0]]
=== Mark Occurrences
image::images/3_F18.png[title="Indentation preferences"]
......@@ -287,7 +287,7 @@ if the selection or the position of the cursor changes and the occurrences of th
+
the occurrences of the selected elements will be displayed.
== On-the-fly Checker Preferences
=== On-the-fly Checker Preferences
image::images/3_F19.png[title="On-the-fly checker preferences"]
......@@ -315,7 +315,7 @@ The parsing process is detailed <<7-editing_with_titan_designer_plugin.adoc#on-t
+
NOTE: The delayed semantic checking separates the syntactic analysis from the semantic analysis, while the timeout before on-the-fly check starts feature shifts them together. As such these two features are orthogonal to each other.
=== Pitfalls
==== Pitfalls
* In the worst case incremental parsing can actually take somewhat longer than a full parsing of the file. As it is using among others the opening and closing brackets to localize the semantic effect of a change, if these are not used in a consistent way, which reduce the performance drastically. For example, if only the '\{' sign is entered, but the pairing '}' is not, that might structurally damage the whole file, as all statement blocks might become syntactically invalid.
+
......@@ -328,7 +328,7 @@ NOTE: Using the automatic typing features provided, and programming in a consist
For example in the case of rename refactoring a global constant this might mean, that occurrences inside functions will not be renamed, since the data required to identify those locations is not present in memory. Yet for renaming local variables the functionality will operate correctly even with this option turn on.
[[errors-warnings-preferences]]
== Errors/Warnings Preferences
=== Errors/Warnings Preferences
image::images/3_F20.png[title="Errors / Warnings preferences"]
......@@ -441,13 +441,13 @@ The on-the-fly checker is described in detail <<7-editing_with_titan_designer_pl
NOTE: Changing these preferences will trigger a full re-checking of the projects already checked (when the changes are applied).
[[pitfalls-0]]
=== Pitfalls
==== Pitfalls
The detection of unused module importations and definitions is based on the semantic analyzes done on-the-fly. As that is not yet a full semantic analyzes, these feature can also produce only heuristic behavior.
For example, every importation / definition will be reported unused, if it is not used by the semantic analyzer. This sadly does not mean that they are actually not used, but on the contrary it means that every importation / definition not marked is sure to be used.However this also means that if there are any unused importations / definitions in the project they will be contained in this list, thus considerably reducing every effort needed to find them.
== Naming Conventions
=== Naming Conventions
image::images/3_F21.png[title="Workspace level naming convention settings"]
......@@ -472,7 +472,7 @@ Definitions can be referenced in the `modulename.identifier` format, in order to
Visibility attributes should not be mentioned in the names of the definitions. They should be explicitly set as visibility attributes of the definition.The on-the-fly checker, when it detects that a definition contains a visibility attribute (private, public, friend), triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
[[syntax-coloring-preferences]]
== Syntax Coloring Preferences
=== Syntax Coloring Preferences
image::images/3_F22.png[title="Syntax coloring preferences 1"]
......@@ -522,7 +522,7 @@ To apply the new syntax color scheme, press the *Apply* or the *OK* button. Acti
The *Restore Defaults* button restores every setting to its default value.
== TITAN Actions
=== TITAN Actions
image::images/3_F24.png[title="TITAN Actions preferences"]
......@@ -538,7 +538,7 @@ if this options is set default values in ASN.1 structures will be handled as omi
+
NOTE: This is only useful in a few protocols. The option is UNCHECKED by default.
== Typing Preferences
=== Typing Preferences
image::images/3_F25.png[title="Typing preferences"]
......
= Converting Existing Projects
== Converting Existing Projects
:toc:
:figure-number: 87
In the TITAN toolset we are supporting 3 different tools/project handling principles at this time: Makefiles, mctr_gui projects and Eclipse projects. Before going into detail on how to convert one of the first two into an Eclipse project, we should review the features offered by these tools to work with projects.
== The Construction Principles of Projects
=== The Construction Principles of Projects
=== Makefile
==== Makefile
Makefiles support the following ways of working with projects:
......@@ -23,7 +23,7 @@ Some of the files are in a different folder, which also has its own Makefile. Th
The Makefile is available for the users to modify, so any kind of project structure can be created. It is also possible to add new commands, new build rules, new behaviors.
[[mctr-gui]]
=== Mctr_gui
==== Mctr_gui
The mctr_gui supports the following ways of working with projects:
......@@ -39,7 +39,7 @@ file groups recursively declare a list of files and file groups that they repres
+
it is possible to refer to a whole project, instead of referring to files or file groups one-by-one. In this case at build time the working directories of the included projects are used as central storages for the actual project.In this mode, if something is changed in a project (build mode, additional files) all projects including that one will also see that change, at the next build, as it will go differently.
=== Eclipse
==== Eclipse
In Eclipse the fundamental difference to all previous systems is that in this case Eclipse as the platform provides all of the options for structuring the projects. Our IDE only extends the platform with TTCN-3 related features (and doesn’t define the whole platform).
......@@ -71,9 +71,9 @@ No matter where they are originating from, in the workbench of Eclipse all proje
Referring outside, the project should be discouraged in case of files and folders, as those methods are not always transportable. In those cases, the project might not be transferable as it is not the contents of these references that will be transferred, but the reference itself. In case of referenced projects this is not that much of a problem, as in that case it is natural, that in order to transport a project, we also need to transport all projects that it builds onto. As long as each project can be transferred on its own their referencing sets will be transferable also.
== Manually Converting an Existing Project to Eclipse Format
=== Manually Converting an Existing Project to Eclipse Format
=== Small Project
==== Small Project
If the project is so small that all of its files are located in one place (in or below one folder) it can be converted easily.
......@@ -83,7 +83,7 @@ If it is needed to perform this step from the command line, one needs to place a
In the ""project" the name of the project has to be set. Eclipse should be able to import the project and all further configurations can be done from there.
=== Large Project Sets Consisting of Several Included Projects or Logically Separate Parts
==== Large Project Sets Consisting of Several Included Projects or Logically Separate Parts
This can be easily mapped to referenced projects inside Eclipse. For each separate project or logically separate part there should be one project created, and the proper referring relation between each one should be set. It is recommended to set this attribute in Eclipse, so that all needed modifications are done in the internal representation. For more information, please refer <<4-managing_projects.adoc#using-project-references, here>>.
......@@ -102,7 +102,7 @@ Figure 81 gives an example on how it might look if 2 large projects are separate
image::images/5_F82.png[title="Two large projects"]
=== Large Projects Using Central Storage Folders
==== Large Projects Using Central Storage Folders
If the project uses central storage folders there are two good solutions possible:
......@@ -126,7 +126,7 @@ NOTE: Even though the second solution sounds to be the better one at first, beca
Creating referencing relations between projects reflects the logical structure of such folders better, promotes reuse of projects (and so source code) and in the longer run could be used to validate the relations between projects in a hierarchy.
=== Project Referring to Specific Files Outside its Own Jurisdiction
==== Project Referring to Specific Files Outside its Own Jurisdiction
In some cases, it might have happened, that people did break logical relations and either created symbolic links to files in other projects, or referred to them in the mctr_gui one-by-one specifically.
......@@ -135,7 +135,7 @@ If it is not possible to map this relation to referring projects or central stor
NOTE: It is not recommended to have symbolic links in a project pointing to some other location as those projects are typically not transportable, and also this introduces a hidden dependency between projects, that cannot be validated automatically.
[[convert-an-existing-mctr-gui-project-using-an-import-wizard]]
== Convert an Existing mctr_gui Project Using an Import Wizard
=== Convert an Existing mctr_gui Project Using an Import Wizard
The Designer feature comes with an import wizard, which is able to create an Eclipse project out of an existing mctr_gui project automatically. For information on how to find this wizard, and what its steps are please refer <<4-managing_projects.adoc#importing-an-existing-mctr-gui-project,here>>.
......
= Building the Project
== Building the Project
:toc:
:figure-number: 89
In this chapter a detailed, stepbystep procedure description is provided about how to build a project according to the workflow.
Building a project from the TTCN–3 or ASN.1 source modules and perhaps test port files is a procedure consisting of several steps. In the TITAN Designer plugin, the procedure is fully automated. The commands issued by the build related functionalities and their progress messages are displayed in the TITAN console, so the successful completion of the processes can easily be verified. Also, in case of an error, the analysis of the progress messages helps to find the cause of the problem (this is also automated to some extent; please refer <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences, here>>). The build process also provides Eclipse with user friendly information about its progress.
Building a project from the TTCN–3 or ASN.1 source modules and perhaps test port files is a procedure consisting of several steps. In the TITAN Designer plugin, the procedure is fully automated. The commands issued by the build related functionalities and their progress messages are displayed in the TITAN console, so the successful completion of the processes can easily be verified. Also, in case of an error, the analysis of the progress messages helps to find the cause of the problem (this is also automated to some extent; please refer <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences-1, here>>). The build process also provides Eclipse with user friendly information about its progress.
The building process is automated; that is, the executable is updated in the background when project resources change (because they have been created, deleted or updated). There is no need for user interaction—provided that automatic building is enabled.
There is a way to build the project manually, by selecting *Project* / *Build project* or *Project* / *Build all.* This is useful when automatic building (*Project* / *Build Automatically*) is disabled**.**
NOTE: The problem markers of the compiler are parsed from the output of TITAN, for this reason they are updated when the compiler is run (the project is built, or the files are checked). If automatic building is not used, the projects should be built regularly, to have up-to-date problem markers (see <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences, here>>)).
NOTE: The problem markers of the compiler are parsed from the output of TITAN, for this reason they are updated when the compiler is run (the project is built, or the files are checked). If automatic building is not used, the projects should be built regularly, to have up-to-date problem markers (see <<7-editing_with_titan_designer_plugin.adoc#mark-occurrences-1, here>>)).
== Building the Project – Step by Step
=== Building the Project – Step by Step
The following sections describe the steps of the build process. These steps are carried out either automatically by the TITAN plugin or manually by the user; the sections indicate which way applies.
=== Creating Symbolic Links
==== Creating Symbolic Links
By default, the first step of the build process is creating or updating symbolic links in the working directory of the project. The working directory contains symbolic links pointing to every file included in the project (this is not true for files contained in a central storage directory, because they are handled differently). For information please see the TITAN Programmer’s Technical Reference <<12-references.adoc#_4, [4]>>.
......@@ -24,7 +24,7 @@ Symbolic link creation is done automatically by the build process; no user actio
NOTE: The creation of symbolic links can be turned off in the Designer plug-in, for more information please refer <<4-managing_projects.adoc#setting-the-local-build-properties-of-a-project, here>>.
=== Creating or Regenerating the Makefile
==== Creating or Regenerating the Makefile
The second step of the build process, if needed, is creating or updating the project `Makefile`. Automatic `Makefile` management should be enabled on the *Properties / TITAN Project Property* page of the projects.
......@@ -34,7 +34,7 @@ Information about the flags of the TITAN `Makefile` generator and the `Makefile`
It is the user’s responsibility to create and update the `Makefile` when automatic `Makefile` management is disabled.
=== Editing the Makefile Skeleton
==== Editing the Makefile Skeleton
If the generated `Makefile` is not suitable then either the options that direct its generation should be changed or (after having disabled automatic building) the `Makefile` should be created by hand. Everyone is allowed to write his own `Makefile`; however, the `Makefile` skeleton generated by the compiler always serves as a good starting point. For an extensive description of what shall be checked in the generated `Makefile`, see the TITAN User Guide <<12-references.adoc#_3, [3]>>.
......@@ -50,7 +50,7 @@ NOTE: the TITAN plug-in has some assumptions on what functionality the `Makefile
This step, if needed, is carried out manually by the user.
=== Module Compilation
==== Module Compilation
In this step C++ files are generated from virgin TTCN-3 and ASN.1 files. When a C++ file already exists, then the timestamp of the Compile file is used to decide whether a C++ file in question is uptodate or not. A C++ file is refreshed only if the corresponding TTCN–3 or ASN.1 module was modified later than the timestamp in the Compile file indicates, or the project was refreshed by *right clicking* the project and selecting *Refresh*; otherwise the generated C++ file is considered uptodate.
......@@ -75,7 +75,7 @@ This is the backup of the `Makefile`, created when the `make dep` command has be
Module compilation is done automatically by the build process; no user action is required.
[[creating-dependencies]]
=== Creating Dependencies
==== Creating Dependencies
Once the symbolic links have been created and the `Makefile` of the project has been properly edited if necessary, the command make dep has to be issued to find the dependencies between the resulting C++ codes. It is extremely important that the dependencies are always uptodate. If, for example, a TTCN–3 module is removed from the project, the dependencies between the C++ files must be updated, otherwise the command `make` fails.
......@@ -90,7 +90,7 @@ The dependency update is done automatically if the build level mentioned <<build
Alternatively, incremental generation of dependency information is available when using Makefiles written for GNU `make`. Instead of modifying the `Makefile`, dependency information is written into separate files with `.d` extension (one for each `.cc` file). These files are included into the main `Makefile`. This has the advantage that the `Makefile` is not modified every time a dependency changes. Another benefit is that the dependencies are always updated during `make`; there is no need to explicitly run `make dep`. For information on how to set this option please refer <<4-managing_projects.adoc#the-makefile-creation-attributes-tab, here>>.
[[building]]
=== Building
==== Building
In the final step of the project building procedure a conventional C++ compiler is used to compile Test port codes and the generated C++ source code to a binary object code. The resulting code is linked with the Base Library. The Base Library contains important supplementary function libraries used for the execution of the generated code (for example verdict handling, Host Controller code, and so on).
......@@ -148,7 +148,7 @@ Carries out a full build, creates the Executable Test Suite and the dependencies
Some hints for selecting the appropriate build level: on build levels 0-3 the executable will not be generated, only levels 4 and 5 produce an Executable Test Suite. Dependency update is only required when the import hierarchy of the source files is changed.
== Remote Build
=== Remote Build
Projects might need to be built for several platforms, for several different GCC versions, or it might just happen that the user’s computer is not powerful enough to assure short build times.
......@@ -156,7 +156,7 @@ Remote building (see <<4-managing_projects.adoc#setting-requirements-on-the-conf
The outputs of the remote build processes are displayed in the TITAN Console view. Every piece of such an output is prefixed by the host name that provided it.
=== Remarks and Tips
==== Remarks and Tips
It is impossible to clearly identify which source files were some errors reported for, for this reason precise build problems reported by remote build hosts are not redirected to the graphical interface. Only those problems are reported and marked, which are the errors in the build process itself (for example: abnormal termination is reported, but as a build process is not terminated by build errors, such errors are not redirected).
......@@ -166,9 +166,9 @@ Building remotely might start up the shell of the remote host in interactive mod
The overall length of the name and build commands of the remote hosts should be less than about 2,000 characters. However, assuming that an automated login mechanism and a build script is used on the remote hosts (creating remote build commands like `rlogin rhea; buildscript.sh`), means that the build process might still be executed in parallel on about 60 remote hosts, which should be enough for now.
== Building from the Command Line
=== Building from the Command Line
=== Building Directly
==== Building Directly
It is possible to invoke the build process of Eclipse from the command line, without Eclipse showing even the splash screen.
......@@ -182,7 +182,7 @@ This command instructs Eclipse to call our application with the name of the proj
The benefit of using this feature over generating the Makefile and building by hand is that this way one will build with the exact same settings he uses inside Eclipse. If for example 3rd party tools are also used as part of the build process, this method will invoke them too properly.
=== Building with an External Script
==== Building with an External Script
It is possible to create an XML file for each Eclipse project, which will store all the information needed to create the Makefile and build the project from the command line.
......@@ -262,7 +262,7 @@ NOTE: After this information was generated it is the user’s responsibility to
NOTE: This file will only hold information relevant from the point of view of TITAN. If other tools are also integrated on the project (to help its build, execution) their data will not be included.
== Cleaning the Project
=== Cleaning the Project
After switching to a newer version of the test executor or simply to save disk space, the project might need to be cleaned by removing the generated files from the working directory.
......@@ -278,7 +278,7 @@ The following files will be deleted from the working directory:
* The executable file
== Pitfalls
=== Pitfalls
Every build related action is executed as a command line command. If the command line is not responsive, the tool will not be able to extract messages from it.
......
= Editing with TITAN Designer Plugin
== Editing with TITAN Designer Plugin
:toc:
:figure-number: 92
This chapter presents the editors provided by TITAN Designer plug-in and their features.
== File Types
=== File Types
The TITAN Designer plugin includes editors for the following file types supported by the TITAN executor (the default extensions are given in brackets):
......@@ -22,13 +22,13 @@ Additional file extensions can be associated to these editors by selecting the E
NOTE: The editors may throw an exception if a file is deleted while being edited.
== Syntax Highlighting
=== Syntax Highlighting
Each of the included editors has its own syntax highlighting schema that can be customized by modifying the workbench preferences (see <<3-setting_workbench_preferences.adoc#syntax-coloring-preferences, here>>)
image::images/7_F85.png[title="Syntax coloring of TTCN-3 files"]