EasyAnt configuration file
The configuration file named easyant-conf.xml allow you to tune :- easyant ivy instance (used to retrieve build types / plugins)
- system plugins
- properties
<easyant-config>
<!-- Configure the easyant ivy instance -->
<ivysettings file="${easyant.home}/ivysettings.xml"/>
<!-- Configure system plugins -->
<system-plugins>
<plugin organisation="org.apache.easyant.plugins" module="skeleton" revision="0.1" as="skeleton"/>
<plugin organisation="org.apache.easyant.plugins" module="ivy-repo-management" revision="0.1" as="repo-management"/>
</system-plugins>
<!-- Configuring user properties -->
<properties>
<property name="my.property" value="foobar"/>
</properties>
</easyant-config>
Configuring easyant ivy instance
By default, easyant ivy instance is configured to use a set of repositories based on your file system that are deployed with the easyant distribution. These repositories are supposed to be available online in a future release of easyant, and contain the build modules available to the user.Easyant ivy instance is not used to retrieve project dependencies.
If you want to configure the project ivy instance you should look at this page.
You can configure / override the easyant ivy instance through the following tag
<ivysettings file="/path/to/ivysettings.xml"/>or
<ivysettings url="/path/to/ivysettings.xml"/>
| attribute name | description |
| file | a file referecing a ivysettings file for easyant ivy instance |
| url | an url referencing a ivysettings file for easyant ivy instance |
default ivy settings provided by easyant-core.jar
You can reference this default ivysettings file through the property easyant.default.ivysettings.url.This file preconfigure :
- easyant cache in $USER_HOME/.easyant/easyant-cache
- default repositories:
- easyant-core-modules shipped in easyant-core.jar
- easyant-shared-modules pointing to "${user.home}/.easyant/repository/easyant-shared-modules" used to store users plugins/buildtypes
- public-maven used to retrieved plugins/buildtypes dependencies
- easyant-default-chain the default chain containing the 3 previous repositories
Using easyant-extra-modules
If you want to use easyant-extra-modules.jar (containing additional plugins/buildtypes) you can use the property easyant.extra.ivysettings.url.Extending the default configuration
In an enterprise context it can make sense to configure a enteprise repository to store easyant plugins/ easyant skeletons etc...This can be done writting your own ivysettings including if necessary the default configuration :
<ivysettings>
<!-- import the default ivy settings -->
<include url="${easyant.default.ivysettings.url}"/>
<!-- define your own default resolver, here a chain that include a new repo + the default chain provided by easyant -->
<settings defaultResolver="my-chain"/>
<resolvers>
<filesystem name="my-custom-repo">
<ivy pattern="/path/to/your/repo/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="/path/to/your/repo/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
<chain name="my-chain">
<resolver ref="my-custom-repo" />
<resolver ref="easyant-default-chain" />
</chain>
</resolvers>
</ivysettings>
Configuring system plugins
A system plugin can provide some additionnal functionnalities that can be used from everywhere.To reference a set of plugins you can use the following syntax :
<plugin organisation="org.apache.easyant.plugins" module="skeleton" revision="0.1" as="skeleton"/>
Plugin attributes
| attribute name | description |
| organisation | plugin organisation name |
| org | shorter form to set plugin organisation name |
| module | plugin module name |
| module | plugin module name |
| revision | plugin revision number |
| rev | shorter form to define plugin revision number |
| mrid | a module revision id. This argument can be used to define a plugin using a module revision id (Syntax: [organisation]#[module];[revision]) |
| as | an alias to prefix plugin's targets |
| mandatory | plugin module name |
| mode | define if we should import or include the plugin |
<!-- Using exploded style -->
<plugin organisation="org.apache.easyant.plugins" module="skeleton" revision="0.1" as="skeleton"/>
<!-- shorter form -->
<plugin org="org.apache.easyant.plugins" module="skeleton" rev="0.1" as="skeleton"/>
<!-- Using a mrid style -->
<plugin mrid="org.apache.easyant.plugins#skeleton;0.1" as="skeleton"/>
Defining user properties
You can also define user properties. Those properties will be available from everywhere when invoking easyant.<property name="my.property" value="foobar"/>
<property file="/path/to/mycompany.properties"/>
<property url="/path/to/mycompany.properties"/>
Properties attribute
| attribute name | description |
| name | a property name |
| value | a property value |
| url | an url referencing a property file |
| file | a property file |