Author: maartenc
Date: Fri Oct 23 21:26:10 2009
New Revision: 829247

URL: http://svn.apache.org/viewvc?rev=829247&view=rev
Log:
Added documentation about defaultconf and defaultconfmapping (IVY-1135) (thanks 
to Jon Schneider)

Modified:
    ant/ivy/core/trunk/doc/ivyfile/configurations.html
    ant/ivy/core/trunk/doc/ivyfile/dependencies.html
    ant/ivy/core/trunk/doc/ivyfile/dependency.html

Modified: ant/ivy/core/trunk/doc/ivyfile/configurations.html
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/ivyfile/configurations.html?rev=829247&r1=829246&r2=829247&view=diff
==============================================================================
--- ant/ivy/core/trunk/doc/ivyfile/configurations.html (original)
+++ ant/ivy/core/trunk/doc/ivyfile/configurations.html Fri Oct 23 21:26:10 2009
@@ -29,12 +29,17 @@
 
 A container for configuration elements. If this container is not present, it 
is assumed that the module has one public configuration called 'default'.
 
-<span class="since">since 1.3</span> You can define a new default conf mapping 
on this container by specifying the defaultconfmapping attribute.
+<span class="since">since 2.2</span> You can define the default conf on this 
container by specifying the defaultconf attribute.  This attribute defines the 
conf mapping to use when no conf mapping is specified for a dependency in this 
ivy file.
 
-A default conf mapping is very similar to the defaultconf which can be set on 
the dependencies tag, but it has a slightly different behaviour. 
-The default conf mapping not only defines the conf mapping to use when no conf 
mapping is specified for a dependency in this ivy file, but it also modify the 
way ivy interprets conf mapping with no mapped conf. In this case, Ivy will 
look in the default conf mapping and use the conf mapping defined in the 
default conf mapping for the conf for which there is no mapped conf.
+<span class="since">since 1.3</span> You can define a default conf mapping on 
this container by specifying the defaultconfmapping attribute.
 
