<?xml version="1.0"?> | |
<project name="WriteOutputContractTask" default="main" basedir=".."> | |
<!-- | |
You can read the value of input contracts in script directly by use TaskProductionForAnt. And we will convert the value to 'String' | |
and set it into the porperty with the contract name, you can get the value from the porperty. | |
eg: | |
<ReadIN name="the name of the contract" type="the type of the contract"/> | |
=>If you didn't set the type of the contract in the script, it will find the type of the contract automaticly. | |
<ReadIN name="the name of the contract"> | |
Then you can get it by use '${the name of the contract}'. | |
Now the TaskProductionForAnt class can support following types: | |
String => type="type:string" | |
Boolean | boolean => type="type:boolean" | |
Long => type="type:long" | |
Integer => type="type:integer" | |
BigInteger => type="type:bigInteger" | |
BigDecimal => type="type:bigDecimal" | |
Float => type="type:float" | |
Byte => type="type:byte" | |
Short => type="type:short" | |
Double => type="type:double" | |
Character => type="type:character" | |
Date => type="type:date" (Now suppoert the simple fomate: 'yyyy-MM-dd' and 'yyyy/MM/dd') | |
Type URI => type="type:uri" (org.eclipse.emf.common.util.URI) | |
If you want use ant script to read other complex type, you can write a sub task class which extends 'TaskProductionForAnt.java', | |
and read the input contract in the execute() method. You can get the TaskProductionContext from the ant task by use getContext() method | |
(See 'WriteAndReadContractByTask.xml'). | |
--> | |
<!-- Define the ant tasks --> | |
<taskdef name="taskProductionForAnt" description="Read input contracts in script directly." classname="org.eclipse.egf.portfolio.task.ant.engine.TaskProductionForAnt"> | |
<classpath> | |
<pathelement location="${basedir}/bin" /> | |
</classpath> | |
</taskdef> | |
<!-- Exectute the task --> | |
<target name="main"> | |
<!-- Write output contracts in script directly --> | |
<taskProductionForAnt> | |
<ReadIN name="input_parameter_string" type="type:string" /> | |
<ReadIN name="input_parameter_boolean" type="type:boolean" /> | |
<ReadIN name="input_parameter_long" type="type:long" /> | |
<ReadIN name="input_parameter_integer" type="type:integer" /> | |
<ReadIN name="input_parameter_bigInteger" type="type:bigInteger" /> | |
<ReadIN name="input_parameter_double" type="type:double" /> | |
<ReadIN name="input_parameter_float" type="type:float" /> | |
<!-- You also can not to set the type --> | |
<ReadIN name="input_parameter_short" /> | |
<ReadIN name="input_parameter_character" type="type:character" /> | |
<ReadIN name="input_parameter_byte" type="type:byte" /> | |
<ReadIN name="input_parameter_bigDecimal" type="type:bigDecimal" /> | |
<ReadIN name="input_parameter_date" type="type:date" /> | |
<ReadIN name="input_parameter_uri" type="type:uri" /> | |
</taskProductionForAnt> | |
<!-- The read value of input contract can be used in script by property name ( ${the name of contract} ) --> | |
<echo message="${input_parameter_string}" /> | |
<echo message="${input_parameter_boolean}" /> | |
<echo message="${input_parameter_long}" /> | |
<echo message="${input_parameter_integer}" /> | |
<echo message="${input_parameter_bigInteger}" /> | |
<echo message="${input_parameter_double}" /> | |
<echo message="${input_parameter_float}" /> | |
<echo message="${input_parameter_short}" /> | |
<echo message="${input_parameter_character}" /> | |
<echo message="${input_parameter_byte}" /> | |
<echo message="${input_parameter_boolean}" /> | |
<echo message="${input_parameter_bigDecimal}" /> | |
<echo message="${input_parameter_boolean}" /> | |
<echo message="${input_parameter_date}" /> | |
<echo message="${input_parameter_uri}" /> | |
</target> | |
</project> |