title: How does Apache Ivy resolve the variables in artifact patterns provided in the ivysettings.xml file?
body: <p>If my ivysettings.xml file includes:</p>
  
  <pre><code>&lt;url name="com.springsource.repository.bundles.external"&gt;
      &lt;ivy pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&gt;
      &lt;artifact pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&gt;
  &lt;/url&gt;
  </code></pre>
  
  <p>And my ivy.xml file includes:</p>
  
  <pre><code>&lt;dependency org="org.junit"
              name="com.springsource.org.junit" 
              rev="4.4.0" /&gt;
  </code></pre>
  
  <p>From when I ran Ivy, I can tell that this resolves to: <a href="http://repository.springsource.com/ivy/bundles/external/org.junit/com.springsource.org.junit/4.4.0/com.springsource.org.junit-sources-4.4.0.jar" rel="nofollow noreferrer">http://repository.springsource.com/ivy/bundles/external/org.junit/com.springsource.org.junit/4.4.0/com.springsource.org.junit-sources-4.4.0.jar</a></p>
  
  <p>So the resolutions go:</p>
  
  <pre><code>[organization] =&gt; "org.junit"
  [module] =&gt; "com.springsource.org.junit"
  [revision] =&gt; "4.4.0"
  [artifact] =&gt; "com.springsource.org.junit-sources"
  [ext] =&gt; "jar"
  </code></pre>
  
  <p>I see how ivy resolves the [organisation], [module], and [revision] in the URL pattern (duh), but how does it resolve [artifact] and [ext]?</p>
  
  <p>The <a href="http://ant.apache.org/ivy/history/trunk/resolver/url.html" rel="nofollow noreferrer">documentation on the URL resolver</a> seems to be lacking.</p>