Apache Ivy follows Maven principles and comes with lot of default configurations. Default settings can be overridden by defining a ivysettings.xml file.
<ivysettings> <properties file="${ivy.settings.dir}/ivysettings-file.properties" /> <settings defaultCache="${cache.dir}" defaultResolver="ibiblio" checkUpToDate="false" /> <resolvers> <ibiblio name="ibiblio" /> <filesystem name="internal"> <ivy pattern="${repository.dir}/[module]/ivy-[revision].xml" /> <artifact pattern="${repository.dir}/[module]/[artifact]-[revision].[ext]" /> </filesystem> </resolvers> <modules> <module organisation="howcodex" name=".*" resolver="internal" /> </modules> </ivysettings>
Following are the important tags of Ivy Setting file.
property − To set an ivy variable. Cardinality: 0..n
properties − To set an ivy variables using properties file. Cardinality: 0..n
settings − To configure ivy with default values. Cardinality: 0..1
include − To include another settings file. Cardinality: 0..n
classpath − To add a location in the classpath used to load plugins. Cardinality: 0..n
typedef − To define new types in ivy. Cardinality: 0..n
lock-strategies − To define lock strategies. Cardinality: 0..1
caches − To define repository cache managers. Cardinality: 0..1
latest-strategies − To define latest strategies. Cardinality: 0..1
parsers − To define module descriptor parsers. Cardinality: 0..1
version-matchers − To define new version matchers. Cardinality: 0..1
triggers − To register triggers on ivy events. Cardinality: 0..1
namespaces − To define new namespaces. Cardinality: 0..1
macrodef − To define a new macro resolver. Cardinality: 0..n
resolvers − To define dependency resolvers. Cardinality: 0..1
conflict-managers − To define conflicts managers. Cardinality: 0..1
modules − To define rules between modules and dependency resolvers. Cardinality: 0..1
outputters − To define the list of available report outputters. Cardinality: 0..1
statuses − To define the list of available statuses. Cardinality: 0..1