Next: , Up: Customizing build Targets and Models


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>