-See <a href="../ivyfile/dependency.html#defaultconfmapping">examples on the 
dependency</a> page.
+This attribute modifies the way ivy interprets conf mapping with no mapped 
conf. In this case, Ivy will look in the default conf mapping and use the conf 
mapping defined in the default conf mapping for the conf for which there is no 
mapped conf.
+
+In order to maintain backwards compatibility with Ivy 2.1.0 and earlier, the 
defaultconfmapping also provides one additional function.  If no defaultconf is 
specified (on either the configurations tag or the dependencies tag), the 
defaultconfmapping becomes the default configuration for dependencies in this 
ivy file when no configuration is specified.  In other words, in addition to 
altering the interpretation of individual configurations with no mapping, 
defaultconfmapping also performs exactly like defaultconf in the absence of a 
definition for defaultconf.
+
+If several defaultconfmapping or defaultconf attributes are defined (in the 
configurations tag, one or several in an included configurations file, and/or 
in the dependency tag, then it's only the last definition of each property 
which is taken into account.  The others will have no effect at all.
+
+See <a href="#defaultconfmapping">examples below</a> to clarify the behavior 
of these two attributes together.
 
 <span class="since">since 1.4</span> You can activate a confmappingoverride 
mode for all configurations, in which case the extending configurations will 
override the mappings of the configurations they extend from.
 
@@ -45,6 +50,7 @@
     <tr><th class="ivy-att">Attribute</th><th 
class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr>
 </thead>
 <tbody>
+    <tr><td>defaultconf</td><td>the default conf to use in this ivy file <span 
class="since">since 2.2</span></td><td>No, defaults to no default conf</td></tr>
     <tr><td>defaultconfmapping</td><td>the default conf mapping to use in this 
ivy file <span class="since">since 1.3</span></td>
         <td>No, defaults to no default conf mapping</td></tr>
     <tr><td>confmappingoverride</td><td>true to activate configuration mapping 
override, false otherwise <span class="since">since 1.4</span></td>
@@ -86,6 +92,22 @@
 As you can see, the defaultmappings of the extending configurations are also 
added (although you didn't explicitly defined them)
 
 When you now resolve the conf2 configuration, you'll get the other2 
dependencies of your other-module. 
+
+<h1>Examples involving defaultconf and defaultconfmapping</h1>
+<a name="defaultconfmapping"/>The table below indicates how Ivy interprets the 
conf attribute according to how [[ivyfile/configurations defaultconfmapping]] 
and [[ivyfile/configurations defaultconf]] are set:<table 
class="ivy-attributes"><thead><tr><th>defaultconf</th><th>defaultconfmapping</th><th>conf</th><th>ivy
 interpretation</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td><code>*->*</code></td></tr>
+<tr><td></td><td></td><td>runtime</td><td><code>runtime->runtime</code></td></tr>
+<tr><td></td><td></td><td>test</td><td><code>test->test</code></td></tr>
+<tr><td><code>runtime</code></td><td></td><td></td><td><code>runtime->runtime</code></td></tr>
+<tr><td><code>runtime</code></td><td><code>runtime->*;test->default</code></td><td></td><td>runtime->*</td></tr>
+<tr><td><code>runtime</code></td><td><code>runtime->*;test->default</code></td><td>test</td><td>test->default</td></tr>
+<tr><td></td><td><code>runtime->*;test->default</code></td><td></td><td><code>runtime->*;test->default</code></td></tr>
+<tr><td></td><td><code>runtime->*;test->default</code></td><td>runtime</td><td><code>runtime->*</code></td></tr>
+<tr><td></td><td><code>runtime->*;test->default</code></td><td>test</td><td><code>test->default</code></td></tr>
+</tbody>
+</table>
 </textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>

Modified: ant/ivy/core/trunk/doc/ivyfile/dependencies.html
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/ivyfile/dependencies.html?rev=829247&r1=829246&r2=829247&view=diff
==============================================================================
--- ant/ivy/core/trunk/doc/ivyfile/dependencies.html (original)
+++ ant/ivy/core/trunk/doc/ivyfile/dependencies.html Fri Oct 23 21:26:10 2009
@@ -30,13 +30,14 @@
 Container for dependency elements, used to describe the dependencies of this 
module. 
 If this container is not present, it is assumed that the module has no 
dependency at all.
 
-This container let the possibility to define two very similar things: 
defaultconf and defaultconfmapping.
+This container provides for two similar behaviors.  An overview is given here. 
 (See [[ivyfile/configurations configurations doc page]] for more details about 
these behaviors).
 
-<code>defaultconf</code> exists since Ivy 1.1 and enables to define the 
default conf attribute to use when no conf is defined for a dependency in this 
ivy file. It is only used when no conf mapping is defined, and has no influence 
in other cases.
+<span class="since">since 1.1</span><code>defaultconf</code>Defines the conf 
attribute to use when no conf is defined for a dependency in this ivy file. It 
is only used when no conf mapping is defined, and has no influence in other 
cases.
 
-<code>defaultconfmapping</code> exists since Ivy 1.3 and enables not only to 
define the default conf mapping when no conf is specified for a dependency in 
this ivy file, but it also influence the way conf mapping with no mapped conf 
are interpreted (see [[ivyfile/configurations configurations doc page]] for 
details about this).
+<span class="since">since 1.3</span><code>defaultconfmapping</code> Influences 
the way that a conf mapping with no mapped conf is interpreted.
+
+In Ivy 2.1.0 and earlier, if both defaultconf and defaultconfmapping are 
defined, it's the defaultconfmapping that is used. Since Ivy 2.2.0, these 
attributes can be used together.
 
-Note that if both defaultconf and defaultconfmapping are defined, it's the 
defaultconfmapping that is used. Note also that if several defaultconfmapping 
are defined (one in the configurations tag, one or several in included 
configurations file, and/or one in the dependency tag, then it's only the last 
which is taken into account, the others will have no effect at all.
 <h1>Attributes</h1>
 <table class="ivy-attributes">
 <thead>

Modified: ant/ivy/core/trunk/doc/ivyfile/dependency.html
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/ivyfile/dependency.html?rev=829247&r1=829246&r2=829247&view=diff
==============================================================================
--- ant/ivy/core/trunk/doc/ivyfile/dependency.html (original)
+++ ant/ivy/core/trunk/doc/ivyfile/dependency.html Fri Oct 23 21:26:10 2009
@@ -70,18 +70,7 @@
 <li>Specify one configuration name</li> This means that in this master 
configuration the same dependency configuration is needed (except if a 
defaultconfmapping has been specified in this ivy file, see 
[[ivyfile/configurations configurations]] for details, or table below for 
examples).
 For instance, if the current module has defined a configuration named 
'runtime', and the dependency too, then having an inline mapping configuration 
set to 'runtime' means that in the runtime master configuration the runtime 
dependency configuration is required.
 
-<a name="defaultconfmapping"/>More examples:
-The table below indicates how ivy interpret the conf attribute according to 
how [[ivyfile/configurations defaultconfmapping]] is set:<table 
class="ivy-attributes"><thead><tr><th>defaultconfmapping</th><th>conf</th><th>ivy
 interpretation</th></tr>
-</thead>
-<tbody>
-<tr><td></td><td></td><td><code>*->*</code></td></tr>
-<tr><td></td><td>runtime</td><td><code>runtime->runtime</code></td></tr>
-<tr><td></td><td>test</td><td><code>test->test</code></td></tr>
-<tr><td><code>runtime->*;test->default</code></td><td></td><td><code>runtime->*;test->default</code></td></tr>
-<tr><td><code>runtime->*;test->default</code></td><td>runtime</td><td><code>runtime->*</code></td></tr>
-<tr><td><code>runtime->*;test->default</code></td><td>test</td><td><code>test->default</code></td></tr>
-</tbody>
-</table>
+The <a href="../ivyfile/configurations.html#defaultconfmapping">examples on 
the dependency on the configurations page</a> explain how ivy interprets the 
conf attribute according to how [[ivyfile/configurations defaultconfmapping]] 
and [[ivyfile/configurations defaultconf]] is set.
 <br/>
 <li>Specify a configuration mapping using the '->' operator separating a comma 
separated list of master configurations (left operand) of a comma separated 
list of dependency configurations (right operand).</li>
 A good way to remember which side is for the master configuration (i.e. the 
configuration of the module defining the dependency) and which side is for the 
dependency configuration is to read the '->' as 'depends on'.


Reply via email to