| <?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> |