EasyAnt configuration file

The configuration file named easyant-conf.xml allow you to tune :
<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
By default easyant ivy instance is configured to use the default ivysettings provided by easyant-core.jar.

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 :

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