EasyAnt ivy instance
EasyAnt ivy instance is in charge to configure ivy for easyant internal use (configure repositories used to retrieve buildtypes/plugins/skeletons for example).By default easyant ivy instance is configured to use the default ivysettings provided by easyant-core.jar.
Lookup mechanism
To configure EasyAnt ivy instance use a lookup mechanism. It will:- Check default user location ${user.home}/.easyant/easyant-ivysettings.xml (this can be configured through a property see bellow)
- if not found, check url or file specified in EasyAnt configuration file
- if not found, check in default global localtion ${easyant.home}/ivysettings.xml (this can be configured through a property see bellow)
- if not found, use the default one provided by easyant-core.jar
User location
User default location can be configured through user.easyant.ivysettings.file property.Example :
> easyant -Duser.easyant.ivysettings.file=/path/to/ivysettings.xmlYou can tell easyant to ignore user location by setting ignore.user.ivysettings property to true.
Example :
> easyant -Dignore.user.ivysettings=true
Global location
User default location can be configured through global.easyant.ivysettings.file property.> easyant -Dglobal.easyant.ivysettings.file=/path/to/global/ivysettings.xml
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
- apache-easyant-plugins our online repository
- public-maven used to retrieved plugins/buildtypes dependencies
- easyant-default-chain the default chain containing the 3 previous repositories
apache-easyant-plugins repository base url is accessible through apache.easyant.public.url property.
Extending the default configuration
In enterprise context it can make sense to configure an 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>