The task is used to process an IBM i language definition, defining the context for building objects. It is included in the macrodefs.xml macro for an Enterprise Extensions (EE) language definition when appropriate by the Dependency Build process.

Attributes

The task supports Build Extensions Debugging Attributes and Build Extensions General Attributes, as well as, its own task specific attributes. Click on a link for more information on the common attributes.

The following table describes the task specific attributes for the task:

Task Specific Attributes
Attribute Description Required
id The language definition identifier. Yes
loadlibrary The IBM i library where source is to be loaded. Yes
outputlibrary The IBM i library where compiled objects will be built. Yes
systemref Used to identify an IBM i system. Value should be set to "SystemInstance". Yes

Output Element

This is used to describe the characteristics of the output of a language definition.

The following table describes the valid output element attributes and their options:

Output Element Attributes
Attribute Description Required
library The library to contain the built output Yes
name The name of the built output Yes
type The object type of the built output Yes
attribute The object attribute of the built output No
deployable Deprecated. Was used to specify if an object was deployable. Default is false. No
systemref Used to identify an IBM i system. Value should be set to "SystemInstance". Yes

Inputs Element

This is used to describe the characteristics of the inputs for a language definition. The inputs element contains a list of input elements.

The following table describes the valid input element attributes and their options:

Input Element Attributes
Attribute Description Required
Yes

Task References Element

Task references are used to map build variables to be substituted into build commands.

The following table describes the valid taskref element attributes and their options:

Task Reference Element Attributes
Attribute Description Required
Yes

Variables Element

The variables element is specified within the taskref element. It is a container for variable elements. Variable elements define the name and value of a build variable.

The following table describes the valid variable element attributes and their options:

Variables Element Attributes
Attribute Description Required
format Yes
name The name of the variable. Yes
type Yes
value The value of the variable. Yes

Notes

Examples

langdef example:

<antp:langdef
    id="arod_Build_RPG_Modules"
    loadlibrary="@{input.library}"
    outputlibrary="@{output.library.1}"systemref="SystemInstance">
  <output attribute="" deployable="false" library="@{output.library.1}" name="@{output.name.1}" type="*MODULE"/>
  <inputs>
    <input id="arod_Build_RPG_Modules" label="arod_Build_RPG_Modules" type="*ITERATE">
      <include>
        <members file="@{input.sourcePF}" library="@{input.library}" name="@{input.memberName}" type="@{input.memberType}"/>
      </include>
    </input>
  </inputs>
  <taskrefs>
    <taskref taskid="arod_RPGLE(Translator)">
      <variables>
        <variable format="*STRING" name="&input.memberType" type="*STRING" value="@{input.memberType}"/>
        <variable format="*STRING" name="&O" type="*STRING" value="@{output.name.1}"/>
        <variable format="*STRING" name="&RTCReturnCodeForTranslator" type="*STRING" value="@{var.1.1RTCReturnCodeForTranslator}"/>
      </variables>
    </taskref>
  </taskrefs>
</antp:langdef>