2002-2005
Sven Ehrke
Sven
Ehrke
ericb@gobosoft.com 7 July 2005

# ve

## Description

Invoke Object Tools's Visual Eiffel Compiler.

## Parameters

esd

  Description: Name of esd file

  Domain: Valid filename pointing to existing file

  Default: empty string

xace

  Description: Name of Xace file

  Domain: Valid filename pointing to existing file

  Default: empty string

recursive

  Description: recursive

  Domain: Boolean (true|false)

  Default: false

tune

  Description: tune

  Domain: Boolean (true|false)

  Default: false

level

  Description: level

  Domain: large|huge

  Default: -

clean

  Description: clean

  Domain: valid system name

  Default: empty string

exit_code_variable

  Description: Name of variable holding the compiler process's return code after it's run

  Domain: Intgeger (usually 0 for OK, and any other number for not OK)

  Default: `Void' (no variable is set if attribute is not specified)

Note: In mode 'clean' the directory 'eCluster' and the files Result.out', 'vec.xcp' are deleted as well if they exist. If 'recursive' is set to 'true' 'clean' is applied to each subdirectory recursively. In mode tune the Eiffel System is tuned with Visual Eiffel's tuner. Visual Eiffel 5.0 uses Xace files. When both 'esd' and 'xace' attributes are specified, only 'esd' is taken into account.

## RNG Specification

      <define name="ve">
        <element name="ve">
          <ref name="dir_if_unless"/>
          <choice>
            <attribute name="esd"/>
            <attribute name="xace"/>
            <group>
              <attribute name="clean"/>
              <optional>
                <attribute name="recursive"/>
              </optional>
            </group>
            <group>
              <attribute name="tune"/>
              <optional>
                <attribute name="level">
                  <!-- runtime evaluation
                  <choice>
                    <value>large</value>
                    <value>huge</value>
                  </choice>
                  -->
                </attribute>
              </optional>
            </group>
          </choice>
        </element>
      </define>

## Examples

      <ve esd="compile_ve.esd"/>

      <ve xace="compile_ve.xace"/>

      <ve clean="kernel" recursive="true"/>

      <ve tune="${system}${exe}" level="${vetuner}" if="${vetuner}"/>