Next: , Up: Customizing build Targets and Models   [Index]


16.5.20.1 Defining new Target Models

Models are defined in a target-model node which has one attributes, name, which contains the name of the model, and which supports the following sub-nodes:

<icon>

The stock name of the icon to associate by default with targets of this model.

<description>

A one-line description of what the Model supports

<server>

Optional, defaulting to Build_Server. Indicates the server used for launching Targets of this model. See Remote operations.

<is-run>

Optional, defaulting to False. A boolean indicating whether this target corresponds to the launching of an executable rather than a build. Targets with such a model are launched through an interactive console in GPS, and their output is not parsed for errors.

<uses-shell>

Optional, defaulting to False. A boolean indicating whether Targets of this model should be launched via the shell pointed to by the SHELL environment variable.

<command-line>

Contains a number of <arg> nodes, each containing an argument of the default command line for this model, starting with the executable.

<switches command="executable_name">

The graphical description of the switches. (see Defining tool switches)

<?xml version="1.0" ?>
   <my_model>
   <target-model name="gprclean" category="">
      <description>Clean compilation artefacts with gprclean</description>
      <command-line>
         <arg>gprclean</arg>
         <arg>-P%PP</arg>
         <arg>%X</arg>
      </command-line>
      <icon>gps-clean</icon>
      <switches command="%(tool_name)s" columns="1">
         <check label="Clean recursively" switch="-r"
                tip="Clean all projects recursively" />
      </switches>
   </target-model>
</my_model>