////
   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

     https://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.
////

Display a dependency tree on the console.

This is a link:../use/postresolvetask{outfilesuffix}[post resolve task], with all the behaviour and attributes common to all post resolve tasks.

Please prefer the use of retrieve + standard Ant path creation, which make your build more independent from Ivy (once artifacts are properly retrieved, Ivy is not required any more).

== Attributes

[options="header",cols="15%,50%,35%"]
|=======
|Attribute|Description|Required
|showEvicted|specify if evicted modules should be printed|No. Defaults to `false`
|conf|a comma separated list of the configurations to take in consideration in the  dependency tree|No. Defaults to the configurations resolved by the last resolve call, or `*` if no resolve was explicitly called
|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 settings)
|settingsRef|A reference to Ivy settings that must be used by this task (*__since 2.0__*)|No, defaults to `ivy.instance`.
|overwrite|Overwrite the value of the property if it already exist (*__since 2.0__*).  Before 2.0, the properties were always overwritten.|No, `false` by default.
|=======

== Example

Suppose we have two dependencies one called __mydep__ in revision 2.0 and one called __myotherdependency__ in revision 2.2.
__mydep__ has a transitive dependency on __mytransitivedependency__ in revision 2.2.

Then:

[source,xml]
----
<dependencytree/>
----

will display the following tree in the console:

[source]
----
Dependency tree for foobar
+- org#mydep;2.0
   \- org#mytransitivedependency;2.2
\- org#myotherdependency;2.2");
----
