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:57 UTC

[14/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/settings/triggers.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/settings/triggers.adoc b/asciidoc/settings/triggers.adoc
new file mode 100644
index 0000000..60ed6a5
--- /dev/null
+++ b/asciidoc/settings/triggers.adoc
@@ -0,0 +1,551 @@
+
+*Tag:* triggers
+*__since 1.4__*
+
+Defines a list of triggers to activate on some Ivy events.
+
+A trigger is an action which is performed whenever a particular event occurs.
+Ivy supports 3 type of triggers out of the box: 
+
+
+* ant-call +
+ calls a target in the same build as the original one whenever a particular event occurs. 
+
+* ant-build +
+ calls an ant build which may be in another ant build script. 
+
+* log +
+ echo a message, usually in a file
+
+
+If you want to use a different trigger, you can link:../extend.html[implement your own].
+
+The following events are available in Ivy:
+
+[options="header"]
+|=======
+|Name|Attributes|Description
+|pre-resolve|
+          
+            
+* organisation +
+the organisation of the module for which the dependencies will be resolved
+            
+* module +
+the name of the module for which the dependencies will be resolved
+            
+* revision +
+the revision of the module for which the dependencies will be resolved
+            
+* conf +
+comma separated list of configurations which will be resolved
+          
+        |Fired at the beginning of the resolve process, before module dependencies and transitive dependencies are resolved.
+|pre-resolve-dependency|
+          
+            
+* organisation +
+the organisation of the dependency resolved
+            
+* module +
+the name of the dependency resolved
+            
+* req-revision +
+the requested revision for the dependency *__since 2.0__* (provided for consistency with post-resolve-dependency)
+            
+* req-revision-default +
+the default requested revision constraint for the dependency *__since 2.0__*
+            
+* req-revision-dynamic +
+the requested revision dynamic constraint for the dependency *__since 2.0__*
+            
+* revision +
+the requested revision for the dependency
+            
+* resolver +
+the name of the resolver used to resolve the dependency
+          
+        |Fired before each dependency is resolved. In this case resolved means resolving the actual revision if the requested revision is a version constraint and not a static version, and downloading all necessary metadata information.
+|post-resolve-dependency|
+          
+            
+* organisation +
+the organisation of the dependency resolved
+            
+* module +
+the name of the dependency resolved
+            
+* req-revision +
+the requested revision for the dependency *__since 2.0__*
+            
+* req-revision-default +
+the default requested revision constraint for the dependency *__since 2.0__*
+            
+* req-revision-dynamic +
+the requested revision dynamic constraint for the dependency *__since 2.0__*
+            
+* revision +
+the revision of the dependency resolved, or the requested revision if the resolution was not successful
+            
+* resolved +
+true if the resolution was successful, false otherwise
+            
+* duration +
+the time elapsed to resolve the dependency (in ms) *__since 2.0__*
+            
+* resolver +
+the name of the resolver used to resolve the dependency
+            
+* any extra attribute +
+all extra attributes found on the info tag of the resolved dependency are available *__since 2.0__*
+          
+        |Fired after each dependency is resolved
+|post-resolve|
+          
+            
+* organisation +
+the organisation of the module for which the dependencies have been resolved
+            
+* module +
+the name of the module for which the dependencies have been resolved
+            
+* revision +
+the revision of the module for which the dependencies have been resolved
+            
+* conf +
+comma separated list of configurations resolved
+            
+* resolve-id +
+the identifier of the resolution process *__since 2.0__*
+            
+* nb-dependencies +
+total number of dependencies, including transitive and evicted ones *__since 2.0__*
+            
+* nb-artifacts +
+total number of artifacts resolved, excluding metadata artifacts *__since 2.0__*
+            
+* resolve-duration +
+the time (in ms) elapsed to resolve dependencies, before dowloading artifacts *__since 2.0__*
+            
+* download-duration +
+the time (in ms) elapsed to download all artifacts, excluding metadata artifacts downloaded during the first phase of the resolution process *__since 2.0__*
+            
+* download-size +
+the total size (in bytes) of all downloaded artifacts, excluding metadata artifacts. Only artifacts actually downloaded (not in cache or used from their original location) are considered *__since 2.0__*
+          
+        |Fired at the end of the resolve process, when all module dependencies have been resolved
+|pre-download-artifact|
+          
+            
+* organisation +
+the organisation of the artifact which is about to be downloaded
+            
+* module +
+the name of the module of the artifact which is about to be downloaded
+            
+* revision +
+the revision of the the artifact which is about to be downloaded
+            
+* artifact +
+the name of the the artifact which is about to be downloaded
+            
+* type +
+the type of the the artifact which is about to be downloaded
+            
+* ext +
+the extension of the the artifact which is about to be downloaded
+            
+* metadata +
+true if the artifact to be downloaded is a metadata artifact, false for published artifacts *__since 2.0__*
+            
+* resolver +
+the name of the resolver used to download the artifact
+            
+* origin +
+the origin location from which it will be downloaded
+            
+* local +
+true if it's a local artifact, false otherwise
+          
+        |Fired before an artifact is downloaded from a repository to the cache
+|post-download-artifact|
+          
+            
+* organisation +
+the organisation of the artifact which was just downloaded
+            
+* module +
+the name of the module of the artifact which was just downloaded
+            
+* revision +
+the revision of the the artifact which was just downloaded
+            
+* artifact +
+the name of the the artifact which was just downloaded
+            
+* type +
+the type of the the artifact which was just downloaded
+            
+* ext +
+the extension of the the artifact which was just downloaded
+            
+* metadata +
+true if the downloaded artifact is a metadata artifact, false for published artifacts *__since 2.0__*
+            
+* resolver +
+the name of the resolver used to download the artifact
+            
+* origin +
+the origin location from which it was downloaded
+            
+* local +
+true if it's a local artifact, false otherwise
+            
+* size +
+the size in bytes of the downloaded artifact
+            
+* duration +
+the time elapsed to download the artifact (in ms) *__since 2.0__*
+            
+* file +
+the file to which it has been downloaded
+          
+        |Fired after an artifact has been downloaded from a repository to the cache
+|pre-retrieve 
+*__since 2.0__*|
+          
+            
+* organisation +
+the organisation of the module for which the dependencies will be retrieved
+            
+* module +
+the name of the module for which the dependencies will be retrieved
+            
+* revision +
+the revision of the module for which the dependencies will be retrieved
+            
+* conf +
+comma separated list of configurations which will be retrieved
+            
+* symlink +
+true if Ivy will use symbolic links instead of copies on supported platforms, false otherwise
+            
+* sync +
+true if the retrieve process will be performed in sync mode, false otherwise
+          
+        |Fired at the beginning of the retrieve process.
+|post-retrieve 
+*__since 2.0__*|
+          
+            
+* organisation +
+the organisation of the module for which the dependencies have been retrieved
+            
+* module +
+the name of the module for which the dependencies will be retrieved
+            
+* revision +
+the revision of the module for which the dependencies have been retrieved
+            
+* conf +
+comma separated list of configurations which have been retrieved
+            
+* symlink +
+true if Ivy used symbolic links instead of copies on supported platforms, false otherwise
+            
+* sync +
+true if the retrieve process has been performed in sync mode, false otherwise
+            
+* duration +
+the time elapsed in ms during the retrieve process
+            
+* size +
+the total size of artifacts which have actually been copied (or symlinked)
+            
+* nbCopied +
+the number of artifacts copied or symlinked
+            
+* nbUptodate +
+the number of artifacts which were already present and up to date at the destination location
+          
+        |Fired at the end of the retrieve process.
+|pre-retrieve-artifact 
+*__since 2.1__*|
+          
+            
+* organisation +
+the organisation of the artifact which is about to be retrieved
+            
+* module +
+the name of the module of the artifact which is about to be retrieved
+            
+* revision +
+the revision of the the artifact which is about to be retrieved
+            
+* artifact +
+the name of the the artifact which is about to be retrieved
+            
+* type +
+the type of the the artifact which is about to be retrieved
+            
+* ext +
+the extension of the the artifact which is about to be retrieved
+            
+* metadata +
+true if the retrieved artifact is a metadata artifact, false for published artifacts 
+            
+* size +
+the size in bytes of the retrieved artifact
+            
+* from +
+the absolute path from which it will be retrieved (usually a location in cache)
+            
+* to +
+the absolute path to which it will be retrieved
+          
+        |Fired before an artifact is retrieved from the cache to a local location
+|post-retrieve-artifact 
+*__since 2.1__*|
+          
+            
+* organisation +
+the organisation of the artifact which has just been retrieved
+            
+* module +
+the name of the module of the artifact which has just been retrieved
+            
+* revision +
+the revision of the the artifact which has just been retrieved
+            
+* artifact +
+the name of the the artifact which has just been retrieved
+            
+* type +
+the type of the the artifact which has just been retrieved
+            
+* ext +
+the extension of the the artifact which has just been retrieved
+            
+* metadata +
+true if the retrieved artifact is a metadata artifact, false for published artifacts 
+            
+* size +
+the size in bytes of the retrieved artifact
+            
+* from +
+the absolute path from which it has just been retrieved (usually a location in cache)
+            
+* to +
+the absolute path to which it has just been retrieved
+          
+        |Fired after an artifact is retrieved from the cache to a local location
+|pre-publish-artifact 
+*__since 2.0__*|
+          
+            
+* organisation +
+the organisation of the artifact which is about to be published
+            
+* module +
+the name of the module of the artifact which is about to be published
+            
+* revision +
+the revision of the the artifact which is about to be published
+            
+* artifact +
+the name of the the artifact which is about to be published
+            
+* type +
+the type of the the artifact which is about to be published
+            
+* ext +
+the extension of the the artifact which is about to be published
+            
+* resolver +
+the name of the resolver into which the artifact is about to be published
+            
+* file +
+the absolute path of the source file for the artifact
+            
+* overwrite +
+"true" if the new data will overwrite existing artifacts, "false" otherwise
+          
+        |Fired before an artifact is published into a repository
+|post-publish-artifact 
+*__since 2.0__*|
+          
+            
+* organisation +
+the organisation of the artifact that was published
+            
+* module +
+the name of the module of the artifact that was published
+            
+* revision +
+the revision of the the artifact that was published
+            
+* artifact +
+the name of the the artifact that was published
+            
+* type +
+the type of the the artifact that was published
+            
+* ext +
+the extension of the the artifact that was published
+            
+* resolver +
+the name of the resolver into which the artifact was published
+            
+* file +
+the absolute path of the source file for the artifact
+            
+* overwrite +
+"true" if the new data overwrote existing artifacts, "false" otherwise
+            
+* status +
+"successful" if the artifact published successfully; "failed" if the artifact failed to publish, or if the status is unknown
+          
+        |Fired after an artifact is published into a repository.  Note that this event is fired whether or not the publication succeeded.  The "status" property can be checked to verify success.
+|=======
+
+
+
+The child tag used for the dependency resolver must be equal to a name of a trigger type (either built-in or added with the typedef tag).
+
+
+== Child elements
+
+
+[options="header"]
+|=======
+|Element|Description|Cardinality
+|any trigger|adds a trigger to the list of registered triggers|1..n
+|=======
+
+
+
+== Built-in Triggers
+
+Ivy comes with 3 built-in triggers: 
+
+
+[options="header",cols="15%,50%"]
+|=======
+|Name|Description
+|ant-build|Triggers an ant build. Note that by default the ant build is triggered only once per build file, the property onlyonce can be set to false to change this.
+|ant-call|Calls a target in the current ant build.
+|log|Logs a message on the console or in a log file.
+|=======
+
+
+
+
+== [[common]]Common attributes
+
+All triggers share some common attributes detailed here.
+
+Among these attributes, you will find how to select when the trigger should be performed. You have to provide an event name, which is simple, but you can also use a filter expression. The syntax for this expression is very simple and limited: 
+you can use the = operator to compare an attribute (left operande) with a value (right operande).
+you can use AND OR NOT as boolean operators
+you cannot use parenthesis to change the precedence
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|name|the name of the trigger for identification purpose only|Yes
+|event|the name of the event on which the trigger should be performed|Yes
+|filter|a filter expression used to restrict when the trigger should be performed|No, defaults to no filter
+|=======
+
+
+
+== Examples
+
+
+[source]
+----
+
+<triggers>
+    <ant-build antfile="${ivy.settings.dir}/[module]/build.xml" target="publish"
+           event="pre-resolve-dependency" filter="revision=latest.integration"/>
+</triggers>
+
+----
+
+Triggers an ant build of the ant file ${ivy.settings.dir}/[module]/build.xml (where [module] is replaced by the name of the dependency resolved) with the target "publish", just before resolving a dependency with a latest.integration revision.
+Note that by default the ant build is triggered only once per build file. See below to see how to trigger the build more than once.
+
+'''
+
+
+[source]
+----
+
+<triggers>
+    <ant-build antfile="${ivy.settings.dir}/[module]/build.xml" target="publish"
+           event="pre-resolve-dependency" filter="revision=latest.integration"
+           onlyonce="false" />
+</triggers>
+
+----
+
+Same as before, but this time the builds will be triggered as many time as the dependency is resolved, instead of only once.
+
+'''
+
+
+[source]
+----
+
+<triggers>
+    <ant-call target="unzip" prefix="dep"
+          event="post-download-artifact" filter="type=zip AND status=successful"/>
+</triggers>
+
+----
+
+Triggers an ant call of the target unzip just after downloading a zip artifact, prefixing all parameters to the target with 'dep'.
+Here is how the target can look like:
+
+[source]
+----
+
+<target name="unzip">
+     <echo>
+        unzipping artifact: 
+        organisation=${dep.organisation} 
+        module=${dep.module} 
+        revision=${dep.revision}
+        artifact=${dep.artifact}
+        type=${dep.type}
+        ext=${dep.ext}
+        origin=${dep.origin}
+        local=${dep.local}
+        size=${dep.size}
+        file=${dep.file}
+     </echo>
+     <mkdir dir="${basedir}/out"/>
+     <unzip src="${dep.file}" dest="${basedir}/out"/>
+</target>
+
+----
+
+
+'''
+
+
+[source]
+----
+
+<triggers>
+    <log file="ivy.log" 
+          message='downloaded "${origin}" to "${file}" (${duration}ms - ${size}B)'
+          event="post-download-artifact" filter="status=successful"/>
+</triggers>
+
+----
+
+Logs any successful artifact download, with information on the source and destination, and details on download size and duration.
+
+The file attribute is optional, the log trigger will output messages to console if it isn't provided.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/settings/typedef.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/settings/typedef.adoc b/asciidoc/settings/typedef.adoc
new file mode 100644
index 0000000..7aacd45
--- /dev/null
+++ b/asciidoc/settings/typedef.adoc
@@ -0,0 +1,20 @@
+
+*Tag:* typedef
+
+
+
+Defines a new type in ivy. Useful to define new dependency resolvers, in particular, but also latest strategies.
+See link:../extend.html[how to write and plug your own dependency resolver] for details.
+
+== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Attribute|Description|Required
+|name|the name of the type to define. This name is then used as an xml tag.|Yes
+|classname|the fully qualified class name of the type to define.|Yes
+|=======
+
+
+	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/settings/version-matchers.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/settings/version-matchers.adoc b/asciidoc/settings/version-matchers.adoc
new file mode 100644
index 0000000..e31632d
--- /dev/null
+++ b/asciidoc/settings/version-matchers.adoc
@@ -0,0 +1,121 @@
+
+*Tag:* version-matchers
+
+Defines a list of version matchers. *__since 1.4__* 
+
+The child tag used for the version matcher must be equal to a name of a report outputter type (added with the typedef tag).
+
+A version matcher is used to evaluate if a dependency version constraint matches a dependency version.
+
+
+== Attributes
+
+
+[options="header",cols="15%,50%,35%"]
+|=======
+|Descrition|Required
+|usedefaults|when set to true, includes the built-in version matchers (Latest, Sub Revision, and Version Ranger Matcher). Exact Revision Matcher is always included|No, defaults to false
+|=======
+
+
+== Child elements
+
+
+[options="header"]
+|=======
+|Element|Description|Cardinality
+|any version matcher|adds a version matcher to the list of available ones|0..n
+|=======
+
+
+
+== Built-in Version Matchers
+
+
+=== Exact Revesion Matcher
+
+A matcher that matches a dependency revision id to the module revision id using simple string equality.
+
+
+=== Sub Revision Matcher
+
+A matcher that matches all revisions starting with a specific prefix. The syntax is: [prefix]+
+
+
+[options="header"]
+|=======
+|Revision|Matches
+|1.0.+|all revisions starting with '1.0.', like 1.0.1, 1.0.5, 1.0.a
+|1.1+|all revisions starting with '1.1', like 1.1, 1.1.5, but also 1.10, 1.11
+|=======
+
+
+
+=== Latest (Status) Matcher
+
+
+A matcher that matches versions based on their status. The predefined statuses in Ivy are 'release', 'milestone' and 'integration'. It's possible to define your own statuses, see link:../settings/statuses.html[statuses] for more details.
+
+
+[options="header"]
+|=======
+|Revision|Matches
+|latest.integration|all versions
+|latest.milestone|all modules having at least 'milestone' as status
+|latest.release|all modules having at least 'release' as status
+|latest.[any status]|all modules having at least the specified status
+|=======
+
+
+
+=== Version Range Matcher
+
+
+Range types are exhaustively listed by example in the table below.
+
+
+[options="header"]
+|=======
+|Revision|Matches
+| [1.0,2.0] | all versions greater or equal to 1.0 and lower or equal to 2.0
+| [1.0,2.0[ | all versions greater or equal to 1.0 and lower than 2.0
+| ]1.0,2.0] 
+| [1.0,) | all versions greater or equal to 1.0 
+| ]1.0,) | all versions greater than 1.0
+| (,2.0] | all versions lower or equal to 2.0
+| (,2.0[ | all versions lower than 2.0 
+|=======
+
+
+
+=== Version Pattern Matcher
+
+
+The version pattern matcher allows for more flexibility in pattern matching at the cost of adding a matcher declaration in Ivy settings.  A simple example is given below.
+
+
+==== Settings.xml
+
+
+[source]
+----
+
+<pattern-vm>
+  <match revision="foo" pattern="${major}\.${minor}\.\d+" args="major, minor" matcher="regexp" />
+</pattern-vm>
+
+----
+
+
+==== Ivy.xml
+
+
+[source]
+----
+
+<dependency org="acme" name="tool" rev="foo(1, 3)" />
+
+----
+
+The version pattern matcher may contain more than one match element.  The matcher will attempt to match a dependency revision against each match in sequence, checking the revision tag (e.g. foo(..)) and then the pattern.
+Matcher types may be one of "regexp", "exact", "glob", or "exactOrRegexp".  Glob pattern matching requires Apache ORO 2.0.8 or higher to be on the classpath.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/standalone.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/standalone.adoc b/asciidoc/standalone.adoc
new file mode 100644
index 0000000..423a289
--- /dev/null
+++ b/asciidoc/standalone.adoc
@@ -0,0 +1,171 @@
+
+Ivy can be used as a standalone program very easily. All you need is a Java 5+ runtime environment (JRE)!
+
+Then here is how to call it:
+
+[source]
+----
+
+java -jar ivy.jar -?
+
+----
+
+It will display an online help like this:
+
+[source]
+----
+
+==== settings options
+ -settings <settingsfile>     use given file for settings
+ -cache <cachedir>            use given directory for cache
+ -novalidate                  do not validate ivy files against xsd
+ -m2compatible                use maven2 compatibility
+
+==== resolve options
+ -ivy <ivyfile>               use given file as ivy file
+ -dependency <organisation> <module> <revision>
+                              use this instead of ivy file to do the rest of the
+                               work with this as a dependency.
+ -confs <configurations>      resolve given configurations
+
+==== retrieve options
+ -retrieve <retrievepattern>  use given pattern as retrieve pattern
+ -sync                        use sync mode for retrieve
+
+==== cache path options
+ -cachepath <cachepathfile>   outputs a classpath consisting of all dependencies
+                               in cache (including transitive ones) of the given
+                               ivy file to the given cachepathfile
+
+==== deliver options
+ -deliverto <ivypattern>      use given pattern as resolved ivy file pattern
+
+==== publish options
+ -publish <resolvername>      use given resolver to publish to
+ -publishpattern <artpattern> use given pattern to find artifacts to publish
+ -revision <revision>         use given revision to publish the module
+ -status <status>             use given status to publish the module
+
+==== http auth options
+ -realm <realm>               use given realm for HTTP AUTH
+ -host <host>                 use given host for HTTP AUTH
+ -username <username>         use given username for HTTP AUTH
+ -passwd <passwd>             use given password for HTTP AUTH
+
+==== launcher options
+ -main <main>                 the FQCN of the main class to launch
+ -args <args>                 the arguments to give to the launched process
+ -cp <cp>                     extra classpath to use when launching process
+
+==== message options
+ -debug                       set message level to debug
+ -verbose                     set message level to verbose
+ -warn                        set message level to warn
+ -error                       set message level to error
+
+==== help options
+ -?                           display this help
+ -deprecated                  show deprecated options
+
+----
+
+*__since 1.3__* System properties are included as ivy variables, so you can easily define an ivy variable like this:
+
+[source]
+----
+
+java -Dmyivyvar=myvalue org.apache.ivy.Main [parameters]
+
+----
+
+
+== Examples
+
+
+[source]
+----
+
+java -jar ivy.jar
+
+----
+
+calls ivy with default configuration using ivy.xml in the current dir
+
+'''
+
+
+[source]
+----
+
+java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml
+
+----
+
+calls ivy with given ivysettings file using given ivy file
+
+'''
+
+*__since 1.3__*
+
+[source]
+----
+
+java -jar ivy.jar -settings path/to/myivysettings.xml -dependency apache commons-lang 2.0
+
+----
+
+calls ivy with given ivysettings file and resolve apache commons-lang 2.0. 
+
+This is equivalent to:
+
+[source]
+----
+
+java -jar ivy.jar -settings path/to/myivysettings.xml -ivy ivy.xml
+
+----
+
+with ivy.xml like this:
+
+[source]
+----
+
+<ivy-module version="1.0">
+  <info organisation="org"
+       module="standalone"
+       revision="working"
+   />
+  <dependencies>
+    <dependency org="apache" name="commons-lang" rev="2.0" conf="default->*"/>
+  </dependencies>
+</ivy-module>
+
+----
+
+
+'''
+
+*__since 1.3__*
+
+[source]
+----
+
+java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml -cachepath mycachefile.txt
+
+----
+
+calls ivy with given ivysettings file and resolve the dependencies found in the given ivy file, and then output the classpath of resolved artifacts in cache in a file. This file can then be used to define a classpath corresponding to all the resolved dependencies for any java program. 
+
+
+'''
+
+*__since 1.4__*
+
+[source]
+----
+
+java -jar ivy.jar -settings path/to/myivysettings.xml -dependency bar foo 2.0 -main org.bar.foo.FooMain
+
+----
+
+calls ivy with given ivysettings file and resolve bar foo 2.0, and then run org.foo.FooMain class with the resolved artifacts as classpath
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/ant.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/ant.css b/asciidoc/style/ant.css
new file mode 100644
index 0000000..3c25d3b
--- /dev/null
+++ b/asciidoc/style/ant.css
@@ -0,0 +1,50 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+table.ant  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ant thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ant tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ant th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ant td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ant-att {
+    width:15%;
+}
+th.ant-desc {
+    width:50%;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/color.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/color.css b/asciidoc/style/color.css
new file mode 100644
index 0000000..51333f7
--- /dev/null
+++ b/asciidoc/style/color.css
@@ -0,0 +1,159 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+body  {
+  background-color: #5a7418;
+}
+
+#body  {
+  color: #000;
+  background-color: #fff;
+}
+
+h1, h2, h3, h4, h5, h6, .toc-title {
+  color: #7a9438;
+}
+h2 {
+  color: #fff;
+  background-color: #7a9438;
+}
+h1 {
+  color: #7a9438;
+  background-color: #fff;
+  background: none;
+}
+a:link {
+  color: #7a9438;
+}
+a:visited {
+  color: #7a9438;
+}
+a:hover, a:active {
+  color: #7a9438;
+}
+blockquote {
+  color: #696969;
+}
+pre {
+  background-color: #eee;
+  border: 1px solid #ddd;
+}
+.form-item label {
+  color: #7a9438;
+}
+.item-list .title {
+  color: #7a9438;
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#header  {
+  background-color: #ffffff;
+  /* border: 3px solid #9ebf47; */
+}
+
+#top-menu {
+  background-color:#7a9438;
+  border-top: 3px solid #9ebf47;
+  border-bottom: 3px solid #9ebf47;
+}
+
+#search .form-text, #search .form-submit {
+  border: 1px solid #7a9438;
+}
+#search .form-submit {
+  background-color: #9ebf47;
+}
+
+.block h2 {
+  color: #000;
+  background-color: #eee; 
+}
+
+.block .content {
+  background-color: #fff;
+  border: 1px solid #eee;
+}
+/*
+.block h2 {
+  color: #000;
+}
+*/
+
+#navcontainer {
+	background-color:#7a9438;
+}
+
+#nav {
+	background-color:#7a9438;
+}
+
+#nav ul {
+	background-color:#7a9438;
+	border-top: 1px solid #7a9438;
+	border-right: 1px solid #7a9438;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0.75em solid #7a9438;
+}
+
+#nav li a {
+	color: #fff;
+}
+
+#nav .title {
+  color: #fff;
+  /*
+  background: #61752c;
+  */
+  background: #7a9438;
+	border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav li li a {
+	background: #fff;
+	color: #7a9438;
+  border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav a:hover,
+#nav a:active {
+	background: #9ebf47;
+}
+
+#forum tr.dark {
+  background: #daeddc;
+}
+
+.postit {
+  background-color: #FFDBA1;
+  border: 1px solid #FFB643;
+  color: #4E3000;
+}
+
+.tip {
+  background-color: #F6FF7F;
+  border: 1px solid #FFB643;
+  color: #4E3000;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/ivy-ref.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/ivy-ref.css b/asciidoc/style/ivy-ref.css
new file mode 100644
index 0000000..ae0fdea
--- /dev/null
+++ b/asciidoc/style/ivy-ref.css
@@ -0,0 +1,84 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+table.ivy-attributes  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-attributes thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-attributes tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-attributes th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-attributes td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-att {
+    width:15%;
+}
+th.ivy-att-desc {
+    width:50%;
+}
+
+table.ivy-children  {
+/*	border:3px solid #6495ed; */
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-children thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-children tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-children th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-children td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-chld {
+    width:15%;
+}
+th.ivy-chld-desc {
+    width:50%;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/nav.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/nav.css b/asciidoc/style/nav.css
new file mode 100644
index 0000000..b59a0c5
--- /dev/null
+++ b/asciidoc/style/nav.css
@@ -0,0 +1,28 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+#navcontainer  {
+    color: white;
+	margin-left: 20px;
+}
+
+
+#navcontainer  a {
+    color: white;
+	text-decoration: none;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/print-style.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/print-style.css b/asciidoc/style/print-style.css
new file mode 100644
index 0000000..48701d2
--- /dev/null
+++ b/asciidoc/style/print-style.css
@@ -0,0 +1,299 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+@import "color.css";
+@import "nav.css";
+@import "xmlverbatim.css";
+@import "ant.css";
+@import "ivy-ref.css";
+@import "shell.css";
+
+#body  {
+  padding: 0;
+}
+#body  {
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+
+/*
+** HTML elements
+*/
+body  {
+  margin: 0;
+  padding: 0;
+  bgcolor: #ffffff;
+}
+body, p, td, li, ul, ol  {
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: small;
+}
+h1, h2, h3, h4, h5, h6, .toc-title {
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+.toc-title {
+  margin: 15px;
+  padding: 10px;
+  font-size: 2em;
+  text-align: center;
+  border: solid 2px;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h1 {
+/*
+  margin-left: 15px;
+  margin-right: 15px;
+  */
+  padding-left: 10px;
+  font-size: 1.6em;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h2 {
+  font-size: 1.4em;
+}
+h3 {
+  font-size: 1.2em;
+}
+h4 {
+  font-size: 1.1em;
+}
+tr.dark td, tr.light td {
+  padding: 0.3em;
+}
+a:link {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:visited {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:hover, a:active {
+  font-weight: bold;
+  text-decoration: underline;
+}
+p {
+  margin: 0 0 1.3em 0;
+  padding: 0;
+}
+blockquote {
+  padding: 0 15px 0 15px;
+  margin: 15px 50px 15px 50px;
+  text-align: left;
+  font-size: 1.2em;
+  line-height: 1.3em;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+pre {
+  padding: 0.75em 1.5em;
+  font-size: 1em;
+}
+.form-item {
+  margin-top: 1em;
+}
+.item-list .title {
+  font-size: 0.85em;
+}
+.hide {
+  display: none
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#home img {
+  padding: 5px 20px 10px 10px;
+}
+.product img {
+  padding: 5px 20px 10px 10px;
+}
+
+#top-menu tr {
+  padding: 0;
+  margin: 0;
+}
+
+#top-menu td {
+  padding: 0;
+  margin: 0;
+}
+
+#search {
+  padding: 0 1em 0 1em;
+  margin: 0;
+}
+#search .form-text, #search .form-submit {
+  padding: 0;
+  margin: 0;
+  font-size: 0.85em;
+}
+#search .form-text {
+  width: 8em;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar-left, #sidebar-right {
+  width: 200px;
+  /* padding in px not ex because IE messes up 100% width tables otherwise */
+  padding: 15px 5px 75px 10px;
+  vertical-align: top;
+}
+#sidebar-left li, #sidebar-right li {
+  font-size: 1em;
+}
+.block h2 {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+} 
+
+.block .content {
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  margin-bottom: 10px;
+}
+
+#main {
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-bottom: 10px;
+  background: transparent url(../images/background.png) center center no-repeat;
+}
+
+.content {
+  padding-top: 10px;
+}
+
+#forum {
+  margin: 15px 0 15px 0;
+}
+#forum table {
+  width: 100%;
+}
+#forum table tr th {
+  text-align: center;
+  font-size: 0.75em;
+}
+#forum table tr th a  {
+  text-decoration: underline;
+}
+#forum table tr th img  {
+  margin: 0;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+}
+#forum td.container a {
+  padding: 20px 0 20px 35px;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+}
+#forum td .links {
+  padding-top: 0.7em;
+  font-size: 0.9em;
+}
+.block-forum h3 {
+  margin-bottom: .5em;
+}
+
+.footer {
+  text-align: center;
+  margin-top: 3pt;
+  margin-bottom: 3pt;
+  font-size: 85%;
+}
+
+#footer-menu td {
+  padding-top: 3px;
+}
+
+.comparison td, .comparison th {
+    text-align: center;
+}
+
+.comment {
+  -moz-border-radius: 5px;
+  border: 1px solid #abc;
+  padding: .5em;
+  margin-bottom: 1em;
+}
+.comment .title {
+  font-size: 1em;
+  padding: 10px 0px 12px 19px;
+  background: transparent url(icon-comment.png) left center no-repeat;
+}
+.comment .new {
+  font-weight: bold;
+  font-size: 1em;
+  margin-left: 2px;
+  color: red;
+}
+.comment .picture {
+  border: 1px solid #fff;
+  float: right;
+  margin: 10px;
+}
+.submitted {
+  color: #999;
+  font-size: 0.79em;
+}
+.since {
+  font-weight: 700;
+  font-style: italic;
+}
+
+.postit {
+  margin:10px;
+  padding:10px;
+  -moz-border-radius:10px;
+  float:right;
+  width:400px;
+}
+
+table.home {
+    text-align:center;
+    color:#6e9244;
+    font-family:verdana, "Lucida Grande", arial, helvetica, sans-serif;
+}
+tr.homeitems {
+    font-size:large;
+}
+tr.homeitems td {
+    padding: 0 0.5cm 0 0.5cm;
+}
+tr.homeitems a:link, a:visited {
+    color: #6e9244; 
+    text-decoration: none;
+}
+tr.homeitems a:hover {
+    text-decoration: underline;
+    background: none !important;
+}
+.home img { border-width:0; }
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/shell.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/shell.css b/asciidoc/style/shell.css
new file mode 100644
index 0000000..1b0fba9
--- /dev/null
+++ b/asciidoc/style/shell.css
@@ -0,0 +1,38 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+/* the class shell is used when a copy of the content of a shell or DOS window is made */
+
+.shell {
+  background-color: black; 
+  color: white; 
+  border: medium gray solid;
+}
+.shell pre {
+  background-color: black; 
+  border: none; 
+  font-size: small; 
+  white-space: pre; /* CSS2 */
+  white-space: -moz-pre-wrap; /* Mozilla */
+  white-space: -hp-pre-wrap; /* HP printers */
+  white-space: -o-pre-wrap; /* Opera 7 */
+  white-space: -pre-wrap; /* Opera 4-6 */
+  white-space: pre-wrap; /* CSS 2.1 */
+  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
+  word-wrap: break-word; /* IE */
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/style.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/style.css b/asciidoc/style/style.css
new file mode 100644
index 0000000..4524ed4
--- /dev/null
+++ b/asciidoc/style/style.css
@@ -0,0 +1,372 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+
+@import "color.css";
+@import "nav.css";
+@import "xmlverbatim.css";
+@import "ant.css";
+@import "ivy-ref.css";
+@import "shell.css";
+@import "tree.css";
+
+/*
+** HTML elements
+*/
+body  {
+  margin: 0;
+  padding: 0;
+  bgcolor: #ffffff;
+}
+#body  {
+  display: table;
+  margin: 8px auto;
+  padding: 0;
+  width: 98%;
+}
+body, p, td, li, ul, ol  {
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: small;
+}
+h1, h2, h3, h4, h5, h6 {
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+h2 {
+/*
+  margin-left: 15px;
+  margin-right: 15px;
+  */
+  padding-left: 10px;
+  font-size: 1.6em;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h3 {
+  font-size: 1.4em;
+}
+h4 {
+  font-size: 1.2em;
+}
+h5 {
+  font-size: 1.1em;
+}
+tr.dark td, tr.light td {
+  padding: 0.3em;
+}
+a:link {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:visited {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:hover, a:active {
+  font-weight: bold;
+  text-decoration: underline;
+}
+p {
+  margin: 0 0 1.3em 0;
+  padding: 0;
+}
+blockquote {
+  padding: 0 15px 0 15px;
+  margin: 15px 50px 15px 50px;
+  text-align: left;
+  font-size: 1.2em;
+  line-height: 1.3em;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+pre {
+  padding: 0.75em 1.5em;
+  font-size: 1em;
+}
+.form-item {
+  margin-top: 1em;
+}
+.item-list .title {
+  font-size: 0.85em;
+}
+.hide {
+  display: none
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#body  {
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+#home img {
+  padding: 5px 20px 10px 10px;
+}
+.product img {
+  padding: 5px 20px 10px 10px;
+}
+
+#top-menu tr {
+  padding: 0;
+  margin: 0;
+}
+
+#top-menu td {
+  padding: 0;
+  margin: 0;
+}
+
+#search {
+  padding: 0 1em 0 1em;
+  margin: 0;
+}
+#search .form-text, #search .form-submit {
+  padding: 0;
+  margin: 0;
+  font-size: 0.85em;
+}
+#search .form-text {
+  width: 8em;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar-left, #sidebar-right {
+  width: 260px;
+  /* padding in px not ex because IE messes up 100% width tables otherwise */
+  padding: 15px 5px 75px 10px;
+  vertical-align: top;
+}
+#sidebar-left li, #sidebar-right li {
+  font-size: 1em;
+}
+.sidebar-title {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  color: #000;
+  background-color: #eee;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+#content {
+  table-layout:fixed;
+}
+.block h2 {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+} 
+
+.block .content {
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  margin-bottom: 10px;
+}
+
+#main {
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-bottom: 10px;
+  background: transparent url(../images/background.png) center center no-repeat;
+}
+
+.content {
+  padding-top: 0px;
+}
+
+#forum {
+  margin: 15px 0 15px 0;
+}
+#forum table {
+  width: 100%;
+}
+#forum table tr th {
+  text-align: center;
+  font-size: 0.75em;
+}
+#forum table tr th a  {
+  text-decoration: underline;
+}
+#forum table tr th img  {
+  margin: 0;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+}
+#forum td.container a {
+  padding: 20px 0 20px 35px;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+}
+#forum td .links {
+  padding-top: 0.7em;
+  font-size: 0.9em;
+}
+.block-forum h3 {
+  margin-bottom: .5em;
+}
+
+#footer-menu td {
+  padding-top: 3px;
+}
+
+.footer {
+  text-align: center;
+  margin-top: 3pt;
+  margin-bottom: 3pt;
+  font-size: 85%;
+}
+
+.comparison td, .comparison th {
+    text-align: center;
+}
+
+.comment {
+  -moz-border-radius: 5px;
+  border: 1px solid #abc;
+  padding: .5em;
+  margin-bottom: 1em;
+}
+.comment .title {
+  font-size: 1em;
+  padding: 10px 0px 12px 19px;
+  background: transparent url(icon-comment.png) left center no-repeat;
+}
+.comment .new {
+  font-weight: bold;
+  font-size: 1em;
+  margin-left: 2px;
+  color: red;
+}
+.comment .picture {
+  border: 1px solid #fff;
+  float: right;
+  margin: 10px;
+}
+.submitted {
+  color: #999;
+  font-size: 0.79em;
+}
+.since {
+  font-weight: 700;
+  font-style: italic;
+}
+
+.postit {
+  margin:10px;
+  padding:10px;
+  -moz-border-radius:10px;
+  float:right;
+  width:400px;
+}
+
+.tip {
+  margin:10px 10px 10px 50px;
+  padding:10px;
+  font-style:italic;
+  -moz-border-radius:10px;
+}
+
+table.home {
+    text-align:center;
+    color:#6e9244;
+    font-family:verdana, "Lucida Grande", arial, helvetica, sans-serif;
+}
+tr.homeitems {
+    font-size:large;
+}
+tr.homeitems td {
+    padding: 0 0.5cm 0 0.5cm;
+}
+tr.homeitems a:link, a:visited {
+    color: #6e9244; 
+    text-decoration: none;
+}
+tr.homeitems a:hover {
+    text-decoration: underline;
+    background: none !important;
+}
+.home img { border-width:0; }
+
+.notice {
+    padding: 15px;
+    border-style:solid;
+    border-width:1px;
+    border-color: #F0D88D;
+    background-color: #FCFCCA;
+    margin: 10px;
+}
+
+table.tableblock {
+    border-collapse: collapse;
+    width: 90%;
+    margin: auto;
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+
+table.tableblock thead {
+	background-color: #DEE4CD;
+	border: 1px solid #7A9437;
+}
+
+table.tableblock th {
+	font-family: monospace;
+	border: 1px solid #7A9437;
+	padding: 5px;
+}
+
+table.tableblock tbody {
+    background-color: #FFFFFF;
+    border: 1px solid #7A9437;
+}
+
+table.tableblock td {
+    border: 1px dotted #7A9437;
+    padding: 5px;
+}
+
+table.tableblock td p:last-child {
+    margin: 0px;
+}
+
+.note {
+	margin: 10px 10px 10px 50px;
+	padding: 10px;
+	font-style: italic;
+	-moz-border-radius: 10px;
+	background-color: #F6FF7F;
+	border: 1px solid #FFB643;
+	color: #4E3000;
+}
+
+.note .title {
+	display:none;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/style/tree.css
----------------------------------------------------------------------
diff --git a/asciidoc/style/tree.css b/asciidoc/style/tree.css
new file mode 100644
index 0000000..a9dce80
--- /dev/null
+++ b/asciidoc/style/tree.css
@@ -0,0 +1,53 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+
+#treemenu { 
+padding-left: 10px; 
+}
+
+.treeview ul{ 
+margin: 0;
+padding: 0;
+}
+
+.treeview li{ 
+background: white url(../images/bullet.gif) no-repeat left center;
+list-style-type: none;
+padding-left: 22px;
+margin-bottom: 3px;
+}
+
+.treeview li.submenu{ 
+background: white url(../images/closed.gif) no-repeat left 1px;
+cursor: hand !important;
+cursor: pointer !important;
+}
+
+.treeview li.collapsable, .treeview li.open { 
+background: white url(../images/open.gif) no-repeat left 1px;
+}
+
+
+.treeview ul.closed { 
+display: none; 
+}
+
+.treeview .submenu ul li{
+cursor: default;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/terminology.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/terminology.adoc b/asciidoc/terminology.adoc
new file mode 100644
index 0000000..67ccd9b
--- /dev/null
+++ b/asciidoc/terminology.adoc
@@ -0,0 +1,155 @@
+
+Here are some terms used in Ivy, with their definitions in Ivy:
+
+
+* link:#organisation[Organisation] +
+
+* link:#module[Module] +
+
+* link:#descriptor[Module Descriptor] +
+
+* link:#artifact[Artifact] +
+
+* link:#type[Type of an artifact] +
+
+* link:#extension[Artifact file name extension] +
+
+* link:#revision[Module Revision] +
+
+* link:#branch[Branch] +
+
+* link:#status[Status of a revision] +
+
+* link:#configurations[Configurations of a module] +
+
+* link:#settings[Ivy Settings] +
+
+* link:#repository[Repository] +
+
+
+
+== Overview
+
+The following [[illustration]]illustration shows all the key terminology in one diagram:
+
+
+
+image::images/ivy-terminology.png[]
+
+
+
+
+== [[organisation]]Organisation
+
+An organisation is either a company, an individual, or simply any group of people that produces software. In principle, Ivy handles only a single level of organisation, meaning that they have a flat namespace in Ivy module descriptors. So, with Ivy descriptors, you can only describe a tree-like organisation structure, if you use a hierarchical naming convention. The organisation name is used for keeping together software produced by the same team, just to help locate their published works.
+
+Often organisations will use their inverted domain name as their organisation name in Ivy, since domain names by definition are unique. A company whose domain name is www.example.com might want to use com.example, or if they had multiple teams, all their organisation names could begin with com.example (e.g. com.example.rd, com.example.infra, com.example.services). The organisation name does neither really have to be an inverted domain name, nor even globally unique, but unique naming is highly recommended. Widely recognized trademark or trade name owners may choose to use their brand name instead.
+
+__Examples: org.apache, ibm, jayasoft__
+
+Note that the Ivy "organisation" is very similar to Maven POM "groupId".
+</dd>
+
+== [[module]]Module
+
+A module is a self-contained, reusable unit of software that, as a whole unit, follows a revision control scheme.
+
+Ivy is only concerned about the module deliverables known as _artifacts_, and the _module descriptor_ that declares them. These deliverables, for each _revision_ of the module, are managed in _repositories_. In other words, to Ivy, a module is a chain of revisions each comprising a descriptor and one or more artifacts.
+
+__Examples: hibernate-entitymanager, ant__
+
+=== [[descriptor]]Module Descriptor
+
+A _module descriptor_ is a generic way of identifying what describes a module: the identifier (organisation, module name, branch and revision), the published artifacts, possible configurations and their dependencies.
+
+The most common module descriptors in Ivy are link:ivyfile.html[Ivy Files], xml files with an Ivy specific syntax, and usually called ivy.xml.
+
+But since Ivy is also compatible with maven 2 metadata format (called pom, for Project Object Model), pom files fall into the category of module descriptors.
+
+And because Ivy accepts pluggable module descriptor parsers, you can use almost whatever you want as module descriptors.
+
+== [[artifact]]Artifact
+
+An artifact is _a single file_ ready for delivery with the publication of a module revision, as a product of development.
+
+Compressed package formats are often preferred because they are easier to manage, transfer and store. For the same reasons, only one or a few artifacts per module are commonly used. However, artifacts can be of any file type and any number of them can be declared in a single module.
+
+In the Java world, common artifacts are Java archives or JAR files. In many cases, each revision of a module publishes only one artifact (like jakarta-log4j-1.2.6.tar.gz, for instance), but some of them publish many artifacts dependending on the use of the module (like apache-ant binary and source distributions in zip, gz and bz2 package formats, for instance).
+
+__Examples: ant-1.7.0-bin.zip, apache-ant-1.7.0-src.tar.gz __
+
+=== [[type]]Type of an artifact
+
+The artifact type is a category of a particular kind of artifact specimen. It is a classification based on the intended purpose of an artifact or _why_ it is provided, not a category of packaging format or _how_ the artifact is delivered.
+
+Although the type of an artifact may (rather accidentally) imply its file format, they are two different concepts. The artifact file name extension is more closely associated with its format. For example, in the case of Java archives the artifact type "jar" indicates that it is indeed a Java archive as per the JAR File specification. The file name extension happens to be "jar" as well. On the other hand, with source code distributions, the artifact type may be "source" while the file name extensions vary from "tar.gz", "zip", "java", "c", or "xml" to pretty much anything. So, the type of an artifact is basically an abstract functional category to explain its purpose, while the artifact file name extension is a more concrete technical indication of its format and, of course, naming.
+
+Defining appropriate artifact types for a module is up to its development organisation. Common choices may include: "jar", "binary", "bin", "rc", "exe", "dll", "source", "src", "config", "conf", "cfg", "doc", "api", "spec", "manual", "man", "data", "var", "resource", "res", "sql", "schema", "deploy", "install", "setup", "distrib", "distro", "distr", "dist", "bundle", etc.
+
+Module descriptors are not really artifacts, but they are comparable to an artifact type, i.e. "descriptor" (an ivy file or a Maven POM).
+
+Electronic signatures or digests are not really artifacts themselves, but can be found with them in repositories. They also are comparable to an artifact type, i.e. "digest" (md5 or sha1).
+
+=== [[extension]]Artifact file name extension
+
+In some cases the artifact type already implies its file name extension, but not always. More generic types may include several different file formats, e.g. documentation can contain tarballs, zip packages or any common document formats.
+
+__Examples: zip, tar, tar.gz, rar, jar, war, ear, txt, doc, xml, html__
+
+== Module [[revision]]Revision and Status
+
+
+=== Module revision
+
+A unique revision number or version name is assigned to each delivered unique state of a module. Ivy can help in generating revision numbers for module delivery and publishing revisions to repositories, but other aspects of revision control, especially source revisioning, must be managed with a separate version control system.
+
+Therefore, to Ivy, a _revision_ always corresponds to _a delivered version of a module_. It can be a public, shared or local delivery, a release, a milestone, or an integration build, an alpha or a beta version, a nightly build, or even a continuous build. All of them are considered revisions by Ivy.
+
+==== __Source revision__
+
+Source files kept under a version control system (like Subversion, CVS, SourceSafe, Perforce, etc.) have a separate revisioning scheme that is independent of the _module revisions_ visible to Ivy. Ivy is unaware of any revisions of a module's source files.
+
+In some cases, the SCM's _source revision_ number could be used also as the _module revision_ number, but that usage is very rare. They are still two different concepts, even if the module revision number was wholly or partially copied from the respective source revision number.
+
+=== [[branch]]Branch
+
+A branch corresponds to the standard meaning of a branch (or sometimes stream) in source control management tools.
+The head, or trunk, or main stream, is also considered as a branch in Ivy.
+
+=== [[status]]Status of a revision
+
+A module's status indicates how stable a module revision can be considered. It can be used to consolidate the status of all the dependencies of a module, to prevent the use of an integration revision of a dependency in the release of your module.
+
+Three statuses are defined by default in Ivy:
+
+
+* *integration*: revisions builded by a continuous build, a nightly build, and so on, fall in this category +
+
+* *milestone*: revisions delivered to the public but not actually finished fall in this category +
+
+* *release*: a revision fully tested and labelled fall in this category +
+
+*__Since 1.4__* This list is link:configuration/statuses.html[configurable] in your settings file.
+
+== [[configurations]]Configurations of a module
+
+A _module configuration_ is a way to use or construct a module. If the same module has different dependencies based on how it's used, those distinct dependency-sets are called its configurations in Ivy.
+
+Some modules may be used in different ways (think about hibernate which can be used inside or outside an application server), and this way may alter the artifacts you need (in the case of hibernate, jta.jar is needed only if it is used outside an application server).
+Moreover, a module may need some other modules and artifacts only at build time, and some others at runtime. All those different ways to use or build a module are called module configurations in ivy. 
+
+For more details on configurations and how they are used in ivy, please refer to the link:concept.html[main concepts page].
+
+== [[settings]]Ivy Settings
+
+Ivy settings files are xml files used to configure ivy to indicate where the modules can be found and how.
+
+==== __History of settings__
+
+__Prior to Ivy 2.0, the settings files were called configuration files and usually named ivyconf.xml. This resulted in confusion between module configurations and Ivy configuration files, so they were renamed to settings files. If you happen to fall on an ivyconf file or something called a configuration file, most of the time it's only unupdated information (documentation, tutorial or article). Feel free to report any problem like this if you find such an inconsistency.__
+
+
+== [[repository]]Repository
+
+What is called a _repository_ in Ivy is a distribution site location where Ivy is able to find your required modules' artifacts and descriptors (i.e. Ivy files in most cases).
+Ivy can be used with complex repositories configured very finely. You can use link:concept.html[Dependency Resolvers] to do so.

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/22bdffb9/asciidoc/textual.adoc
----------------------------------------------------------------------
diff --git a/asciidoc/textual.adoc b/asciidoc/textual.adoc
new file mode 100644
index 0000000..e913e6e
--- /dev/null
+++ b/asciidoc/textual.adoc
@@ -0,0 +1,115 @@
+
+Very often some concepts discussed in Ivy here, and especially those involving modules and dependencies, require to be discussed by text (e-mail, textual doc, console, ...), and so benefit from convention in this area.
+
+The conventions have been adopted with Ivy 2.0 are the following:
+
+[options="header"]
+|=======
+
+|
+a module without revision
+|
+__[organisation]__#__[module]__
+|
+org.apache.ant#ant
+
+|
+a module with revision
+|
+__[organisation]__#__[module]__;__[revision]__
+|
+org.apache.ant#ant;1.7.0
+
+|
+a module with (some) configurations
+|
+__[organisation]__#__[module]__[ __[confs]__ ]
+|
+org.apache.ant#ant[master,compile,build]
+
+|
+a module with revision and (some) configurations
+|
+__[organisation]__#__[module]__;__[revision]__[ __[confs]__ ]
+|
+org.apache.ant#ant;1.7.0[master,compile,build]
+
+|
+a module's artifact
+|
+__[organisation]__#__[module]__!__[artifact]__.__[ext]__(__[type]__)
+|
+org.apache.ant#ant!ant.jar(source)
+
+|
+a module's artifact with revision
+|
+__[organisation]__#__[module]__;__[revision]__!__[artifact]__.__[ext]__(__[type]__)
+|
+org.apache.ant#ant;1.7.0!ant.jar(source)
+
+|=======
+
+
+
+Another usual text representation used is to represent dependencies using a dash followed by greater than sign: ->
+
+To group a set of set of modules, we recommend using curly braces { }
+
+With these conventions, it's easy to give a concise and detailed overview of a set of modules and their dependencies.
+
+For instance:
+
+[source]
+----
+
+#A;2-> { #B;[1.0,1.5] #C;[2.0,2.5] }
+#B;1.4->#D;1.5
+#B;1.5->#D;2.0
+#C;2.5->#D;[1.0,1.6]
+
+----
+
+
+In full words here is how it could be written:
+
+[source]
+----
+
+module A revision 2 depends on module B with the version constraint [1.0,1.5], and on module C with the version constraint [2.0,2.5].
+module B revision 1.4 depends on module D revision 1.5.
+module B revision 1.5 depends on module D revision 2.0.
+module C revision 2.5 depends on module D with the version constraint [1.0,1.6].
+
+----
+
+
+
+As you can see, using text conventions is much more concise. 
+
+Another benefit is that these conventions are usually used in Ivy console output, and can also be used in some cases to be parsed into Ivy objects (we use it for test cases for instance). To make sure text parsing works fine, we recommend using only a limited range of characters for each attributes of your module identifiers.
+
+Here is the recommended characters set for each attribute:
+
+
+* organisation +
+ a-z A-Z 0-9 - / . _ + =
+
+* module +
+ a-z A-Z 0-9 - / . _ + =
+
+* branch +
+ a-z A-Z 0-9 - / . _ + =
+
+* revision +
+ a-z A-Z 0-9 - / . _ + = , [ ] { } ( ) : @
+
+* artifact +
+ a-z A-Z 0-9 - / . _ + =
+
+* extension +
+ a-z A-Z 0-9 - / . _ + =
+
+* type +
+ a-z A-Z 0-9 - / . _ + =
+