You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ja...@apache.org on 2017/06/19 01:58:53 UTC

[10/29] ant-ivy git commit: Initial auto-converted .adoc files from xooki2asciidoc convertor

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/makepom.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/makepom.adoc b/asciidoc/use/makepom.adoc
new file mode 100644
index 0000000..e442238
--- /dev/null
+++ b/asciidoc/use/makepom.adoc
@@ -0,0 +1,131 @@
+
+*__since 2.0__*
+The makepom task allows to convert an ivy file to a pom file.
+
+An example of use is to publish an Ivy managed module to a maven 2 repository.
+
+_Note that all Ivy features are not supported by maven poms, so the converted pom may not resolve to the exact same dependencies as the original ivy file._
+
+*__since 2.2__*
+It is possible to specify a template file defining the structure of the generated POM. The following processing is done on this template:
+
+
+* properties like __${property.name}__ are replaced if they are defined in Ant or by the ivy:makepom task (see below for the standard properties) +
+
+* lines containg the string __SKIP_LINE__ are skipped. +
+<li>the defined dependencies will be added to the first <dependencies> element encountered in the pom template. If the template doesn't contain a <dependencies> element, it is generated a the end of the pom.
+
+
+The ivy:makepom task defines following properties that can be used in the template. 
+
+* *ivy.pom.groupId*: defaults to the organisation as defined in the ivy.xml file +
+
+* *ivy.pom.artifactId*: defaults to the value of the 'atifactName' attribute of this task, or the name of the module as defined in the ivy.xml file +
+
+* *ivy.pom.packaging*: defaults to the value of the 'artifactPackaging' attribute of this task, or the extenstion of the artifact +
+
+* *ivy.pom.version*: defaults to the revision as defined in the ivy.xml file +
+
+* *ivy.pom.name*: defaults to 'SKIP_LINE' +
+
+* *ivy.pom.description*: defaults to the value of the 'description' attribute of this task, or 'SKIP_LINE' when not specified +
+
+* *ivy.pom.url*: defaults to the homepage as defined in the ivy.xml file +
+
+* *ivy.pom.license*: the content of the specified headerFile, or 'SKIP_LINE' if not specified +
+
+* *ivy.pom.header*: some Ivy information, or 'SKIP_LINE' if the 'printIvyInfo' attribute is set to false. +
+
+Note that each property can be given a value manually in the Ant build file. In that case, Ivy will use the value specified in the build file instead of the default value.
+
+The default template that ships with Ivy looks like this:
+
+[source]
+----
+
+${ivy.pom.license}
+${ivy.pom.header}
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>${ivy.pom.groupId}</groupId>
+  <artifactId>${ivy.pom.artifactId}</artifactId>
+  <packaging>${ivy.pom.packaging}</packaging>
+  <version>${ivy.pom.version}</version>
+  <name>${ivy.pom.name}</name>
+  <description>${ivy.pom.description}</description>
+  <url>${ivy.pom.url}</url>
+</project>
+
+----
+
+
+== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|ivyfile|the source ivy file to convert|Yes
+|pomfile|the destination pom file to write|Yes
+|templatefile|the template file to use when generating the pom *__(since 2.2)__*|No, defaults to the internal template file.
+|artifactName|The name of the artifact which is represented by the generated pom file. *__(since 2.2)__*|No, defaults to the module name in the source ivy file.
+|artifactPackaging|The packaging of the artifact which is represented by the generated pom file. *__(since 2.2)__*|No, the artifact type is taken by default. Defaults to 'pom' if no such artifact is defined.
+|conf|a comma separated list of the configurations to include in the generated pom. Wildcards are supported here. *__(since 2.2)__*|No, defaults to all configurations.
+|settingsRef|A reference to the ivy settings that must be used by this task|No, 'ivy.instance' is taken by default.
+|printIvyInfo|Add some information about Ivy to the generated POM. *__(since 2.2)__*|No, defaults to 'true'.
+|headerFile|the header of the generated pom file|No
+|description|The description that will be added to the generated pom. *__(since 2.2)__*|No, defaults to no description. Since 2.5, defaults to the description in the source ivy file.
+|=======
+
+
+== Child elements
+
+
+[options="header"]
+|=======
+|Element|Description|Cardinality
+|mapping|describes the mapping from an Ivy module configuration to a Maven POM scope.
+These elements takes two attributes: 
+* conf +
+ the configuration to map
+* scope +
+the scope to which it should be mapped|0..n
+|dependency|describes extra dependencies that should be added to the generated Maven POM file.
+These elements takes the following attributes: 
+* group +
+ the groupId. Default __organisation__ as defined in __info__
+* artifact +
+ the name of the artifact
+* version +
+ the version. Default __revision__ as defined in __info__
+* type *__(since 2.3)__* +
+ the type
+* classifier *__(since 2.3)__* +
+ the classifier
+* scope +
+ the scope
+* optional +
+ is the artifact optional. Default __false__|0..n
+|=======
+
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:makepom ivyfile="${basedir}/path/to/ivy.xml" pomfile="${basedir}/path/to/module.pom" conf="default,runtime">
+   <mapping conf="default" scope="compile"/>
+   <mapping conf="runtime" scope="runtime"/>
+   <dependency group="com.acme" artifact="acme-logging" version="1.0" optional="true"/>
+</ivy:makepom>
+
+----
+
+Converts ${basedir}/path/to/ivy.xml to a pom and writes the result to ${basedir}/path/to/module.pom. The configuration 'default' in the parsed ivy file will be mapped to the scope 'compile', the configuration 'runtime' will be mapped to 'runtime', and other configurations will be excluded.
+
+The __com.acme.acme-logging__ artifact with version 1.0 will be added as an optional dependency.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/postresolvetask.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/postresolvetask.adoc b/asciidoc/use/postresolvetask.adoc
new file mode 100644
index 0000000..8e7d3ef
--- /dev/null
+++ b/asciidoc/use/postresolvetask.adoc
@@ -0,0 +1,105 @@
+
+Several tasks in Ivy are considered as post resolve task and share a common behaviour and settings accordingly.
+
+These tasks are:
+
+
+* link:../use/retrieve.html[retrieve] +
+
+* link:../use/cachefileset.html[cachefileset] +
+
+* link:../use/cachepath.html[cachepath] +
+
+* link:../use/artifactproperty.html[artifactproperty] *__(since 2.0)__* +
+
+* link:../use/artifactreport.html[artifactreport] *__(since 2.0)__* +
+
+
+All these tasks will trigger automatically a resolve if:
+
+
+* none has already been called in the current build with the attribute keep set to true (see below) +
+
+* organisation and module are not set +
+
+
+*__Since Ivy 1.4__*, there are two ways to run a link:../use/resolve.html[resolve]: with an ivy file, or with the inline mode.
+When you call resolve with an ivy file, the default for it is to keep the resolved data for use by the subsequent post resolve tasks. When you run an inline resolve, the default is not to keep the data. You can override this behaviour by setting the keep attribute as you like.
+
+If you want to to reuse the resolved data obtained through a call to resolve in another build (i.e. not the current one), then you have to set the organisation and module attributes. This work only if the cache was not cleaned since your last resolve call. This does not work with inline calls, which must be performed in the same build.
+
+
+The attributes listed are then mostly used only if a resolve is triggered automatically.
+
+
+== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|conf|a comma separated list of the configurations to retrieve or '*'.
+*__Since 2.0__* you can also use '*(public)' or '*(private)'.  Note that '*' is interpreted as '*(public)' when inline is true.|No. Defaults to the configurations resolved by the last resolve call, or '*' if no resolve was explicitly called
+|inline|true to use inline mode, false to resolve an ivy file *__(since 1.4)__*|No. defaults false
+|organisation|the organisation of the module to retrieve. This usually doesn't need to be set since it defaults to the last resolved one, except for inline mode where it is required.|Yes in inline mode, otherwise no, it then defaults to last resolved module name
+|module|the name of the module to retrieve. This usually doesn't need to be set since it defaults to the last resolved one, except for inline mode where it is required.|Yes in inline mode, otherwise no, it then defaults to last resolved module name
+|revision|the revision constraint of the module to retrieve. Used only in inline mode. *__since 1.4__*|No. Defaults to latest.integration
+|branch|the name of the branch to resolve in inline mode *__(since 2.1)__*|Defaults to no branch in inline mode, nothing in standard mode.
+|changing|indicates that the module may change when resolving in inline mode. See link:../concept.html#change[cache and change management] for details. Ignored when resolving in standard mode. *__(since 2.2.0)__*|No. Defaults to false.
+|transitive|true to resolve dependencies transitively, false otherwise *__since 1.4__*|No. Defaults to true
+|resolveMode|the link:../use/resolve.html[resolve mode] to use when an automatic resolve is triggered *__(since 2.1)__*|No. defaults to using the resolve mode set in the link:../settings.html[settings]
+|keep|true to keep the results of the automatic resolve in memory, false to discard them. When this is false, the standard ivy properties won't be set and other postresolve-tasks (like retrieve and cachepath) won't be able to resuse the results of this resolve!|No. defaults to false for an inline resolve and to true in any other case
+|haltonfailure|true to halt the build on ivy failure, false to continue|No. Defaults to true
+|validate|true to force ivy files validation against ivy.xsd, false to force no validation|No. Defaults to default ivy value (as configured in configuration file)
+|refresh|true to force Ivy to resolve dynamic revision in this resolve process, false to use cached resolved revision *__since 2.1__*|No. defaults to false
+|file|the file to resolve if a resolve is necessary *__since 2.0__*|No. Defaults to the previous resolved Ivy file or to ${ivy.dep.file}
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|resolveId|The id which was used for a previous resolve, or the resolveId if a new resolve is performed *__(since 2.0)__*|No, defaults to '[org]-[module]'.
+|log|the log setting to use during the resolve process. *__(since 2.0)__*
+
+Available options are:
+
+* default +
+ the default log settings, where all usual messages are output to the console
+
+* download-only +
+ disable all usual messages but download ones. A resolve with everything in cache won't output any message.
+
+* quiet +
+ disable all usual messages, making the whole resolve process quiet unless errors occur
+|No, defaults to 'default'.
+|=======
+
+
+
+== Child elements
+
+
+*__(Since 2.3)__*
+
+These child elements are defining an inlined ivy.xml's link:../ivyfile/dependencies.html[dependencies] elements. Thus these child elements cannot be used together with the __inline__ or __file__ attributes.
+There is one important difference with the ivy.xml's link:../ivyfile/dependencies.html[dependencies]: there is no master configuration to handle here. There is actually only one, the one on which the resolve will run. So every attribute in link:../ivyfile/dependency.html[dependency], link:../ivyfile/exclude.html[exclude],  link:../ivyfile/override.html[override] or link:../ivyfile/conflict.html[conflict] which is about a master configuration is not supported. And every attribute about a mapping of a master configuration on a dependency configuration is now expecting only the dependency configuration. 
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Element|Description|Cardinality
+|link:../ivyfile/dependency.html[dependency]|declares a dependency to resolve|0..n
+|link:../ivyfile/exclude.html[exclude]|excludes artifacts, modules or whole organizations from the set of dependencies to resolve|0..n
+|link:../ivyfile/override.html[override]|specify an override mediation rule, overriding the revision and/or branch requested for a transitive dependency *__since 2.0__*|0..n
+|=======
+
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:cachepath organisation="emma" module="emma" revision="2.0.4217" inline="true" conf="ant" pathid="emma.classpath"/>
+<taskdef resource="emma_ant.properties" classpathref="emma.classpath" /> 
+
+----
+
+Resolves the emma module in version 2.0.4217, constructs an ant path with the corresponding artifacts, and then define the emma tasks using this path.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/publish.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/publish.adoc b/asciidoc/use/publish.adoc
new file mode 100644
index 0000000..b1e0534
--- /dev/null
+++ b/asciidoc/use/publish.adoc
@@ -0,0 +1,77 @@
+
+Publishes the current module's link:../ivyfile/publications.html[artifacts] and the link:../ivyfile.html#resolved[resolved descriptor] (delivered ivy file).
+
+This task is meant to publish the current module descriptor together with its declared publication artifacts to a repository.
+
+All the artifacts must have been created _before_ calling this task. It does not create the artifacts themselves, but expects to find them at the location indicated by the artifacts pattern.
+
+The target repository is given through the name of a resolver declared in current ivy settings. See link:../settings.html[Settings Files] for details about resolver supporting artifact publishing.
+
+It also publishes the delivered ivy file (except if you don't want), and even deliver it, if it has not been done with a previous deliver call or if forcedeliver is set to true. That's why this task takes some parameters useful only for delivery. See the illustration below:
+
+
+
+image::../images/ivy-publish-fc.png[]
+
+
+
+*__since 1.4.1__*
+The source artifact pattern can be specified either as an attribute on the task (artifactspattern) or using a list of nested artifacts element (see examples below).
+  
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|organisation|the name of the organisation of the module to publish|No. Defaults to ${ivy.organisation} or the last resolved module organisation.
+|module|the name of the module to publish|No. Defaults to ${ivy.module} or the last resolved module name.
+|revision|the revision of the module to publish and also the published revision unless pubrevision is set|No. Defaults to ${ivy.revision} or the last resolve module revision.
+|artifactspattern|the pattern to use to find artifacts to publish|No. Defaults to ${ivy.publish.src.artifacts.pattern}
+|resolver|the name of the resolver to use for publication|Yes
+|pubrevision|the revision to use for the publication|No. Defaults to the ${ivy.deliver.revision}
+|pubbranch|the branch to use for the publication|No. Defaults to the ${ivy.deliver.branch}
+|forcedeliver|true to force the implicit call to deliver, false to do it only if the ivy file to publish doesn't exist yet *__(since 1.4)__*|No. Defaults to false
+|update|true to update ivy file metadata (revision, branch, publication date and status) before publishing, false otherwise. This is usually not necessary when using deliver before publish.|No. Defaults to false
+|merge|if this descriptor link:../ivyfile/extends.html[extends] a parent, merge the inherited information directly into this descriptor on publish.  The __extends__ element itself will be commented out in the published descriptor. *__(since 2.2)__*
+|validate|true to force ivy files validation against ivy.xsd, false to force no validation|No. Defaults to default ivy value (as configured in link:../settings.html[settings file])
+|replacedynamicrev|true to replace dynamic revisions by static ones in the delivered file, false to avoid this replacement *__(since 1.3)__*|No. Defaults to true
+|publishivy|True to publish delivered ivy file, false otherwise|No. Defaults to true
+|conf|A comma separated list of configurations to publish  *__(since 1.4.1)__*. Accepts wildcards *__(since 2.2)__*.|No. Defaults to all configurations
+|overwrite|True to overwrite files in repository if the revision already exist, false to let it as is|No. Defaults to false
+|warnonmissing|True to warn when artifacts to be published are missing|No. Defaults to true
+|haltonmissing|True to halt build when artifacts to be published are missing|No. Defaults to true
+|srcivypattern|the pattern to use to find ivy file to publish, and even deliver if necessary *__(since 1.2)__*|No. Defaults to the value of artifactspattern
+|pubdate|the publication date to use for the delivery, if necessary. This date should be either 'now', or a date given with the following pattern: yyyyMMddHHmmss|No. Defaults to 'now'
+|status|the status to use for the delivery, if necessary|No. Defaults to ${ivy.status}
+|delivertarget|the target to call for recursive delivery|No. No recursive delivery is done by default
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|=======
+
+
+== Child elements
+
+
+[options="header"]
+|=======
+|Element|Description|Cardinality
+|artifact|Describe additional artifacts to publish
+These elements can have any attribute: standard artifact attributes and (since 2.2) extra attributes are supported.|0..n
+|artifacts|Specify the pattern used to find the artifact.
+These elements have a __pattern__ attribute containing the pattern used to find the artifact.|0..n
+|=======
+
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:publish resolver="local" pubrevision="1.0">
+   <artifacts pattern="build/artifacts/jars/[artifact].[ext]" />
+   <artifacts pattern="build/artifacts/zips/[artifact].[ext]" />
+</ivy:publish>
+
+----
+
+Publishes the last resolved module in the local resolver with revision 1.0, looking for artifacts in directories __build/artifacts/jars__ and __build/artifacts/zips__.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/report.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/report.adoc b/asciidoc/use/report.adoc
new file mode 100644
index 0000000..aaee943
--- /dev/null
+++ b/asciidoc/use/report.adoc
@@ -0,0 +1,80 @@
+
+Generates reports of dependency resolving. One report per configuration is generated, but all reports generated together are hyperlinked one to each other.
+
+This task should be used only after a call to resolve, even if the call was not done during the same ant build.
+In fact, this task uses xml report generated by resolve in cache. So if you call resolve on a module for a given configuration, you can call report safely on this module and this configuration as long as you do not clean your ivy cache.
+
+If you want to have an idea of what reports look like, check this very simple link:../samples/jayasoft-ivyrep-example-default.html[example].
+The task also generates a graphml file which can be loaded with the free link:http://www.yworks.com/en/products_yed_about.htm[yEd] graph editor.
+Then following a few link:../yed.html[simple steps] you can obtain a graph like this link:../samples/jayasoft-ivyrep-example-default.jpg[one].
+
+*__since 1.4__* If a custom XSL is specified, it's possible to specify additional parameters to the stylesheet.
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|todir|the directory to which reports should be generated|No, defaults to ${ivy.report.todir}, or execution directory if not defined
+|outputpattern|the generated report names pattern|No, defaults to ${ivy.report.output.pattern}, or [organisation]-[module]-[conf].[ext] if not defined
+|xsl|true to generate a report (by default html report) using xslt, false otherwise *__since 1.3__*|No, defaults to true
+|xml|true to generate a xml report, false otherwise *__since 1.3__*|No, defaults to false
+|graph|true to generate graphml files, false otherwise|No, defaults to true
+|dot|true to generate link:http://www.graphviz.org/[graphviz dot] files, false otherwise *__since 1.4__*|No, defaults to false
+|conf|a comma separated list of the configurations for which a report should be generated|No. Defaults to the configurations resolved by the last resolve call (during same ant build), or ${ivy.resolved.configurations} if no resolve was called
+|organisation|the name of the organisation of the module for which report should be generated|No, unless resolveId has not been specified and no resolve was called during the build. Defaults to last resolved module organisation.
+|module|the name of the module for which report should be generated|No, unless resolveId has not been specified and no resolve was called during the build. Defaults to last resolved module.
+|validate|true to force ivy files validation against ivy.xsd, false to force no validation|No. Defaults to default ivy value (as configured in configuration file)
+|xslfile|indicates which xsl file should be used to generate the report|No, defaults to ivy provided xsl which generates html report
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|resolveId|The id which was used for a previous resolve *__(since 2.0)__*|No, defaults to '[org]-[module]'.
+|=======
+
+
+
+== Examples
+
+To generate a HTML and graphml report:
+
+[source]
+----
+
+<report conf="compile" />
+
+----
+
+
+'''
+
+To generate a HTML report only:
+
+[source]
+----
+
+<report conf="compile" graph="false" />
+
+----
+
+
+'''
+
+To generate an XML report using a custom stylesheet:
+
+[source]
+----
+
+<report conf="compile" xslfile="my-custom-stylesheet.xsl" xslext="xml" />
+
+----
+
+To generate an XML report using a custom stylesheet which needs some parameters:
+
+[source]
+----
+
+<report conf="compile" xslfile="my-custom-stylesheet.xsl" xslext="xml">
+    <param name="param1" expression="value1" /> 
+    <param name="param2" expression="value2" /> 
+</report>
+
+----
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/repreport.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/repreport.adoc b/asciidoc/use/repreport.adoc
new file mode 100644
index 0000000..e2aca54
--- /dev/null
+++ b/asciidoc/use/repreport.adoc
@@ -0,0 +1,109 @@
+
+Generates reports about dependencies among several modules in the repository (repreport stands for repository report).*__since 1.4__*
+
+This task is similar to the link:../use/report.html[report] task, except that instead of working on a single module you just resolved, it works with a set of modules in your repository.
+
+Note that the set of modules for which you generate the report is determined by setting organisation module and revision and using a matcher, but also by the dependencies of these modules. No dependency is excluded.
+
+Usually the most useful report is a graph, you can generate either a graphml file that you can then easily link:../yed.html[layout using yEd], or a dot file which is the format recognized by graphviz, which is a free tool which does automatic graph layout, and can thus be used to generate automatically a GIF or PNG of the dependencies between all your modules.
+
+*Limitation*: this task requires to be able to browse the repository, and is thus limited to resolvers supporting repository listing. In particular, it means it doesn't work to report all organizations in a repository using m2compatible mode.
+Moreover, to be able to list organizations, this task requires an [organisation] token in the resolver(s) used.
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|organisation|A pattern matching the organisation of the modules for which the report should be generated|No, defaults to '*'
+|module|A pattern matching the name of the modules for which the report should be generated|No, defaults to '*'
+|branch|The name of the branch of the modules for which the report should be generated|No, defaults to no branch specified
+|revision|The revision of the modules for which the report should be generated. Only one revision per module will be used, so most of the time keeping the default (latest.integration) is the best thing to do, because it's not very easy to specify only one revision for several modules.|No, defaults to 'latest.integration'
+|todir|the directory to which reports should be generated|No, defaults to execution directory
+|outputname|the name to use for the generate file (without extension)|No, defaults to ivy-repository-report
+|xml|true to generate a xml report, false otherwise|No, defaults to true
+|xsl|true to generate a report using xslt, false otherwise|No, defaults to false
+|xslfile|indicates which xsl file should be used to generate the report|Yes if you want to use xsl transformation
+|xslext|indicates the extension to use when generating report using xsl|No defaults to 'html'
+|graph|true to generate graphml file, false otherwise|No, defaults to false
+|dot|true to generate graphviz dot format file, false otherwise|No, defaults to false
+|matcher|the name of the matcher to use for matching modules names and organisations in your repository|No. Defaults to exactOrRegexp
+|validate|true to force ivy files validation against ivy.xsd, false to force no validation|No. Defaults to default ivy value (as configured in configuration file)
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|=======
+
+
+
+== Examples
+
+To generate a xml report for all the latest versions of all the modules in your repository:
+
+[source]
+----
+
+<ivy:repreport />
+
+----
+
+
+'''
+
+To generate a graphml report for all the latest versions of all the modules in your repository:
+
+[source]
+----
+
+<ivy:repreport xml="false" graph="true" />
+
+----
+
+
+'''
+
+To generate a xml report for all the latest versions of the modules from the organisation foo in your repository:
+
+[source]
+----
+
+<ivy:repreport organisation="foo" />
+
+----
+
+
+'''
+
+To generate a xml report for all the versions on the 1.x stream of the modules named bar* from the organisation foo in your repository:
+
+[source]
+----
+
+<ivy:repreport organisation="foo" module="bar*" revision="1.+" matcher="glob" />
+
+----
+
+
+'''
+
+To generate an XML report using a custom stylesheet:
+
+[source]
+----
+
+<ivy:repreport xsl="true" xslfile="my-custom-stylesheet.xsl" xslext="xml" />
+
+----
+
+
+'''
+
+To generate an XML report using a custom stylesheet which needs some parameters:
+
+[source]
+----
+
+<ivy:repreport xsl="true" xslfile="my-custom-stylesheet.xsl" xslext="xml">
+    <param name="param1" expression="value1" /> 
+    <param name="param2" expression="value2" /> 
+</report>
+
+----
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/resolve.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/resolve.adoc b/asciidoc/use/resolve.adoc
new file mode 100644
index 0000000..8dea9a0
--- /dev/null
+++ b/asciidoc/use/resolve.adoc
@@ -0,0 +1,308 @@
+
+The resolve task actually resolve dependencies described in an link:../ivyfile.html[ivy file], and put the resolved dependencies in the ivy cache.
+If configure has not been called before resolve is called, a default configuration will be used (equivalent to call configure with no attributes).
+
+After the call to this task, four properties are set in ant:
+
+
+* ivy.organisation +
+set to the organisation name found in the ivyfile which was used for resolve
+
+* ivy.module +
+set to the module name found in the ivyfile which was used for resolve
+
+* ivy.revision +
+set to the revision name found in the ivyfile which was used for resolve, or a generated revision name if no revision was specified in the file
+
+* ivy.resolved.configurations +
+set to the comma separated list of configurations resolved
+
+*Since 1.2:*
+An additional property is set to true if the resolved dependencies are changes since the last resolve, and to false otherwise: 
+[source]
+----
+ivy.deps.changed
+----
+
+*Since 2.0:*
+The property ivy.deps.changed will not be set (and not be computed) if you set the parameter __checkIfChanged__ to false. (by default it is true to keep backward compatibility).  This allow to optimize your build when you have multi-module build with multiple configurations.
+
+*Since 2.0:*
+In addition, if the __resolveId__ attribute has been set, the following properties are set as well:
+
+
+* ivy.organisation.${resolveId} +
+
+* ivy.module.${resolveId} +
+
+* ivy.revision.${resolveId} +
+
+* ivy.resolved.configurations.${resolveId} +
+
+* ivy.deps.changed.${resolveId} +
+
+
+*Since 2.4*
+If current module extends other modules 
+
+
+* ivy.parents.count +
+number of parents module
+
+* ivy.parent[index].organisation +
+set to the organisation name found in the parent ivyfile which was used for resolve
+
+* ivy.parent[index].module +
+set to the module name found in the parent ivyfile which was used for resolve
+
+* ivy.parent[index].revision +
+set to the revision name found in the parent ivyfile which was used for resolve
+
+* ivy.parent[index].branch +
+set to the branch name found in the parent ivyfile which was used for resolve
+
+Where __index__ represent the index of extends module.
+
+When ivy has finished the resolve task, it outputs a summary of what has been resolved. This summary looks like this:
+
+[source]
+----
+
+---------------------------------------------------------------------
+|                  |            modules            ||   artifacts   |
+|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+---------------------------------------------------------------------
+|      default     |   4   |   0   |   0   |   0   ||   4   |   0   |
+---------------------------------------------------------------------
+
+----
+
+
+This table gives some statistics about the dependency resolution. Each line correspond to a configuration resolved. Then the table is divided in two parts:
+
+
+* modules +
+<ul>
+
+* number +
+This is the total number of dependency modules resolved in this configuration, including transitive ones
+
+* search +
+This is the number of dependency modules that required a repository access. The repository access is needed if the module is not yet in cache, or if a latest version is required, or in some other cases (depending on checkModified, for instance)
+
+* dwnlded +
+This is the number of dependency ivy files downloaded from the repository. This number can be less than the total number of modules even with a clean cache, if no ivy file is provided for some dependencies.
+
+* evicted +
+This is the number of dependency module evicted by conflict managers.
+
+<li>artifacts</li>
+
+
+* number +
+This is the total number of artifacts resolved in the given configuration.
+
+* dwnlded +
+This is the number of artifacts actually downloaded from the repository.
+
+</ul>
+
+
+=== Inline mode
+
+*__since 1.4__* The inline mode allow to call a resolve without an ivy file, by setting directly the module which should be resolved from the repository. It is particularly useful to install released software, like an ant task for example. When inline is set to true, the organisation module and revision attributes are used to specify which module should be resolved from the repository. 
+
+*Remark:* if you want the standard ivy properties to be set or to reuse the results of an inline resolve by other post-resolve tasks like retrieve, cachepath, report, ..., you must set the keep attribute to true!
+
+
+=== Resolve mode
+
+*__since 2.0__* The resolve mode allows to define how Ivy should use dependency revision constraints when performing the resolution.
+
+Two modes are available:
+
+
+* default +
+ In this mode the default revision constraint (expressed with the rev attribute in the link:../ivyfile/dependency.html[dependency] element) is used.
+
+* dynamic +
+ In this mode the dynamic revision constraint (expressed with the revConstraint attribute in the link:../ivyfile/dependency.html[dependency] element) is used.
+
+
+
+=== Concurrency
+
+During resolve, Ivy creates a file in the link:../settings/caches.html[resolution cache]. The creation of this file is not aimed to support concurrency, meaning that you can't have two concurrent resolve of the same module, in the same resolution cache, with the same resolveId. 
+
+__Note for developers:
+After the call to this task, a reference to the module descriptor resolved is put in the ant project under the id 
+[source]
+----
+"ivy.resolved.descriptor"
+----
+
+.__
+
+
+== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|file|path to the ivy file to use for resolution|No. Defaults to ${ivy.dep.file} or nothing in inline mode
+|conf|a comma separated list of the configurations to resolve, or '*'.  
+*__Since 2.0__*, you can also use '*(private)', '*(public)'.  Note that when inline is true, the configuration '*' is equivalent as '*(public)'.|No. Defaults to ${ivy.configurations}
+|refresh|true to force Ivy to resolve dynamic revision in this resolve process, false to use cached resolved revision *__since 2.0__*|No. defaults to false
+|resolveMode|the resolve mode to use for this dependency resolution process *__since 2.0__*|No. defaults to using the resolve mode set in the link:../settings.html[settings]
+|inline|true to use inline mode, false to resolve an ivy file *__since 1.4__*|No. defaults to false
+|keep|true to keep the results of the resolve in memory, false to discard them. When this is false, the standard ivy properties won't be set and other postresolve-tasks (like retrieve and cachepath) won't be able to resuse the results of this resolve!|No. defaults to false for an inline resolve and to true in any other case
+|organisation|the organisation of the module to resolve in inline mode *__since 1.4__*|Yes in inline mode, no otherwise.
+|module|the name of the module to resolve in inline mode *__since 1.4__*|Yes in inline mode, no otherwise.
+|revision|the revision constraint to apply to the module to resolve in inline mode *__since 1.4__*|No. Defaults to "latest.integration" in inline mode, nothing in standard mode.
+|branch|the name of the branch to resolve in inline mode *__(since 2.1.0)__*|Defaults to no branch in inline mode, nothing in standard mode.
+|changing|indicates that the module may change when resolving in inline mode. See link:../concept.html#change[cache and change management] for details. Ignored when resolving in standard mode. *__(since 1.4)__*|No. Defaults to false.
+|type|comma separated list of accepted artifact types (*__since 1.2__*)|No. defaults to ${ivy.resolve.default.type.filter}
+|haltonfailure|true to halt the build on ivy failure, false to continue|No. Defaults to true
+|failureproperty|the name of the property to set if the resolve failed *__since 1.4__*|No. No property is set by default.
+|transitive|true to resolve dependencies transitively, false otherwise *__since 1.4__*|No. Defaults to true
+|showprogress|true to show dots while downloading, false otherwise|No. Defaults to true
+|validate|true to force ivy files validation against ivy.xsd, false to force no validation|No. Defaults to default ivy value (as configured in configuration file)
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|resolveId|An id which can be used later to refer to the results of this resolve *__(since 2.0)__*|No, defaults to '[org]-[module]'.
+|log|the log setting to use during the resolve process. *__(since 2.0)__*
+
+Available options are:
+
+* default +
+ the default log settings, where all usual messages are output to the console
+
+* download-only +
+ disable all usual messages but download ones. A resolve with everything in cache won't output any message.
+
+* quiet +
+ disable all usual messages, making the whole resolve process quiet unless errors occur
+|No, defaults to 'default'.
+|checkIfChanged|When set to true, the resolve will compare the result with the last resolution done on this module, with those configurations in order to define the property ivy.deps.changed.  Put it to false may provides slightly better performance. *__(since 2.0)__*|No, default to 'true'
+|useCacheOnly|When set to true, it forces the resolvers to only use their caches and not their actual contents.*__(since 2.0)__*|No, default to 'false'
+|=======
+
+
+
+== Child elements
+
+
+*__(Since 2.3)__*
+
+These child elements are defining an inlined ivy.xml's link:../ivyfile/dependencies.html[dependencies] elements. Thus these child elements cannot be used together with the __inline__ or __file__ attributes.
+There is one important difference with the ivy.xml's link:../ivyfile/dependencies.html[dependencies]: there is no master configuration to handle here. There is actually only one, the one on which the resolve will run. So every attribute in link:../ivyfile/dependency.html[dependency], link:../ivyfile/exclude.html[exclude],  link:../ivyfile/override.html[override] or link:../ivyfile/conflict.html[conflict] which is about a master configuration is not supported. And every attribute about a mapping of a master configuration on a dependency configuration is now expecting only the dependency configuration. 
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Element|Description|Cardinality
+|link:../ivyfile/dependency.html[dependency]|declares a dependency to resolve|0..n
+|link:../ivyfile/exclude.html[exclude]|excludes artifacts, modules or whole organizations from the set of dependencies to resolve|0..n
+|link:../ivyfile/override.html[override]|specify an override mediation rule, overriding the revision and/or branch requested for a transitive dependency *__since 2.0__*|0..n
+|=======
+
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:resolve file="path/to/ivy.xml"/>
+
+----
+
+Resolve all dependencies declared in path/to/ivy.xml file.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resolve file="path/to/ivy.xml" transitive="false" />
+
+----
+
+Same as above, but with transitive dependencies disabled.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resolve file="path/to/ivy.xml" conf="default, test"/>
+
+----
+
+Resolve the dependencies declared in the configuration default and test of the path/to/ivy.xml file.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resolve file="path/to/ivy.xml" type="jar"/>
+
+----
+
+Resolve all dependencies declared in path/to/ivy.xml file, but download only jar artifacts.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resolve organisation="apache" module="commons-lang" revision="2+" inline="true" />
+
+----
+
+Resolve the commons-lang module revision 2+ from the repository, with its dependencies.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resolve>
+    <dependency org="apache" name="commons-lang" rev="2+" />
+    <dependency org="apache" name="commons-logging" rev="1.1" />
+    <exclude org="apache" module="log4j" />
+</ivy:resolve>
+
+----
+
+Resolve of both commons lang and commons logging, with their dependencies but not log4j.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resolve>
+    <dependency org="org.slf4j" module="slf4j" rev="1.6" conf="api,log4j" />
+</ivy:resolve>
+
+----
+
+Resolve the configurations "api" and "log4j" of "slf4j".
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/resources.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/resources.adoc b/asciidoc/use/resources.adoc
new file mode 100644
index 0000000..b810e22
--- /dev/null
+++ b/asciidoc/use/resources.adoc
@@ -0,0 +1,105 @@
+
+*__(since 2.3) (Ant 1.7 required)__*
+`ivy:resources` is an Ant link:http://ant.apache.org/manual/Types/resources.html#collection[resource collection], which files are based on an Ivy resolve, and then can be used with any task which is working with resources like `copy` or `import`.
+
+This datatype share the same attributes, child elements and behaviour of a link:../use/postresolvetask.html[post resolve task]. It is not expected to be used as an Ant task though, only as a resource collection.
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:resources file="path/to/ivy.xml"/>
+
+----
+
+Build a resource collection of every artifacts of all dependencies declared in path/to/ivy.xml file.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resources file="path/to/ivy.xml" transitive="false" />
+
+----
+
+Same as above, but with transitive dependencies disabled.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resources file="path/to/ivy.xml" conf="default, test"/>
+
+----
+
+Build a resource collection of every artifacts of the dependencies declared in the configuration default and test of the path/to/ivy.xml file.
+
+
+'''
+
+
+
+[source]
+----
+
+<ivy:resources file="path/to/ivy.xml" type="jar"/>
+
+----
+
+Build a resource collection of every jar artifact of all dependencies declared in path/to/ivy.xml file.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resources organisation="apache" module="commons-lang" revision="2+" inline="true" />
+
+----
+
+Build a resource collection of every artifacts of commons-lang module revision 2+ from the repository, with its dependencies.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resources>
+    <dependency org="apache" module="commons-lang" rev="2+" />
+    <dependency org="apache" module="commons-logging" rev="1.1" />
+    <exclude org="apache" module="log4j" />
+</ivy:resources>
+
+----
+
+Build a resource collection of every artifacts of both commons lang and commons logging, with their dependencies but not log4j.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:resources>
+    <dependency org="org.slf4j" module="slf4j" rev="1.6" conf="api,log4j" />
+</ivy:resources>
+
+----
+
+Build a resource collection of every artifacts of the configurations "api" and "log4j" of "slf4j".
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/retrieve.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/retrieve.adoc b/asciidoc/use/retrieve.adoc
new file mode 100644
index 0000000..71776e5
--- /dev/null
+++ b/asciidoc/use/retrieve.adoc
@@ -0,0 +1,257 @@
+
+The retrieve task copies resolved dependencies anywhere you want in your file system.
+
+This is a link:../use/postresolvetask.html[post resolve task], with all the behaviour and attributes common to all post resolve tasks.
+
+*__since 1.4__* This task can even be used to synchronize the destination directory with what should actually be in according to the dependency resolution. This means that by setting sync="true", Ivy will not only copy the necessary files, but it will also remove the files which do not need to be there.
+
+The synchronisation actually consists in deleting all filles and directories in the root destination directory which are not required by the retrieve.
+
+The root destination directory is the the directory denoted by the first level up the first token in the destination pattern.
+Example:
+pattern: lib/[conf]/[artifact].[ext]
+root: lib
+
+*__since 2.3__* A nested link:http://ant.apache.org/manual/Types/mapper.html[mapper] element can be used to specify more complex filename transformations of the retrieved files. See the examples below.
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|pattern|the pattern to use to copy the dependencies|No. Defaults to ${ivy.retrieve.pattern}
+|ivypattern|the pattern to use to copy the ivy files of dependencies *__since 1.3__*|No. Dependencies ivy files are not retrieved by default.
+|conf|a comma separated list of the configurations to retrieve|No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called
+|sync|true to synchronize the destination, false to just make a copy *__since 1.4__*|No. Defaults to false
+|type|comma separated list of accepted artifact types *__since 1.4__*|No. All artifact types are accepted by default.
+|overwriteMode|option to configure when the destination file should be overwritten if it exist *__(since 2.2.0)__*.
+Possible values are:
+
+* *newer* (default) +
+ overwrite the destination file if a more recent one is available (based on timestamp)
+
+* *different* +
+ overwrite the destination file if the timestamp is different
+
+* *always* +
+ always overwrite the destination file
+
+* *never* +
+ never overwrite the destination file
+|No. Defaults to 'newer'.
+|symlink|true to create symbolic links, false to copy the artifacts.
+    The destination of the symbolic links depends on the value of the useOrigin attribute.
+    (requires "ln" to be a valid command, and to support the options -s and -f (works on UNIX/Linux, on other systems you may need to script "ln")
+    *__(since 2.0)__*|No. Defaults to false
+|symlinkmass|true to create symbolic links in mass, false to copy the artifacts.
+    "symlinkmass" overrides "symlink" if both are set to "true".
+    "symlinkmass" will create the same symbolic links "symlink" does, but with a single process call to "sh" with batched "ln" commands passed in as standard input (works on UNIX/Linux, on other systems you may need to script it)
+    Far large lists of resolved jars, this can be dramatically faster.
+    The destination of the symbolic links depends on the value of the useOrigin attribute.
+    The events "StartRetrieveArtifactEvent" and EndRetrieveEvent are NOT fired by this activity, because it is not clear when they should be called.
+    *__(since 2.4)__*|No. Defaults to false
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|log|the log setting to use during the resolve and retrieve process. *__(since 2.0)__*
+
+Available options are the same as for link:../use/resolve.html[resolve] when used to trigger resolve automatically (see link:../use/postresolvetask.html[postresolvetask]), or the following for the retrieve process only:
+
+* *default* +
+ the default log settings, where all usual messages are output to the console
+
+* *quiet* +
+ disable all usual messages, making the whole retrieve process quiet unless errors occur
+|No, defaults to 'default'.
+|pathId|the id of the path to create containing the retrieved artifacts. *__since 2.3__*|No. No path is created by default.
+|setId|the id of the fileset to create containing the retrieved artifacts. *__since 2.3__*|No. No fileset is created by default.
+|=======
+
+
+== Examples
+
+
+[source]
+----
+
+<ivy:retrieve />
+
+----
+
+Retrieves dependencies using default parameters. This usually retrieves all the dependencies of the last resolve call to a lib directory.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]"/>
+
+----
+
+Retrieves all dependencies of the last resolve call to a lib directory, dependencies being separated in directories named by configuration, each conf directory containing corresponding artifacts without the revision.
+For instance, if the ivy file declares two configurations default and test, the resulting lib dir could look like this:
+
+[source]
+----
+
+lib
+  default
+    commons-lang.jar
+    commons-logging.jar
+  test
+    junit.jar
+
+----
+
+Note that if a dependency is required in the two configurations, it will be copied in the two directories. The download of the dependency is however only made once at resolve time.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" sync="true" />
+
+----
+
+Same as before, but with synchronisation enabled.
+
+For instance, if the ivy file declares two configurations default and test, the resulting lib dir could look like this:
+
+[source]
+----
+
+lib
+  default
+    commons-lang.jar
+    commons-logging.jar
+  test
+    junit.jar
+
+----
+
+And now suppose commons-logging is no longer part of the dependencies of the default configuration, then a new call to retrieve will result in:
+
+[source]
+----
+
+lib
+  default
+    commons-lang.jar
+  test
+    junit.jar
+
+----
+
+With no synchronisation, commons-logging would not have been removed by the call.
+
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve pattern="${lib.dir}/[type]/[artifact]-[revision].[ext]" conf="runtime"/>
+
+----
+
+Retrieves only the dependencies of the 
+[source]
+----
+runtime
+----
+
+configuration in directories named by artifact type. The resulting lib dir could look like this:
+
+[source]
+----
+
+lib
+  jar
+    commons-lang-1.0.jar
+    looks-1.1.jar
+  source
+    looks-1.1.zip
+
+----
+
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve pattern="${lib.dir}/[organisation]/[artifact]-[revision].[ext]" />
+
+----
+
+Retrieves all dependencies of the last resolve call to a lib directory. The [organisation] token will get the unmodified organisation value. The resulting lib dir could look like this:
+
+[source]
+----
+
+lib
+  org.apache
+    commons-lang-1.0.jar
+  org.junit
+    junit-4.1.jar
+    junit-4.1.zip
+
+----
+
+
+[source]
+----
+
+<ivy:retrieve pattern="${lib.dir}/[orgPath]/[artifact]-[revision].[ext]" />
+
+----
+
+Retrieves all dependencies of the last resolve call to a lib directory. The [orgPath] token will get a tree structure. The resulting lib dir could look like this:
+
+[source]
+----
+
+lib
+  org
+    apache
+      commons-lang-1.0.jar
+    junit
+      junit-4.1.jar
+      junit-4.1.zip
+
+----
+
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve organisation="foo" module="bar" inline="true" pattern="${my.install.dir}/[artifact].[ext]"/>
+
+----
+
+Resolves and retrieve the latest version of the module bar and its dependencies in the directory pointed by ${my.install.dir}.
+
+'''
+
+
+[source]
+----
+
+<ivy:retrieve pattern="lib/[artifact]-[revision].[ext]">
+    <firstmatchmapper>
+        <globmapper from="lib/*-SNAPSHOT.jar" to="lib/snapshots/*-SNAPSHOT.jar" />
+        <globmapper from="lib/*" to="lib/releases/*"/>
+    </firstmatchmapper>
+</ivy:retrieve>
+
+----
+
+Retrieves all dependencies of the last resolve call to a lib directory. The jar files with a version equal to 'SNAPSHOT' are retrieved in a 'snapshots' directory. The other ones are retrieved in a 'releases' directory.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/settings.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/settings.adoc b/asciidoc/use/settings.adoc
new file mode 100644
index 0000000..5e06db7
--- /dev/null
+++ b/asciidoc/use/settings.adoc
@@ -0,0 +1,122 @@
+
+*__(since 2.0)__*
+
+The settings declaration is used to configure ivy with an xml settings file. The difference with the link:../use/configure.html[configure] task is that when using the settings declaration, the configuration of Ivy will be done when the settings are first needed (for instance when you do a resolve), while the configure task will perform a configuration of Ivy instantly, which makes it easier to see the problem if something goes wrong.
+
+See link:../settings.html[Settings Files] for details about the settings file itself.
+
+
+
+Multiple settings can be defined in a build script. Every task can reference its own settings.
+
+All Ivy variables set during the settings are available in the Ant project as long as they were not set in Ant before (Ant properties are immutable). 
+Moreover, the variables are exposed under two names: the variable name, and the variable name suffixed by dot + the settings id. 
+For instance, if you load a settings with the id 'myid', and define a variable my.variable=my.value in the Ivy settings, both my.variable and my.variable.myid will now be available as properties in Ant and equal to 'my.value'. If you later load another settings with the id 'yourid', and in this settings assign the variable 'my.variable' the value 'your.value', in the Ant project you will have:
+
+[source]
+----
+
+my.variable=my.value
+my.variable.myid=my.value
+my.variable.yourid=your.value
+
+----
+
+
+=== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|id|The settings id useable in the settingsRef attributes of the ivy task that needs a setting.  Note that the ivy tasks will search by default for the settings with the id "ivy.instance", which is the default value.|No, defaults to "ivy.instance"
+|file|path to the settings file to use|No. If a file is provided, url is ignored. If none are provided, then it attempts to find a file at ${ivy.settings.file}, and if this file does not exist, it uses a link:../tutorial/defaultconf.html[default settings file]
+|url|url of the settings file to use
+|host|http authentication host|No, unless authentication is required
+|realm|http authentication realm
+|username|http authentication user name
+|passwd|http authentication password
+|=======
+
+
+=== HTTP Authentication
+
+__Note: HTTP Authentication can be used only if link:http://jakarta.apache.org/commons/httpclient/[commons-httpclient.jar] is in your classpath__
+If any of the url you use in ivy (especially in dependency resolvers) need http
+authentication, then you have to provide the host, realm, username and passwd
+attributes of the configure task. These settings will then be used in any
+further call to ivy tasks.
+
+
+
+
+=== Multiple classloader
+
+A special attention should be applied when you have a multi-project build with __subant__ call, using ivy task loaded by a __typedef__.  Indeed in this situation, it is possible to pass settings reference to a subbuild.  When you do that, you should take of the classloader.  The ivy task of your subant should not be defined in a different classloader than the parent one.  This can be achieved by using the __loader__ parameter of the antlib declaration, or avoid to reload the ivy antlib in the subbuild (place the taskdef in a target only executed when the antlib is not yet loaded).
+
+
+
+
+
+=== Examples
+
+
+==== Simplest settings
+
+
+[source]
+----
+<ivy:settings />
+----
+
+Use either ${ivy.settings.file} if it exists, or the link:../samples/ivysettings-default.xml[default settings file]
+
+This simplest setting is implicit.
+
+==== Configure with a file
+
+
+[source]
+----
+<ivy:settings file="mysettings.xml" />
+----
+
+
+==== Configure with an url
+
+
+[source]
+----
+<ivy:settings url="http://mysite.com/mysettings.xml" />
+----
+
+
+==== Configure multiple realms which require autentication
+
+
+[source]
+----
+
+<ivy:settings file="path/to/my/ivysettings.xml">
+  <credentials host="myhost.com" realm="My Realm" username="myuser" passwd="mypasswd" />
+  <credentials host="yourhost.com" realm="Your Realm" username="myuser" passwd="myotherpasswd" />
+</ivy:settings> 
+
+----
+
+
+==== Configure 2 different settings
+
+You can use multiple ivy settings during a build. Then every ivy task should specify the settings it uses using the settingsRef attribute.
+
+[source]
+----
+
+ <ivy:settings id="ivy.normal.settings" file="normal_settings.xml" />
+ <ivy:settings id="ivy.release.settings" file="release_settings.xml" />
+
+ <ivy:resolve settingsRef="ivy.normal.settings" />
+ <ivy:resolve settingsRef="ivy.release.settings" />
+
+----
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/use/var.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/use/var.adoc b/asciidoc/use/var.adoc
new file mode 100644
index 0000000..03d3c61
--- /dev/null
+++ b/asciidoc/use/var.adoc
@@ -0,0 +1,28 @@
+
+Sets a variable (by name and value), or set of variables (from file or url) in ivy. 
+
+Variables are case sensitive.
+
+
+Contrary to ant properties, ivy variables are mutable. But a problem with this is that you do not control when 
+variables are substituted, and usually it is done as soon as possible. So changing the value of a variable will
+have no effect if it has already been substituted. Consequently, *using this task is NOT recommended*.
+See link:../reference.html[reference] page for details about ivy variables.
+
+
+
+  
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|name|the name of the variable to set|No
+|value|the value of the variable to set|Yes when using the name attribute
+|file|the filename of the property file to load as ivy variables|One of these, when *not* using the name attribute
+|url|the url from which to read ivy variables
+|prefix|Prefix to apply to variables. A "." is appended to the prefix if not specified.|No
+|settingsRef|A reference to the ivy settings that must be used by this task *__(since 2.0)__*|No, 'ivy.instance' is taken by default.
+|=======
+
+
+	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/yed.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/yed.adoc b/asciidoc/yed.adoc
new file mode 100644
index 0000000..7b2b174
--- /dev/null
+++ b/asciidoc/yed.adoc
@@ -0,0 +1,46 @@
+
+link:http://www.yworks.com/en/products_yed_about.htm[yEd] is a free graph editor, benefiting from
+all the automatic layouts of yFiles. Ivy is able to generate graphs which are readable by yEd.
+
+The graphs generated by ivy are not layed out (in fact it's why we use yEd), so you have to follow a simple sequence of steps to layout the generated graphs.
+
+
+=== Preparation
+
+First you have to generate a graphml file. Simply call the report task (see ivy use documentation) for that.
+
+
+=== Step 1: open the graphml file
+
+Launch yEd editor, and open the graphml file generated by the report task. You should obtain something like this:
+
+image::images/yed-step1.jpg[]
+
+
+
+=== Step 2: ask yEd to adjust nodes size
+
+
+image::images/yed-step2.jpg[]
+image::images/yed-step3.jpg[]
+image::images/yed-step3-2.jpg[]
+
+
+
+=== Step 3: ask yEd to layout nodes
+
+
+image::images/yed-step4.jpg[]
+image::images/yed-step5.jpg[]
+image::images/yed-step6.jpg[]
+
+That's all, you should have obtained something like this:
+
+image::images/yed-step7.jpg[]
+
+Note that this is only one possibility, test the available layouts yourself, you could find one better in your case.
+Once you have layed out the graph, you can either save it with in the same file (but be warned that it will be overwritten at next ivy report call), or another file, export it to jpg, gif, svg, etc. (see link:http://www.yworks.com/en/products_yed_about.htm[yEd] site for details).
+
+
+
+	
\ No newline at end of file