Using Templates

To switch a configuration to a new template, select Build->Templates (Ctrl+M).

The following dialog box will be displayed:

Figure 15-4. Templates dialog box

The target hardware dialog will be disabled as switching hardware within a configuration can have unintended consequences within eCos. See the Section called Switching Targets, Repositories and Versions for details on how to switch a configuration to a new target.

To choose a packages template, choose from the template drop-down. Brief descriptions of each kind of template are provided in the corresponding edit boxes.

Resolving conflicts

During the process of configuring eCos it is possible that conflicts will be created. For more details of the meaning of conflicts, see Chapter 22.

The Conflicts Window displays all conflicts in the current configuration. Additionally, a window in the status bar displays a count of the conflicts. Because the resolution of conflicts can be time-consuming, a mechanism exists whereby conflicts can be resolved automatically.

You can choose to have a conflicts resolution dialog box displayed by means of the View->Settings (Ctrl+T) menu item, on the Conflict Resolution tab of the dialog.

Figure 15-5. Options

You can choose to have conflicts checked under the following circumstances:

  • After any item is changed (in other words, as soon as the conflict is created)

  • Before saving the configuration (including building)

  • Never

The method you chose depends on how much you need your configuration to be free of conflicts. You may want to avoid having to clean up all the conflicts at once, or you may want to keep the configuration consistent at all times. If you have major changes to implement, which may resolve the conflicts, then you might want to wait until after you have completed these changes before you check for conflicts.

Note: If you choose to check conflicts after any item is changed, only newly arising conflicts are displayed. If you choose to check for conflicts before saving the configuration, the complete set is displayed.

Automatic resolution

If you check the “Automatically suggest fixes” check box, a conflicts resolution dialog box will be displayed whenever new conflicts are created. The same dialog box may be displayed at any stage by means of the Tools->Resolve Conflicts menu item.

The conflicts resolution dialog box contains two major windows.

Figure 15-6. Resolve conflicts window

The upper contains the set of conflicts to be addressed; the format of the data being as that of the Conflicts Window. The lower window contains a set of proposed resolutions – each entry is a suggested configuration item value change that as a whole may be expected to lead to the currently selected conflict being resolved.

Note that there is no guarantee:

  • that automatic resolutions will be determinable for every conflict.

  • that the resolutions for separate conflicts will be independent. In other words, the resolution of one conflict may serve to prevent the resolution of another.

  • that the resolution conflicts will not create further conflicts.

The above warnings are, however, conservative. In practice (so long as the number and extent of conflicts are limited) automatic conflict resolution may be used to good effect to correct problems without undue amounts of programmer intervention.

In order to select the conflicts to be applied, select or clear the check boxes against the resolutions for each proposed resolution. By default all resolutions are selected; you can return to the default state (in other words, cause all check boxes for each conflict to again become checked) by pressing the “Reset” button. Note that multiple selection may be used in the resolutions control to allow ranges of check boxes to be toggled in one gesture.

When you are happy to apply the selected resolutions for each conflict displayed, click Apply; this will apply the resolutions. Alternatively you may cancel from the dialog box without any resolutions being applied.

2017-02-09
Documentation license for this page: Open Publication License